Na dann mal los
Git-URL kommt nachher per PN, aktuell ist es halt wirklich nur zum testen.
Effektiv nutzen würde ich es noch nicht.
Kurzanleitung:
Nachdem das Modul über das ‚Modul Control‘ (siehe Doku Module Control — IP-Symcon :: Automatisierungssoftware ) geladen wurde, kann die Einrichtung der Instanzen beginnen.
Dazu ist eine neue Instanz ‚Onkyo AVR Zone‘ zu erstellen. Zu finden unter Hersteller Onkyo, oder über den Filter des Dialoges.
Bevor die Zone umgestellt wird, sollte zuerst die I/O-Instanz konfiguriert werden.
Dazu einfach oben auf ‚Gateway konfigurieren‘ klicken, ihr landet dann in dem Splitter (ISCPSplitter bzw. Onkyo AVR Splitter).
Der Splitter hat aktuell noch keine Einstellungen.
Dieser automatisch erstellte Splitter, hat ebenfalls automatisch ein ClientSocket erstellt.
Habt ihr einen Receiver welcher RS232 angebunden wird, so ist diese I/O-Instanz gegen eine SerialPort zu tauschen (Schnittstelle ändern anklicken und über ‚Neu‘ einen SerialPort erzeugen.)
.
Über einen weiteren Klick auf ‚Schnittstelle konfigurieren‘, öffnet sich die Konfiguration des I/O-Parent.
Je nachdem ob nun ClientSocket bzw. SerialPort müssen hier unterschiedliche Daten eingestellt werden.
LAN (ClientSocket):
Host: Name oder IP des Receivers
Port: 60128
RS232 (SerialPort):
Port: Com-Port an welchen der Receiver angeschlossen ist.
Baudrate: 9600
Datenbits: 8
Stopbits: 1
Parität: keine
Diese Einstellungen übernehmen.
Anschließen die Zone in der ‚Onkyo AVR Zone‘-Instanz auswählen und ebenfalls übernehmen.
Im Objektbaum sollten jetzt unterhalb der ‚Onkyo AVR Zone‘-Instanz autoamtisch Statusvariablen angelegt worden sein.
Statusvariablen werden auch automatisch nachträglich erzeugt.
Aufgrund dessen, das ich kein Gerät habe, welches sich per RS232 ansteuern läßt… konnte ich weder die Funktion testen, noch das Verhalten solcher Geräte.
Ebenso gilt dies für Geräte welche kein Netzwerkstandby unterstützen. Hier wird es vermutlich zu Timeouts und Fehlern kommen, wenn das Gerät ausgeschaltet ist.
Bemerkungen:
Die Profile der Statusvariablen enthalten aktuell vermutlich mehr als 90% der User brauchen… leider kann ich aktuell nicht abschätzen was ‚überflüssig‘ ist. Ansonsten einfach das Profil manuell bearbeiten
Alle Funktionen beziehen sich immer auf eine InstanzID von einer Zonen-Instanz.
Ist ein Befehl nicht verfügbar, erzeugt dies eine Warnung.
Verfügbare Kommandos und Werte für OAVR_SendCommand sind der XLS Datei vom Protokol zu entnehmen:
Integra Serial Communication Protocol - Google-Suche
Gleiches gilt für die Kommandos bei den Funktionen für TV und BD/DVD-Player. Achtung nicht jedes Gerät kann per RI oder CEC angesprochen werden. (Mein TV geht nur AN; mehr nicht. Mein BD-Player kann ich dafür komplett steuern.)
Aktuell Verfügbare PHP-Befehle sind:
// Ein -/ Ausschalten
OAVR_Power(integer $InstanceID, boolean $Value)
// Stummschaltung An-/Aus
OAVR_SetMute(integer $InstanceID, boolean $Value)
// Lautstärke setzen
OAVR_SetVolume(integer $InstanceID, integer $Value)
// Eingang wählen
OAVR_SelectInput(integer $InstanceID,integer $Value)
//ListingMode setzen
OAVR_SelectListingMode(integer $InstanceID, integer $Value)
//Automatisch ausschalten in Minuten (0 = aus)
OAVR_SetSleep(integer $InstanceID, integer $Value)
//Befehl an TV senden
OAVR_SendTVCommand(integer $InstanceID, string $Command)
//Befehl an BD/DVD-Player senden
OAVR_SendBDCommand(integer $InstanceID, string $Command)
//Befehl an Receiver senden
OAVR_SendCommand(integer $InstanceID,string $Command, string $Value, boolean $needResponse)
// Beispiel : Tuner auf Preset 2 stellen
$result = OAVR_SendCommand(12345 /* MainZone */, 'PRS', '02', true);
var_dump($result); // true wenn vom Receiver bestätigt, false bei Fehler + Ausgabe einer Fehlermeldung ( @ nutzen um Fehler zu unterdrücken)
//Da nicht jeder Befehl von dem Gerät bestätigt wird, ist der 4.Parameter $needResponse nur bei Bedarf auf true zu setzen, wenn den Antwort vom Gerät benötigt wird.
Michael