+ Antworten
Seite 1 von 12 1 2 3 11 ... LetzteLetzte
Ergebnis 1 bis 10 von 116
  1. #1
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,458

    Standard Entertainment Steuerung

    so, is Zeit, mein Winter-Projektchen möchte vorstellig werden ...

    bastle schon seit längerer Zeit an einer Entertainment Steuerung. Nun habe ich einmal eine Version, die bereits einige Features erfüllt und auch einigermassen stabil läuft (zur Zeit ist eigentlich nur mehr etwas Finetuning an der Konfiguration angesagt). Das schöne für Euch - ich habe es geschafft, dass man die Steuerung zentral konfigurieren kann und an seine Geräte bzw. Verwendete Verkabelung anpassen kann.

    Mein Ziel war es, eine Steuerung für meine vorhandenen HiFi und andere Entertainment Geräte zu schreiben, die eine Einfache Anpassung an eine geänderte Verkabelung erlaubt. (z.B. nicht 10 Scripts anpassen müssen, nur weil man einen neuen Verstärker oder Fernseher ins System nimmt).
    Weiteres Ziel war eine Entertainment Steuerung zu schreiben, die auch von anderen Leuten verwendet werden kann und die man modular an die persönlichen Bedürfnisse anpassen kann. Das wiederum gibt mir die Hoffnung, das der eine oder andere eine Erweiterung der Steuerung schreibt, die wiederum ich modular einbinden kann...

    Herzstück des ganzen ist wohl die Datei Entertainment_Configuration.ips.php, hier kann man die Konfiguration der Steuerung nach den eigenen Bedürfnissen anpassen. Ich habe die Konfguration eingeteilt in:
    • Geräte: Hier kann man alle physikalischen Geräte definieren inklusive Codes zur Steuerung (IR oder auch TCPIP)
    • Räume: Definition der Räume (Wohnzimmer, Küche, Bad, ...). Über die Definition der Sourcen werden dann die jeweiligen Geräte eingeblendet.
    • Sourcen: Dient zur Definition der Verkabelung, hier kann man verschiedene Sourcen definieren für die man jeweils Input, Switch und Output definieren kann.
    • Kommunikation: Hier definiert man die Art der Kommunikation (welcher Script wird zum Senden und Empfangen von externen Signalen (Infrarot, TCPIP, ...) verwendet. Zusätzlich kann man für jedes Interface alle benötigten Konfigurations-Parameter hier ablegen (IPAdresse, ID Register Variable, ID Module).


    Die Konfiguration ist zugebebenermassen noch immer recht anspruchsvoll, sollte aber von einem Senior IPS‘ler durchaus zu verstehen sein (werde auch noch die einzelnen Controls detailierter beschreiben – ich warte hier mal ab, wie groß überhaupt das Interesse an diesem Ding ist).

    Einige Worte noch zur prinzipiellen Arbeitsweise:
    Für die Räume und Geräte kann man verschiedene Controls definieren, für Räume noch zusätzlich den ControlType Source bzw. RoomPower, für Devices gibts noch speziell den ControlType „DevicePower“. Über eine Source-Auswahl kann man Steuren welche Input/Output Geräte gerade aktiv sind (z.B. Source1 definiert sich mit Input=VideoRecorder, Switch=Verstärker, Output=TV).
    Wird nun ein Raum eingeschalten ermitteln die Steuerung über die aktuelle Source Konfiguration die Geräte Liste und schaltet alle benötigten Geräte ein. Zusätzlich kann man auch noch angeben, das Z.B bei einem Gerät auf einen bestimmten Eingang geschaltet werden soll. Wechselt man nun die Source werden die neuen Geräte eingeschalten und die unbenutzten Geräte werden abgeschalten.

    Umgekehrt funktioniert das auch. Ist ein Raum gerade abgeschaltet und man schaltet den Fernseher z.B über die normale Fernbedienung ein, registriert die Steuerung das und schaltet autom. den Raum ein. Mir war an dieser Stelle wichtig, dass man die einzelnen Schaltbefehle zentral an einer Stelle definieren kann und dass die Steuerung selbstständig überprüft, ob das empfange Signal einem Control/Device zugeordnet werden kann.

    ich supporte zur Zeit folgende Controls:
    • RoomPower: Dient zum Ein/Ausschalten eines kompletten Raumes
    • Source: Dient zur umschalten der verschiedenen Sourcen (TV, Radio, ...)
    • DevicePower: Zum Ein/Ausschalten von Geräten
    • Mute: ermöglicht Stumm schalten von Geräten, wir für einen Raum die Muting Taste im Webfront gedrückt, so ermittelt die Steuerung über die aktuelle Source-Konfiguration welche der aktuell aktiven Geräte ein Muting supported und schaltet das Gerät in den Muting Mode.
    • Volume: Lautstärkeregelung mittels eines “Sliders”, Max/Min Value kann über die Konfiguration eingestellt werden. Man kann in der Konfiguration auch ein Limit angeben, auf diesen Wert ist dann die Eingabe über das Webfront limitiert (nicht so witzig wenn man spät abends versehentlich mal an 95% Marke seines durchaus „potenten“ Verstärkers tippt ...).
    • RemoteControl Source: Dieser ControlType ermöglicht die Einblendung von diversen Fernbedienungen. Die Steuerung sucht sich über die aktuell aktive Source die passende Fernbedienung und blendet sie für den Raum ein. Zusätzlich kann noch ein FernbedienungsType definiert werden, über diesen ist es möglich zwischen verschiedenen Versionen der Fernbedienung für das aktuelle Geräte umzuschalten (Programmwahl, Programmierung, Guide, ...).
    • RemoteControl Volume:Anstelle eines Sliders für die Lautstärkeregelung kann auch eine Fernbedienung benutzt werden, da die Anbindung eines Sliders normalerweise eine bidirekionale Kommuikation erfordert.
    • iRemoteControl Source: Hier kann man spezielle RemoteControls für mobile Engeräte definieren. Es gibt für das iFront einen eigenen „Einsprungspunkt“, für diesen ist dann die SourceControl auf diese Controls verlinkt.
    • iRemoteControl Volume: Selbiges für Volume Controls. Sollte kein passendes iControl gefunden warden, versucht die Steuerung ein normales VolumeControl zu finden.
    • Programm: Mit der Programm Umschaltung ist es möglich zwischen verschiedenene TV und Radio Programmen umzuschalten und das aktuelle Programm im Webfront anzuzeigen. Die Steuerung kann natürlich keine Wunder bewirken, wenn man den diesen ControlType für zB. Ferseher verwendet und dann das Programm über ein internes TV Menu wechselt oder die Programmtasten in einem Menue anderweitig verwendet kann die Steuerung sehr schnell aus Sync kommen. Ich verwende die Programm Steuerung zur Zeit nur für Tuner und Geräte, die ich fast ausschließlich über das Webfront steuere...


    So bin schon gespannt, ob der eine oder andere mit dem Ganzen etwas anfängt oder sogar noch weitere Verbesserungen an den RemoteControls vornimmt ...

    Lg
    Andreas

    [Update 2011-06-17] - Anpassungen an v2.4
    [Update 2012-02-10] Integration in die IPSLibrary
    Geändert von Brownson (04.01.14 um 12:39 Uhr) Grund: Alte Installationsscripts entfernt

  2. #2
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,458

    Standard Installation und Konfiguration

    Geändert von Brownson (17.06.11 um 15:03 Uhr)

  3. #3
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,458

    Standard Interfaces

    Die Interfaces werden dazu verwendet mit der Entertainment Steuerung zu kommunizieren. Alle Schnittstellen (WinLIRC, Sockets, WebFront) laufen über diese Interfaces. Das hat den Vorteil, dass man bei Änderungen an der Steuerung alle Zugriffe/Funktionsaufrufe relative leicht findet...

    Die Kommunikation erfolgt großteils über die Prozeduren Entertainment_SendData und Entertainment_ReceiveData, die die Parameter als Array übergeben bzw. zurückgeben. Der erste Parameter ist immer der Interface-Name, die restlichen sind Kommunikations Parameter – siehe auch meine Example Konfiguration.

    Zur Zeit stehen folgende Interfaces zur Verfügung:
    • Entertainment_Interface: Dieses Script haben alle Variablen (für die eine Möglichkeit zur Änderung im Webfront vorgesehen ist) als ActionScript definiert. Zusätzlich kann dieses Script auch für RegisterVariablen (zb: Socket Kommunikation) und Variablen Events (z.B. WInLIRC) verwendet werden. In diesem Fall sucht sich das Script über die Konfiguration die eigentliche Verarbeitungs Prozedure heraus und leitet die Daten an diese weiter.
    • Entertainment_InterfaceWinLIRC: Wird verwendet, um mit allen Fernbedienungen zu kommunizieren (inklusive derer, die im Webfront eingebettet sind). Wird durch das Interface ein Remote Signal empfangen, dann wird es als erstes an das Entertainment-System weitergeleitet. Meldet das zurück, dass das Signal NICHT verarbeitet werden konnte (weil unbekanntes Signal), wird es gegebenenfalls an den WinLIRC-Server zwecks weiterer Verteilung zurückgereicht (ich habe mein IR-Trans Service so eingestellt, dass Signale NICHT autom. über alle angeschlossenen Slaves verteilt wird). Zusätzlich kann man bei diesem Interface noch angeben, ob Signale von bestimmten Ferbedienungen als „Action“ oder „Info“ behandelt werden sollen. Info bedeutet, dass die Fernbedienung direkt auf das Gerät gerichtet ist und durch WinLIRC/IrTrans nicht weitergeleitet werden muss (z.B. mein Fernseher empfängt die Signale der Fernbedieung direkt, IPS ist in diesem Fall nur Zuhörer, siehe auch Beispiel-Konfiguration).
      Anmerkung:
      Wenn das Gerät direkten Empfang durch die zugehörige Fernbedieung hat (also nicht in einem Schrank oder dergleichen versteckt ist) kann es zu Synchronisations-Problemen kommen, da zB der Fernseher das Signal noch verwerten kann aber IRTrans nicht mehr (wenn eventuell die Fernbedieung nicht direkt auf die Empfänger gerichtet ist oder sehr viel Sonneneinstrahlung ist).
      Weiters habe ich dem WinLIRC noch eine Einfache Möglichkeit zur Übersetzung von IR Signalen verpasst. So ist es zum einen möglich fremde Fernbedienungen an die eigenen Geräte anzulernern (habe es so z.B. eingerichtet, dass eine alte unbenutze Fernbedienung als Steuerung der Zone 2 meines Onkyo Receivers dient. Weiters ist des dadurch möglich ausgehede Signale auf mehrere andere Signale umzuwandeln: z.B das für WinLIRC unbekannte Signal „P1“ wird auf Button „0“ + Button „1“ + Button „OK“ übersetzt.
    • Entertainment_InterfaceOnkyo: Dieses Interface realisiert die Kommunikation der Steuerung mit meinen Onkyo Receiver über TCPIP. Analog kann auch ein Interface zu einem Pioneer oder anderer realisiert werden. Enthält letztendlich nur die Hersteller spezifischen Feinheiten der Steuerung (Build/Extract der Message Header bzw. Commandos). Auch hier habe ich versucht so viel wie möglich allgemein zu halten, um eine Wiederverwendbarkeit zu erhöhen (Proceduren zum überprüfen und herstellen einer Socket Verbindung sind bereits vorhanden und können reused werden ...).
    • Entertainment_NetPlayer: Dieses Interface bindet meinen NetPlayer ein, mit dem man Music Files bzw. Webradios abspielen kann. Die Anbindung des Players an die Entertainment Steuerung erfolgt wieder über diese Interface, zusätzlich hat der Player noch jede Menge eigener Variablen, die unabhängig von der Entertainment Steuerung sind und vom Player direkt angesprochen werden. Die Installation des Players wird ebenfalls durch das Konfigurationsfile getriggert. Es ist möglich für jedes Device noch ein zusätzliches Installation Script zu definieren, dass dann bei der Installation in Entertainment_Installation.ips.php autom. Ausgeführt wird (siehe auch Beispiel Konfiguration wieter unten).
    Geändert von Brownson (19.02.11 um 22:17 Uhr)

  4. #4
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,458

    Standard Controls

    WebFront Fernbedienungen:
    Die RemoteControls werden dazu verwendet, um seine Geräte für das Webfront steueren zu können. Zur Zeit wir als Interface nur WinLIRC unterstützt, Erweiterungen sind aber kein Problem.

    Zur Zeit stehen folgende RemoteControls zur Verfügung:
    • Panasonic VCR (Type Simple, Guide und Watch)
    • Panasonic Bluray
    • Onkyo Tuner
    • Yamaha Tuner
    • Yamaha Volume
    • Philips TV Programm (Type Simple und Advanced)
    • Philips TV Volume
    • NetPlayer (Player, CD Auswahl und Webradio)
    Geändert von Brownson (19.02.11 um 21:29 Uhr)

  5. #5
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,458

    Standard Beispiel Konfiguration

    Habe auch meine eigene Konfguration beigelegt, die man ausprobieren kann, ich habe zur Zeit folgende Verkabelung in Verwendung:
    • Wohnzimmer: Yamaha Receiver, Philips TV,Panasonic VideoRecorder, Tuner(Yamaha), NetPlayer
    • Wellnessbereich: Onkyo Surround Receiver 807 (Main Zone), Projector, Panasonic BluRay, Topfield Kabelreceiver, Panasonic VideoRecorder (den verwende ich mit dem Wohnzimmer gemeinsam), Tuner(Onkyo), NetPlayer
    • Sauna: Onkyo Receiver (Zone 2), Tuner(Onkyo), NetPlayer


    In der Konfigurations Datei sind die IDs der Geräte nicht gesetzt, dadurch funktioniert die Steuerung (fast) zur Gänze, es erfolgt aber keine Kommunikation mit den eigentlichen Geräten (WinLIRC, Onkyo Socket ...). Die Warnungen, die im Log ausgegeben werden kann man ignorieren - die verschwinden, sobald man im Konfigurationsfile Ids für Module angibt bzw. IP_Adressen angibt (eventuell könnte man hier in Zukunft noch die IP-Adressen aus den Modulen autom auslesen).

    Es gibt auch ein File Entertainment_Custom.ips.php, dieses File bietet einem die Möglichkeit die Steuerung an die Feinheiten der eigenen Geräte anzupassen. Es beinhaltet view Call Back Methoden (Before- und AfterReceive bzw. auch Before- und AfterSend, in den Before Prozeduren ist es möglich das Verarbeiten/Senden durch einen Boolean Rückgabewert noch zu unterbinden). Ich habe hier meinen Yamaha Receiver etwas „aufgepeppt“, da mein Receiver z.B. keine Muting Funktion unterstützt, ich diese aber im Webfront zur Verfügung haben wollte, schalte ich im Falle eines Mutings Befehls meinen Receiver auf den Phone Eingang und danach wieder zurück auf die ursprüngliche Source.
    Weiters habe ich auf diese Weise noch die die Stationstasten für meinen Yamaha realisiert, da er nur über die Tuner Tasten Preset Last/Next verfügt.

    Habe mir auch noch einen kleinen NetPlayer gebastelt, der es mir erlaubt meine Musiksammlung abzuspielen. Um diesen nützen zu können, muß man in der Konfigurationsdatei das Directory entsprechend setzen in dem die Musik zu finden ist. Die Directory Namen müssen allerdings einem bestimmten Format entsprechen: „Interpret [Album]“.
    Zusätzlich bietet Netplayer auch noch die Möglich Webradios abzuspielen, eine entsprechende Auswahl kann man bequem im File „NetPlayer_RadioControl.php“ eintragen.

    Falls jemand noch Verbesserungs Vorschläge hat, sind diese natürlich jederzeit herzlich willkommen (speziell das ganze HTML,CSS und Javascript „Zeug's“ ist noch nicht wirklich mein Gebiet und bietet entsprechendes Verbesserungspotential...).

    Installation wie im Prinzip bereits oben beschrieben:
    • Installation IPSLogger
    • Scripte kopieren
    • Um den NetPlayer nuten
    • Ausführen des Scripts Entertainment_Installation.ips.php
    • Webfront einrichten – etwas mühselig – aber vielleicht beglückt uns ja unser IPS Team noch irgendwann mit einer Möglichkeit ...
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Entertainment_Overview.jpg 
Hits:	1816 
Größe:	93.7 KB 
ID:	12267   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Entertainment_WellnessBluray.jpg 
Hits:	1416 
Größe:	101.1 KB 
ID:	12268   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Entertainment_WellnessTV.jpg 
Hits:	1295 
Größe:	101.4 KB 
ID:	12269   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Entertainment_NetPlayer.jpg 
Hits:	1427 
Größe:	95.0 KB 
ID:	12270   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Entertainment_NetPlayerSelectCD.jpg 
Hits:	1116 
Größe:	103.9 KB 
ID:	12271  

    Geändert von Brownson (17.06.11 um 15:06 Uhr)

  6. #6
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,458

    Standard iPhone

    ... noch ein paar iPhone Screenshots ...
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IPhoneOverview.jpg 
Hits:	630 
Größe:	42.2 KB 
ID:	11113   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IPhoneDevices.jpg 
Hits:	593 
Größe:	57.3 KB 
ID:	11114   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IPhoneWellness.jpg 
Hits:	559 
Größe:	42.8 KB 
ID:	11115   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IPhoneLivingRemote.png 
Hits:	658 
Größe:	94.0 KB 
ID:	11116   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IPhoneLivingRemote2.png 
Hits:	542 
Größe:	100.7 KB 
ID:	11117  

    Geändert von Brownson (19.02.11 um 21:39 Uhr)

  7. #7
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,458

    Standard Tests

    und damit das Ganze komplett ist, habe ich auch noch mein UnitTest Scriptchen beigelegt, mit dem kann ich bei Änderung überprüfen, ob zumindest die Grundfunktionen der Steuerung noch funktionieren.

    Wird natürlich zum Betrieb der Steuerung nicht benötigt, habs nur beigelegt um Euch etwas Anregung zu geben.

    Sollte jemand einen Bug finden, wäre es natürlich toll, wenn er versucht anhand meiner Konfiguration (oder anhand einer Erweiterung) den Fehler nachzustellen ...
    Angehängte Dateien Angehängte Dateien
    Geändert von Brownson (19.02.11 um 21:42 Uhr)

  8. #8
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,458

    Standard Geplante Erweiterungen

    Noch ein Wort zu meinen geplanten Erweiterungen:
    • Implementierung von SendDelays nach PowerOn der Geräte, bzw. Zwischen einzelnen Befehlen. Werde noch einen Mechanismus implementieren, dass nach einem PowerOn bzw. Off zu schnell weitere Befehle an ein Gerät gesendet werden (da jedes Gerät eine unterschiedliche Zeit braucht um weitere Befehle nach einem PowerOn verarbeiten zu können möchte ich das Device spezifisch definieren können. Auch die minimal Zeit zwischen 2 Befehlen möchte ich definieren können...).
    • Ich möchte in Zukunft noch geschaltet Steckdosen supporten (d.h. wenn ein IR Power On empfangen wird, zuerst Stromversorgung einschalten, definierte Zeit warten und danach PowerOn des Gerätes. Umgekehrt dann natürlich auch, wenn alle Verbraucher der Steckdose abgeschaltet sind kann auch die Stromversorgung wieder abgeschaltet werden...).
    • Einbindung von Controls zur Steuerung von Beleuchtungen. Auswahl diverser Lichtszenarien direkt über die Entertainment Steuerung (genauere Details habe ich mir noch nicht überlegt, werde die Anbindung aber wieder so flexibel wie möglich machen um diverseste System einbinden zu können – ich selber werde mich wohl in Kürze an die Homematic wagen).


    Auf einen bestimmten Zeitpunkt möchte ich mich aber nocht nicht festlegen...
    Geändert von Brownson (19.02.11 um 21:44 Uhr)

  9. #9
    Registriert seit
    Dec 2005
    Ort
    Köln
    Beiträge
    2,623

    Von mir erstmal ein Fettes RESPEKT!!!!

    Sieht sehr schick aus, auch wenn ich das nicht mit meiner Apple TV Infrastruktur verwenden kann - einfach lecker .

    Mach weiter so .

    Klasse auch wie du direkt alles auf Weiterverwendbarkeit anderer User auslegst und welche Mühe du dir machst, das alles zu veröffentliche und Dokumentieren.
    Geändert von pleibling (19.02.11 um 23:12 Uhr)
    Hausautomations-BLOG

    --
    Hinweis: Wer einen Rechtschreibfehler findet, darf diesen behalten - da bin ich gar nicht so .

  10. #10
    Registriert seit
    Aug 2005
    Ort
    Fürstenfeldbruck-Aich (Bayern)
    Beiträge
    4,048

    Hallo Brownson,

    da kann ich mich Peter nur anschließen.

    Meinen Respekt für die Skripte und die Dokumentation.
    Gruß
    Werner

    Komponenten:: Homematic(CCU) 250DP, EATON-MOELLER, 1-Wire, WMRS200, 15" Touchdisplay
    Software::
    IPS V4.x, iMobile, WebFront, Logitech Media Server 7.8.x, SONOS
    Hardware:: IPS-Server: ESXi 6.x, Windows 10 Ent, 4 Kerne, 8GB RAM

Ähnliche Themen

  1. Abfrage & Steuerung von Viessmann Heizungen
    Von Coyote im Forum Anleitungen / Nützliche PHP Skripte
    Antworten: 415
    Letzter Beitrag: 30.10.19, 15:18
  2. Rolladen und Heizungsventil Steuerung
    Von s.jungen im Forum Haustechnik
    Antworten: 5
    Letzter Beitrag: 01.10.09, 22:07
  3. Sommerauer-Lindner canbus Steuerung Hackgut
    Von scha_j im Forum Haustechnik
    Antworten: 1
    Letzter Beitrag: 27.11.08, 12:28
  4. Steuerung Nachtspeicher
    Von dhecker im Forum Allgemeine Diskussion
    Antworten: 14
    Letzter Beitrag: 01.10.07, 19:34
  5. Entfernte Steuerung einbinden
    Von Jersey im Forum Haustechnik
    Antworten: 4
    Letzter Beitrag: 05.07.06, 17:21

Stichworte