[Modul] Onkyo & Pioneer AVR

SDK Version Version License Check Style Run Tests

Symcon-Modul: Onkyo & Pioneer AVR

Diese Implementierung des Integra Serial Communication Protocol ermöglicht die Einbindung von Onkyo und Pioneer AV-Receiver in IP-Symcon.

Inhaltsverzeichnis

1. Funktionsumfang

OnkyoAVRDiscovery:

Ermöglicht das einfache Erkennen von Geräten im Netzwerk und anschließende anlegen eines Konfigurator in Symcon.

OnkyoConfigurator:

Bei unterstützen Geräten listet der Konfigurator alle möglichen Instanzen auf, welche in Symcon angelegt werden können.

OnkyoAVRSplitter:

Der Splitter dient zur Kommunikation mit dem Gerät und unterstützt Netzwerk, als auch Geräte welche per RS232 angebunden sind.

OnkyoAVRZone:

Dieses Modul bildet jeweils eine Zone des Gerätes ab.

OnkyoNetplayer:

Über dieses Modul werden die Playerfunktionen der Netzwerk-Geräte abgebildet.

OnkyoRemote:

Je nach Fähigkeiten des Receivers können per HDMI-CEC angeschlossene Geräte ferngesteuert werden, zusätzlich zum Receiver selber.

OnkyoTuner:

Dient der Integration der Tuner in Symcon.

2. Voraussetzungen

  • IPS 5.1 oder höher
  • kompatibler AV-Receiver mit LAN oder RS232-Anschluss(*)

(*) RS232-Geräte/Anbindung bieten eventuell nicht den vollen Funktionsumfang.

3. Software-Installation

IPS 5.1:
Bei privater Nutzung: Über den ‚Module-Store‘ in IPS.
Bei kommerzieller Nutzung (z.B. als Errichter oder Integrator) wenden Sie sich bitte an den Autor.

4. Einrichten der Instanzen in IP-Symcon

Ist direkt in der Dokumentation der jeweiligen Module beschrieben.
Es wird empfohlen, bei Netzwerkgeräten, die Einrichtung mit der Discovery-Instanz zu starten (OnkyoAVRDiscovery).
Soll ein Receiver per RS232 angebunden werden, so ist zuerst ein (OnkyoConfigurator) anzulegen.

5. Anhang

1. GUID der Module

Modul Typ Prefix GUID
Onkyo AVR Discovery Discovery OAVR {7A3A7067-253F-4270-AC6D-55790FB12F53}
Onkyo Configurator Configurator OAVR {251DAC2C-5B1F-4B1F-B843-B22D518F553E}
ISCP Splitter Splitter OAVR {EB1697D1-2A88-4A1A-89D9-807D73EEA7C9}
Onkyo AVR Zone Device OAVR {DEDC12F1-4CF7-4DD1-AE21-B03D7A7FADD7}
Onkyo Netplayer Device OAVR {3E71DC11-1A93-46B1-9EA0-F0EC0C1B3476}
Onkyo Tuner Device OAVR {47D1BFF5-B6A6-4C3A-A11F-CDA656E3D85F}
Onkyo Remote Device OAVR {C7EA583D-2BAC-41B7-A85A-AD0DF648E514}

2. Changelog

Version 2.01:

  • OAVR_GetVideoInformation und OAVR_GetAudioInformation haben Fehler verursacht und ein falsches Array zurück gegeben

Version 2.0:

  • Modul für IPS 5.1 komplett überarbeitet
  • Neue Discovery Instanz zum auffinden und einrichten von Geräten in Symcon
  • Neue Konfigurator Instanz zum einfachen einrichten der Geräte Instanzen in Symcon
  • Neue Instanzen für Tuner, Netplayer und Fernsteuerung (Remote)
  • Profile folgen dem Muster Onkyo.
  • Zonen können detaillierter Konfiguriert werden und unterstützen mehr Funktionen
  • Übersetzungen hinzugefügt
  • Automatische Erkennung der verfügbaren Eingänge und Wertebereiche für u.a. Lautstärke und Pegelanpassung

Version 0.4:

  • Bugfix für IPS 5.0

