Modul für ONKYO AV Receiver (und neuere Pioneer AV Receiver)

Begonnen von Loredo, 30 September 2013, 14:52:36

Vorheriges Thema - Nächstes Thema

urmel86

Zitat von: MichaelH schrieb am Fr, 04 Oktober 2013 15:28Hi,

jap ich hab ihn mehrmals nun aus und ein geschalten und auch immer schön brav 30 Sekunden gewartet:
2013.10.04 15:27:28 3: ONKYO_AVR Onkyo_AV: unexpected return code NLT for command SLPQSTN
2013.10.04 15:27:28 3: ONKYO_AVR Onkyo_AV: unexpected return code NLS for command SLIQSTN
2013.10.04 15:27:28 3: ONKYO_AVR Onkyo_AV: unexpected return code NLT for command IFVQSTN
2013.10.04 15:27:28 3: ONKYO_AVR Onkyo_AV: unexpected return code NLS for command IFAQSTN
2013.10.04 15:27:32 3: ONKYO_AVR Onkyo_AV: unexpected return code NLT for command PWRQSTN
2013.10.04 15:27:39 3: ONKYO_AVR Onkyo_AV: unexpected return code NLT for command PWRQSTN

Hast du den Receiver komplett vom Netz genommen? Also Stecker raus? Deine Einträge in der Logdatei sehen aus wie meine bevor ich den Receiver vom Netz getrennt habe.

Gruß Marco

MichaelH

Japp hab ich.
2013.10.04 15:29:42 1: notify wird ausgeführt mit WZ_Steckdose_AV aus
2013.10.04 15:29:44 1: notify wird ausgeführt mit WZ_Steckdose_Subwoofer aus
2013.10.04 15:30:31 3: ONKYO_AVR: device Onkyo_AV is unavailable
2013.10.04 15:30:51 1: notify wird ausgeführt mit WZ_Steckdose_AV an
2013.10.04 15:30:54 1: notify wird ausgeführt mit WZ_Steckdose_Subwoofer an
2013.10.04 15:31:29 3: ONKYO_AVR: device Onkyo_AV is available
2013.10.04 15:31:33 3: ONKYO_AVR Onkyo_AV: unexpected return code NLT for command MVLQSTN
2013.10.04 15:31:33 3: ONKYO_AVR Onkyo_AV: unexpected return code NLT for command SLPQSTN
2013.10.04 15:31:33 3: ONKYO_AVR Onkyo_AV: unexpected return code NLT for command SLIQSTN
2013.10.04 15:31:33 3: ONKYO_AVR Onkyo_AV: unexpected return code NLT for command IFVQSTN
2013.10.04 15:31:33 3: ONKYO_AVR Onkyo_AV: unexpected return code NLT for command IFAQSTN
2013.10.04 15:31:41 3: ONKYO_AVR Onkyo_AV: unexpected return code NLT for command PWRQSTN
2013.10.04 15:32:07 3: ONKYO_AVR Onkyo_AV: unexpected return code NLT for command PWRQSTN

hier nochmal alles nur und einzig alleine über FHEM gesteuert ;)
Der Receiver und der Subwoofer werden über Schaltdosen von Intertechno gesteuert.

urmel86

Ok schade. Eine schaltbare Steckdose werde ich wohl auch noch zwischen hängen damit ich nicht in den Kabelsalat muss :-)

Jaydee

Juhuu!

Also der "Hard-Reset" hat definitiv was gebracht. Zwar hat er beim ersten Einschalten danach noch ein paar Fehler ausgespuckt, aber nun scheint alles zu klappen. Get-Befehle werden beantwortet und die Readings wurden mit sinnvollen Daten gefüllt.

Aber hier nochmal das Log vor und nach dem Stromlos-Schalten:

...
2013.10.04 17:12:21 3: ONKYO_AVR AVReceiver: unexpected return code NLT for command PWRQSTN
2013.10.04 17:13:36 3: ONKYO_AVR AVReceiver: unexpected return code NLT for command PWRQSTN
2013.10.04 17:14:51 3: ONKYO_AVR AVReceiver: unexpected return code NLT for command PWRQSTN
*STROM WEG*
2013.10.04 17:16:08 3: ONKYO_AVR: device AVReceiver is unavailable
*STROM DA*
2013.10.04 17:18:36 3: ONKYO_AVR: device AVReceiver is available
*ERSTES SET ON*
2013.10.04 17:33:14 3: ONKYO_AVR AVReceiver: unexpected return code MVL for command PWR01
2013.10.04 17:33:14 3: ONKYO_AVR AVReceiver: unexpected return code PWR for command AMTQSTN
2013.10.04 17:33:14 3: ONKYO_AVR AVReceiver: unexpected return code AMT for command MVLQSTN
2013.10.04 17:33:14 3: ONKYO_AVR AVReceiver: unexpected return code MVL for command SLPQSTN
2013.10.04 17:33:14 3: ONKYO_AVR AVReceiver: unexpected return code SLP for command SLIQSTN
2013.10.04 17:33:14 3: ONKYO_AVR AVReceiver: unexpected return code SLI for command IFVQSTN
2013.10.04 17:33:15 3: ONKYO_AVR AVReceiver: unexpected return code IFV for command IFAQSTN

Anschließend erstmal keinerlei Fehlermeldungen mehr...


Gruß
Jan

Loredo

Update:

- full implementation of remoteControl commands
- Zone support
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Jaydee

Yay!

Wie sieht der Zone-Support aus?
Ein weiteres ONKYO_AVR per define erstellen und Zone2 angeben?

btw. im Log taucht immer wieder dies auf:
Use of uninitialized value $audin_srate in string ne at ./FHEM/70_ONKYO_AVR.pm line 201.
Use of uninitialized value $audin_ch in string ne at ./FHEM/70_ONKYO_AVR.pm line 206.

Loredo

Zitat von: Jaydee schrieb am Sa, 05 Oktober 2013 23:42Wie sieht der Zone-Support aus?
Ein weiteres ONKYO_AVR per define erstellen und Zone2 angeben?

Genau so! (Optionen: zone2,zone3,zone4,dock). Beispiel:
define zone2 ONKYO_AVR 192.168.0.1 zone2

Zitat von: Jaydee schrieb am Sa, 05 Oktober 2013 23:42btw. im Log taucht immer wieder dies auf:
Use of uninitialized value $audin_srate in string ne at ./FHEM/70_ONKYO_AVR.pm line 201.
Use of uninitialized value $audin_ch in string ne at ./FHEM/70_ONKYO_AVR.pm line 206.

Hm, bei dir scheint dann die Rückgabe vom Receiver anders als erwartet auszufallen.
Ich lade gleich eine neue Version hoch, bitte einmal per Attribut den Verbose-Level auf 4 setzen (attr name verbose 4). Dann steht im Log der String, den ich auswerte. Den könntest du dann mal posten :-)


Gruß
Julian
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Jaydee

Ah und danke für die Zusätzlichen Namen bei den Inputs! :-)

wie schon oben beschrieben kommen ein paar neue Meldungen ins Log, dazu noch ein paar mehr von den alten 'unexpected return code'
2013.10.05 23:51:19 3: ONKYO_AVR set AVReceiver on
2013.10.05 23:51:22 3: ONKYO_AVR AVReceiver: unexpected return code 'TUN' for command 'IFA' (should be matching!)
2013.10.05 23:51:35 3: ONKYO_AVR set AVReceiver input
2013.10.05 23:51:35 3: ONKYO_AVR AVReceiver: unexpected return code 'LMD' for command 'SLI' (should be matching!)
2013.10.05 23:51:35 3: ONKYO_AVR AVReceiver: unexpected return code 'SLI' for command 'PWR' (should be matching!)
Use of uninitialized value $audin_srate in string ne at ./FHEM/70_ONKYO_AVR.pm line 201.
Use of uninitialized value $audin_ch in string ne at ./FHEM/70_ONKYO_AVR.pm line 206.


Wie kontrollierst du eigentlich ob der Receiver da ist? Laut oRemote-Einstellungen gibt es verschiedene Protokolle: UPNP (2009+) UDP (2010+)

Loredo

Ahhh... und danke für den Amazon Gutschein ^^

Zitat von: Jaydee schrieb am Sa, 05 Oktober 2013 23:58wie schon oben beschrieben kommen ein paar neue Meldungen ins Log, dazu noch ein paar mehr von den alten 'unexpected return code'