Version 0.3:

  • Bugfix Datenaustausch aus 0.2

Version 0.2:

  • Bugfix Timer & Datenaustausch. Doku falsch / fehlt noch immer. Umbau auf RC Beta1 folgt.

Version 0.1:

  • Testversion

3. Spenden

Die Library ist für die nicht kommerzielle Nutzung kostenlos, Schenkungen als Unterstützung für den Autor werden hier akzeptiert:

6. Lizenz

IPS-Modul:
CC BY-NC-SA 4.0

Hallo,

erstmal großes Lob für das (bisher) tolle Modul, benutze es schon sehr lange.

Seit dem letzten Update auf 2.0 geht bei mir leider garnichts mehr.

Nachdem sich mein onkyo 929 nicht mehr steuern ließ habe ich alle Instanzen gelöscht und versucht über die discovery instanz neu anzulegen. Da dort kein Gerät erschien wollte ich das ganze manuell machen und habe die config instanz manuell angelegt. Da erhalte ich aber nur folgende zwei Fehlermeldungen:

26.10.2020, 23:56:13 | ScriptEngine | Result for Text (Length: 0)
<br />
<b>Warning</b>: <br />
<b>Fatal error</b>: Maximum execution time of 30 seconds exceeded in <b>C:\ProgramData\Symcon\modules.store\de.nall.chan.onkyo\OnkyoAVRSplitter\module.php</b> on line <b>495</b><br />
in <b>C:\Windows\System32-</b> on line <b>1</b><br />
<br />
<b>Fatal error</b>: Maximum execution time of 30 seconds exceeded in <b>C:\Windows\System32-</b> on line <b>1</b><br />

26.10.2020, 23:55:02 | Client Socket | Fehler beim Lesen: Das Zeitlimit für die Semaphore wurde erreicht.

Irgendwie funktioniert das Modul bei mir nicht mehr. „Erneut installieren“ endet in einer Dauerschleife bzw. passiert da einfach nichts.

Jemand eine Idee?

Ok, hab meine VM mal zurückgesetzt. Geht wieder… Glaube aber eher, dass sich der AV-Receiver aufgehangen hatte.

Hallo und vielen Dank für dieses tolle Modul @Nall-chan!

Habe eine Frage, wenn ich den Receiver mittels der entsprechenden Variable ausschalte, gibt es dann eine Möglichkeit, ihn wieder zum Leben zu erwecken? Er reagiert dann einfach nicht mehr.

Netzwerk Standby im Receiver aktiviert?
Michael

1 „Gefällt mir“

Danke, das war’s :heart:

Noch ein Problem: Ich mache

OAVR_GetVideoInformation($id);

Und erhalte folgende Meldung:

Warning: array_combine(): Both parameters should have an equal number of elements in C:\ProgramData\Symcon\modules.store\de.nall.chan.onkyo\OnkyoAVRZone\module.php on line 574

Debug-Ausgabe des Splitters:

04.03.2023, 21:01:39 | Send APIData->APICommand | IFV
04.03.2023, 21:01:39 |   Send APIData->Data | QSTN
04.03.2023, 21:01:39 | Send APIData->needResponse | TRUE
04.03.2023, 21:01:39 |              Receive | ISCP<NUL><NUL><NUL><DLE><NUL><NUL><NUL>R<SOH><NUL><NUL><NUL>!1IFVHDMI 5,1920 x 1080p  60 Hz,RGB,24bit,MAIN,1920 x 1080p  60 Hz,RGB,24bit,,,<SUB><CR><LF>
04.03.2023, 21:01:39 |             Response | HDMI 5,1920 x 1080p  60 Hz,RGB,24bit,MAIN,1920 x 1080p  60 Hz,RGB,24bit,,,

Der Wert im Textfeld „IFV“ bzw. Video Information aktualisiert sich nicht.

Fehler gefunden, Fix kommt die Tage als Beta.

Ich meine der Wert wird nicht aktiv von den Geräten gesendet.
Du kannst es mit

OAVR_RequestState(32378,'IFV');

anfragen. Muss mal schauen ob ich zumindest beim Wechsel der Quelle das automatisieren kann.
Beim Wechsel der Quellen kann ich das automatisiert abfragen.
Aber wenn die Quelle dann die Auflösung ändern, bekomme ich keine Info vom Receiver :frowning:
Michael

Danke dafür!

Ich requeste das jetzt periodisch, da beim Starten von AVR und Projektor manchmal die HDMI-Verbindung nicht funktioniert und ich das so erkennen kann (in dem Fall schalte ich den AVR aus und wieder ein, das schafft dann Abhilfe).

Nur zur Erläuterung, wofür ich diese Info überhaupt brauche :slight_smile:

Darum baue ich ja immer ‚fast‘ alles in die Module ein, was eine API so hergibt.
Irgendwer braucht immer mal eine spezielle Funktion :slight_smile:
Aber testen kann ich nie 100% :sweat_smile:
Also danke fürs Bug finden.
Dann vergiss auch RequestState, weil die Variable ja nur einen lesbaren Wert liefert und kein Array wie OAVR_GetVideoInformation.
Michael

Version 2.01 als Beta im Store

Michael

1 „Gefällt mir“

Hallo zusammen,

ich bekomme schon seit einiger Zeit folgenden Fehlermeldung:

Gibt es eine Möglichkeit, diese abzustellen? Ansonsten funktioniert das Modul einwandfrei.

LG

Koenig159

Gesehen habe ich das bei mir auch schon.
Abstellen geht nicht, weil das den Sinn des KeepAlive ja zu wieder laufen würde.
Muss mal schauen ob das ein Timing Problem, ein Bug oder wirklich ein Problem mit meinem Receiver ist :frowning:
Michael

1 „Gefällt mir“

Habe gerade beim Versuch, die Eingangsquelle umzuschalten folgende Fehlermeldung erhalten:


Warning: 
Notice: Timeout SLI in C:\ProgramData\Symcon\modules\.store\de.nall.chan.onkyo\OnkyoAVRSplitter\module.php on line 303
RESULT: in C:\ProgramData\Symcon\modules\.store\de.nall.chan.onkyo\OnkyoAVRZone\module.php on line 1155

Notice: Wert nicht verfügbar. in C:\ProgramData\Symcon\modules\.store\de.nall.chan.onkyo\OnkyoAVRZone\module.php on line 1139
 (Code: -32603)

Ich glaube, nach Analyse des Fehlers, dass die Ursache eine nicht verbundene HDMI-Eingangsquelle ist. Weiß nicht ob das Verhalten dann so okay ist, mir kam es vor als ob es eine entsprechende Meldung geben sollte.

Wert nicht verfügbar wäre dann ja korrekt.
Wobei ich das Timeout dann aber nicht verstehe.
Muss ich bei Gelegenheit mal testen.
Michael

Hallo,
versuche ergebnislos meinen Pioneer VSX-921 zu verbinden.
Habe das Modul Onkyo&Pioneer AVR installiert.
Discovery Instanz ist auch da.

Aber dort will der AVR einfach nicht gefunden werden.

Per LAN Scan ist der Receiver aber zu sehen.

Was mache ich falsch?

Wenn du die IP kennst, dann leg direkt den Konfigurator an und trag die Adresse in dem Dialog ein.

Discovery geht z.b. bei NAT oder Docker mit NAT nicht.
Michael

Hm.
Also Pioneer Configurator angelegt.
Dann kommt:
Schnittstelle konfigurieren. Dort steht: Diese Schnittstelle erfordert keine Konfiguration.
Dann auf „Weiter“
Schnittstelle konfigurieren (ISCP Splitter #xxxxx)
Unter Host ip vom VSX eingetragen
und „Aktiv“ geschaltet. Dann OK.

Jetzt kommt eine Fehlermeldung:

Konnte Änderungen nicht anwenden

Connection refused (Code: -32603)

Instanz „Pioneer Configurator“ ist angelegt. Aber es kommt die Meldung:
Instanz hat keinen aktiven Parent.

Ich fürchte, ich habe mich irgendwie verrannt

Das ist soweit korrekt. Vermutlich wird dein Gerät aber das Protokoll nicht können.
Michael

Der VSX-921?
OK . . .