Gegen die kann ich irgendwie nix machen. Wenn der Receiver nicht das zurück liefert, was ich angefragt habe, kann ich halt mit der Meldung nix anfangen an der Stelle im Programm :-(

Zitat von: Jaydee schrieb am Sa, 05 Oktober 2013 23:58Wie kontrollierst du eigentlich ob der Receiver da ist? Laut oRemote-Einstellungen gibt es verschiedene Protokolle: UPNP (2009+) UDP (2010+)

Ich prüfe zunächst mit einem TCP-connect, ob er per Netzwerk erreichbar ist (falls ja, dann presence=present, ansonsten presence=absent).
Danach lese ich ganz normal den Status für die entsprechende Zone aus dem Receiver per Remote-Kommando aus (z.B. PWRQSTN bei der Zone 'main').

Ich mache nix per UPnP oder UDP.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Loredo

Update:

- added debugging options for audio and video readings
- Workaround for audio/video reading errors in logfile
- improved error handling for volume command
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Jaydee

hmmm, das update war nicht gut...
gerade die Erreichbarkeit scheint ein ernstes Problem darzustellen... bei der früheren Version heute hatte ich es ein paar mal, dass der Receiver plötzlich angeblich nicht mehr da war - irgendwann hat er sich dann wieder eingefunden.
Aber jetzt nach dem Update und dem Neustart scheint er ihn gar nicht mehr zu finden...

Trotzdem trudeln Fehlermeldungen vom angeblich nicht vorhandenen Gerät ein...

2013.10.06 00:18:42 3: ONKYO_AVR AVReceiver_Zone2: unexpected return code 'NLT' for command 'ZPW' (should be matching!)
2013.10.06 00:19:42 4: ONKYO_AVR: execute on AVReceiver(main): power -> query (PWRQSTN)
2013.10.06 00:19:42 3: ONKYO_AVR AVReceiver: unexpected return code 'NLT' for command 'PWR' (should be matching!)
2013.10.06 00:19:42 4: ONKYO_AVR AVReceiver: absent
2013.10.06 00:20:12 3: ONKYO_AVR AVReceiver_Zone2: unexpected return code 'NLT' for command 'ZPW' (should be matching!)
2013.10.06 00:20:57 4: ONKYO_AVR: execute on AVReceiver(main): power -> query (PWRQSTN)
2013.10.06 00:20:57 3: ONKYO_AVR AVReceiver: unexpected return code 'NLT' for command 'PWR' (should be matching!)
2013.10.06 00:20:57 4: ONKYO_AVR AVReceiver: absent
2013.10.06 00:21:06 3: ONKYO_AVR set AVReceiver on
2013.10.06 00:21:09 3: ONKYO_AVR set AVReceiver_Zone2 on

Jaydee

Ich hab gerade auch nochmal den Receiver mittel Steckdose "zurückgesetzt"

Kurzzeitig war er einmal da, aber interessanterweise auch nur die Main-Instanz - Zone2 war noch immer absent.

2013.10.06 00:28:27 4: ONKYO_AVR: execute on AVReceiver(main): power -> query (PWRQSTN)
2013.10.06 00:28:27 3: ONKYO_AVR: device AVReceiver is available
2013.10.06 00:28:27 4: ONKYO_AVR: execute on AVReceiver(main): PWRQSTN return value '01' converted through VALUE from HASH table to 'on'
2013.10.06 00:28:27 4: ONKYO_AVR: execute on AVReceiver(main): mute -> query (AMTQSTN)
2013.10.06 00:28:27 3: ONKYO_AVR AVReceiver: unexpected return code 'NLS' for command 'AMT' (should be matching!)
2013.10.06 00:28:27 4: ONKYO_AVR: execute on AVReceiver(main): volume -> query (MVLQSTN)
2013.10.06 00:28:28 3: ONKYO_AVR AVReceiver: unexpected return code 'NLS' for command 'MVL' (should be matching!)
2013.10.06 00:28:28 4: ONKYO_AVR: execute on AVReceiver(main): sleep -> query (SLPQSTN)
2013.10.06 00:28:28 3: ONKYO_AVR AVReceiver: unexpected return code 'NLS' for command 'SLP' (should be matching!)
2013.10.06 00:28:28 4: ONKYO_AVR: execute on AVReceiver(main): input -> query (SLIQSTN)
2013.10.06 00:28:28 3: ONKYO_AVR AVReceiver: unexpected return code 'NLS' for command 'SLI' (should be matching!)
2013.10.06 00:28:28 4: ONKYO_AVR: execute on AVReceiver(main): video-information -> query (IFVQSTN)
2013.10.06 00:28:28 3: ONKYO_AVR AVReceiver: unexpected return code 'NLS' for command 'IFV' (should be matching!)
2013.10.06 00:28:28 4: ONKYO_AVR: execute on AVReceiver(main): audio-information -> query (IFAQSTN)
2013.10.06 00:28:28 3: ONKYO_AVR AVReceiver: unexpected return code 'NLS' for command 'IFA' (should be matching!)
2013.10.06 00:28:28 4: ONKYO_AVR AVReceiver: on
2013.10.06 00:28:46 3: ONKYO_AVR set AVReceiver_Zone2 on
2013.10.06 00:28:50 3: ONKYO_AVR set AVReceiver on
2013.10.06 00:28:50 4: ONKYO_AVR: execute on AVReceiver(main): power -> on (PWR01)
2013.10.06 00:28:50 3: ONKYO_AVR AVReceiver: unexpected return code 'NLT' for command 'PWR' (should be matching!)
2013.10.06 00:28:51 4: ONKYO_AVR: execute on AVReceiver(main): power -> query (PWRQSTN)
2013.10.06 00:28:51 3: ONKYO_AVR AVReceiver: unexpected return code 'NLS' for command 'PWR' (should be matching!)
2013.10.06 00:28:51 4: ONKYO_AVR AVReceiver: absent
Use of uninitialized value $arr1[0] in sort at ./FHEM/10_CUL_HM.pm line 2092.
Use of uninitialized value $arr1[0] in join or string at ./FHEM/10_CUL_HM.pm line 2092.
2013.10.06 00:29:12 3: ONKYO_AVR: device AVReceiver_Zone2 is available
2013.10.06 00:29:12 3: ONKYO_AVR AVReceiver_Zone2: unexpected return code 'NLT' for command 'ZPW' (should be matching!)
2013.10.06 00:29:39 4: ONKYO_AVR: execute on AVReceiver(main): power -> query (PWRQSTN)
2013.10.06 00:29:39 4: ONKYO_AVR: execute on AVReceiver(main): PWRQSTN return value '01' converted through VALUE from HASH table to 'on'
2013.10.06 00:29:39 4: ONKYO_AVR: execute on AVReceiver(main): mute -> query (AMTQSTN)
2013.10.06 00:29:39 3: ONKYO_AVR AVReceiver: unexpected return code 'NLS' for command 'AMT' (should be matching!)
2013.10.06 00:29:39 4: ONKYO_AVR: execute on AVReceiver(main): volume -> query (MVLQSTN)
2013.10.06 00:29:39 3: ONKYO_AVR AVReceiver: unexpected return code 'NLS' for command 'MVL' (should be matching!)
2013.10.06 00:29:39 4: ONKYO_AVR: execute on AVReceiver(main): sleep -> query (SLPQSTN)
2013.10.06 00:29:39 3: ONKYO_AVR AVReceiver: unexpected return code 'NLS' for command 'SLP' (should be matching!)
2013.10.06 00:29:39 4: ONKYO_AVR: execute on AVReceiver(main): input -> query (SLIQSTN)
2013.10.06 00:29:39 3: ONKYO_AVR AVReceiver: unexpected return code 'NLS' for command 'SLI' (should be matching!)
2013.10.06 00:29:39 4: ONKYO_AVR: execute on AVReceiver(main): video-information -> query (IFVQSTN)
2013.10.06 00:29:39 3: ONKYO_AVR AVReceiver: unexpected return code 'NLS' for command 'IFV' (should be matching!)
2013.10.06 00:29:39 4: ONKYO_AVR: execute on AVReceiver(main): audio-information -> query (IFAQSTN)
2013.10.06 00:29:40 3: ONKYO_AVR AVReceiver: unexpected return code 'NLS' for command 'IFA' (should be matching!)
2013.10.06 00:29:40 4: ONKYO_AVR AVReceiver: on
2013.10.06 00:29:42 4: ONKYO_AVR: execute on AVReceiver(main): power -> query (PWRQSTN)
2013.10.06 00:29:42 3: ONKYO_AVR AVReceiver: unexpected return code 'NLT' for command 'PWR' (should be matching!)
2013.10.06 00:29:42 4: ONKYO_AVR AVReceiver: absent


BTW.: Wenn ich per Presence-Modul und Lan-Ping nach dem Receiver schaue, ist er ordnungsgemäß "present"

Loredo

Zitat von: Jaydee schrieb am So, 06 Oktober 2013 00:25hmmm, das update war nicht gut...
gerade die Erreichbarkeit scheint ein ernstes Problem darzustellen... bei der früheren Version heute hatte ich es ein paar mal, dass der Receiver plötzlich angeblich nicht mehr da war - irgendwann hat er sich dann wieder eingefunden.
Aber jetzt nach dem Update und dem Neustart scheint er ihn gar nicht mehr zu finden...

Trotzdem trudeln Fehlermeldungen vom angeblich nicht vorhandenen Gerät ein...

2013.10.06 00:18:42 3: ONKYO_AVR AVReceiver_Zone2: unexpected return code 'NLT' for command 'ZPW' (should be matching!)
2013.10.06 00:19:42 4: ONKYO_AVR: execute on AVReceiver(main): power -> query (PWRQSTN)
2013.10.06 00:19:42 3: ONKYO_AVR AVReceiver: unexpected return code 'NLT' for command 'PWR' (should be matching!)
2013.10.06 00:19:42 4: ONKYO_AVR AVReceiver: absent
2013.10.06 00:20:12 3: ONKYO_AVR AVReceiver_Zone2: unexpected return code 'NLT' for command 'ZPW' (should be matching!)
2013.10.06 00:20:57 4: ONKYO_AVR: execute on AVReceiver(main): power -> query (PWRQSTN)
2013.10.06 00:20:57 3: ONKYO_AVR AVReceiver: unexpected return code 'NLT' for command 'PWR' (should be matching!)
2013.10.06 00:20:57 4: ONKYO_AVR AVReceiver: absent
2013.10.06 00:21:06 3: ONKYO_AVR set AVReceiver on
2013.10.06 00:21:09 3: ONKYO_AVR set AVReceiver_Zone2 on

Der Receiver wird in der FHEM Anzeige offline geschaltet, sobald nicht mehr richtig kommuniziert werden kann (eigentlich führt nur die fehlerhafte Abfrage des Standby-Status dazu).

Der parallele Betrieb mehrerer Zonen scheint nicht gut für manche Receiver zu sein, weil die vermehrten Abfragen zu mehr Stress bei den Receivern führen.
Die zweite Zone zu entfernen dürfte den Stress mindern.

Auch ist es Ratsam beim Auftreten dieser Fehler auf jeden Fall den Receiver kurz vom Strom zu trennen, um wieder einen definierten Zustand innerhalb des Receivers zu haben.

Mal so zum Spaß: In der Protokoll-Definition stehen so lustige Sachen wie

ZitatEnd Character
"[EOF]" or "[EOF][CR]" or "[EOF][CR][LF]" depend on model

Das ist natürlich höchst intelligent von Onkyo an dieser Stelle bei der BefehlsEINGABE von mir unterschiedliche End-Character je nachdem was es für ein Modell ist zu erwarten...
Ich schicke derzeit ein <EOF><CR><LF>, was die Kommunikation bei meinem TX-NR626 absolut fehlerfrei ermöglicht.
Ich will eigentlich keine Ausnahmen pro einzelnem Modell einbauen müssen, das wäre echt töricht... zumal ich ja nichtmal sicher weiß, welches Modell dann wie angesprochen werden muss

-.-
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Loredo

Zitat von: Jaydee schrieb am So, 06 Oktober 2013 00:33BTW.: Wenn ich per Presence-Modul und Lan-Ping nach dem Receiver schaue, ist er ordnungsgemäß "present"

Das ist auch was ganz anderes. Beim PRESENCE-Modul kommuniziert du nur mit dem Netzwerk-Stack des Receivers. Ich gehe mit meinem TCP-Connect auf den Netzwerk-Port schon bis auf Layer4 hoch. Das ist also eine ganz andere Art der Prüfung, die viel weiter reicht. Ich prüfe nicht, ob das Gerät im Netzwerk ist, sondern auch ob der Dienst dort erreichbar ist und ordnungsgemäß antwortet. Sonst könntest du ja jede beliebige IP eingeben, auch wenn dort kein ONKYO Receiver vorhanden ist und er würde trotzdem als "present" erkannt werden :-)
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Loredo

Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER