Anbindung von Pioneer AVR

Begonnen von Erasor, 29 April 2013, 11:07:24

Vorheriges Thema - Nächstes Thema

50watt

Danke für's rasche Feedback!
Nur durch die ständige Datenverbindung kennt Fhem den aktuellen Status des PioneerAVR. Mit der poll Methode wird der Pioneer nur in bestimmten (einstellbaren) Intervallen nach seinem Status befragt.

Wenn Fhem auf eine Änderung im Pioneer AVR reagieren soll (z.b. Wenn der Input auf BlueRay gestellt wird, soll das Licht im Raum verändert werden, wenn Input auf "sonos" soll auch der Sonos anfangen Musik abzuspielen) kann Fhem so sofort reagieren und muss nicht bis zum nächsten Status Pooling warten.

Die Anzeige des aktuell gespielten Titels bei iPod bzw internet Streaming wird sich auch mit der ständigen Datenverarbeitung leichter realisieren lassen.
RaspberryPi, EnOcean PI
Sonos Play1, Connect
Eltako FT55, FSB61, FAM12, FSR12-4x

dman

Hi,
ich teste das Modul (in der neuesten Version) auch gerade. Ist super geworden!  :)

Die Vorteile mit der offenen Datenverbindung sehe ich auch so. Mein SC-2022 hat mehrere Ports, mein VSX-920 vermutlich nicht. Letzteres stört mich nicht. Mit "disconnect" kann man die Verbindung ja explizit schließen, nehme ich an.

Eine Frage, Du schreibst von einstellbaren Intervallen für das Polling, wo kann man das einstellen?

50watt

Vielen Dank für das positive Feedback!

Im Modul PIONEER_AVR (also nicht PIONEERAVR) werden die Devices wie folgt definiert:
define <name> PIONEER_AVR <ip-or-hostname> [<port>] [<zone>] [<statusinterval>]

"statusinterval" ist hier wohl der "einstellbare Interval" in dem der Pioneer Audio/Video Receiver von Fhem abgefragt wird (in Sekunden). Default ist 120 Sekunden
RaspberryPi, EnOcean PI
Sonos Play1, Connect
Eltako FT55, FSB61, FAM12, FSR12-4x

50watt

@ P.A.Trick

ich habe set <name> on
etwas geändert:
my $setCmd= "";
PIONEERAVR_SimpleWrite($hash, $setCmd);
select(undef, undef, undef, 0.1);
PIONEERAVR_SimpleWrite($hash, $setCmd);
select(undef, undef, undef, 0.2);
$setCmd= "PO";
PIONEERAVR_SimpleWrite($hash, $setCmd);
select(undef, undef, undef, 0.1);
Log3  $hash, 5, "PIONEERAVR $name: Set_IOwrite: $setCmd";
return undef;


Könnte das jemand testen (aktualisiertes Modul ist anbei) mit attr <name> logTraffic 3 und das Ergebnis hier wieder posten?

set <name> blink  gibt jetzt einen Hinweis zurück, dass es keinen Sinn macht ;-)
"blink" nicht anzeigen, kann ich aktuell noch nicht.
RaspberryPi, EnOcean PI
Sonos Play1, Connect
Eltako FT55, FSB61, FAM12, FSR12-4x

P.A.Trick

Also weder den Hinweis vom Blink konnte ich sehen noch funktioniert das Modul. Weder das einschalten noch die ReadingsGroup (Power USW.) werden nicht aktualisiert. So ist das Modul fuer mich leider nicht verwendbar :-/
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

50watt

Sehr geehrter P.A.Trick,

vielen Dank für's Testen und für das Feedback!
Zeigt das Log auch nichts?
Ich unterstütze Dich gerne, damit dieses Modul auch bei Dir funktioniert.
RaspberryPi, EnOcean PI
Sonos Play1, Connect
Eltako FT55, FSB61, FAM12, FSR12-4x

P.A.Trick

Ja Sorry tut mir Leid, aber ich habe keine Testungebung und wenn das normale Leben nicht läuft und die Frau nervt ist es echt übel ;-) ich teste morgen mal genauer!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

P.A.Trick

2014.06.07 10:22:30 5: PIONEERAVR AVR: Set on
2014.06.07 10:22:30 5: PIONEERAVR AVR: Set on
2014.06.07 10:22:30 5: AVR (loglevel: 5): write "\r"
2014.06.07 10:22:30 5: SW: 0d
2014.06.07 10:22:30 5: AVR (loglevel: 5): write "\r"
2014.06.07 10:22:30 5: SW: 0d
2014.06.07 10:22:31 5: AVR (loglevel: 5): write "PO\r"
2014.06.07 10:22:31 5: SW: 504f0d
2014.06.07 10:22:31 5: PIONEERAVR AVR: Set_IOwrite: PO
2014.06.07 10:22:31 5: PIONEERAVR AVR: called function PIONEERAVR_Set( ? )
2014.06.07 10:22:33 5: PIONEERAVR AVR: called function PIONEERAVR_Set( ? )


Ich habe auch LogTraffic auf 5 gesetzt. Was auffällt, dass das Kommando set AVR on scheinbar zweimal ausgeführt wird!?
Ansonsten klappt es leider noch nicht!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

50watt

Danke für das Log - es kommt nichts vom Pioneer zurück - vermute, dass es an der falschen Zeilenendung liegt aktuell \r - werde  eine Version mit \n\r basteln ...
RaspberryPi, EnOcean PI
Sonos Play1, Connect
Eltako FT55, FSB61, FAM12, FSR12-4x

50watt

anbei version 0.5 des PIONEERAVR Modules.
changelog
# 9.6.2014: all commands end now with "\r\n"
# The command for PowerOn (PO) is now send twice
# "blink" (part of setextensions) does not make much sense for a Pioneer AVR - set <name> blink returns this information ;-) 
# started to add support for module 95_remotecontrol
# New functions: sub RC_layout_PioneerAVR(); sub PIONEERAVR_RCmakenotify($$);
# Updated PIONEERAVR_Initialize for remotecontrol


Getestet nur am VSX923. Hoffe, dass sich nun auch andere Geräte einschalten lassen ;-)
Bitte testen!
Feedback ist sehr willkommen!
RaspberryPi, EnOcean PI
Sonos Play1, Connect
Eltako FT55, FSB61, FAM12, FSR12-4x

P.A.Trick

Klappt leider nicht!

2014.06.09 18:06:05 5: PIONEERAVR AVR: called function PIONEERAVR_Set( ? )
2014.06.09 18:06:06 5: PIONEERAVR AVR: called function PIONEERAVR_Set( ? )
2014.06.09 18:06:10 5: PIONEERAVR AVR: called function PIONEERAVR_Set( on )
2014.06.09 18:06:10 5: PIONEERAVR AVR: Set on
2014.06.09 18:06:10 5: PIONEERAVR AVR: Set on
2014.06.09 18:06:10 5: SW: 0d0a
2014.06.09 18:06:10 5: SW: 0d0a
2014.06.09 18:06:11 5: SW: 504f0d0a
2014.06.09 18:06:11 5: SW: 504f0d0a
2014.06.09 18:06:11 5: PIONEERAVR AVR: SimpleWrite: PO
2014.06.09 18:06:11 5: PIONEERAVR AVR: called function PIONEERAVR_Set( ? )
2014.06.09 18:06:12 5: PIONEERAVR AVR: called function PIONEERAVR_Set( ? )

Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

50watt

Danke für die super rasche Antwort.
Anbei Version 0006.
Jetzt gibt es ein reading für "networkStandby" (eine Einstellung aus dem "Network setup menu" des Pioneer Avr)
-> wenn networkStandby "off" dann reagiert der Pioneer AVR nicht, wenn ausgeschaltet ("standby") ist.
-> wenn networkStandby "on" dann lässt sich (sollte sich) der Pioneer AVR aus dem "standby" einschalten.

changelog
# added reading "networkStandby" [on|off] -> "on" indicates that the Pioneer AVR can be turned on from standby
# added reading "tunerFrequency"

RaspberryPi, EnOcean PI
Sonos Play1, Connect
Eltako FT55, FSB61, FAM12, FSR12-4x

P.A.Trick

Leider klappt es auch mit diesem Modul nicht und das neue Reading habe ich leider auch nicht!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

50watt

Version 0007 vom Modul PIONEERAVR

# changelog
# 10.6.2014:version 0007
# unified logging texts
# added "verbose 5" log messages for all reads (messages coming from the PioneerAVR)
# added "verbose 5" log messages for all set (commands sent to the PioneerAVR)
# added "verbose 5" log messages for all get (commands sent to the PioneerAVR)
# fixed set <name> listeningMode <mode>
# fixed get <name> raw <PIONEER_RAW_COMMAND> - this sends <PIONEER_RAW_COMMAND> to the PioneerAVR (e.g. to power off the Pioneer AVR: get mypioneerAvr raw PF )
# get <name> raw (without further arguments) sends only a new line command -> this should wakeup the connection if the PioneerAVR is in standby
# removed unneeded functions, RESTART OF FHEM NEEDED (reload PIONEERAVR is not enough)
# updated set <name> on -- to be even more Pioneer documentation conform (sending now additionally \n\r immediately before PO\n\r)


Das Log für das Fhem-Device
define vsx923server PIONEERAVR telnet 10.16.1.11:8101
attr vsx923server logTraffic 5
attr vsx923server verbose 5

beim Einschalten mittels
set vsx923server on
sieht hier wie folgt aus:
2014.06.10 17:57:39 5: PIONEERAVR vsx923server: Processing PIONEERAVR_Set( on )
2014.06.10 17:57:39 5: PIONEERAVR vsx923server: Set on (no arguments)
2014.06.10 17:57:39 5: PIONEERAVR vsx923server: Set on -> 2x newline + 2x PO with 100ms break in between
2014.06.10 17:57:39 5: PIONEERAVR vsx923server (loglevel: 5): logTraffic SimpleWrite "\r\n"
2014.06.10 17:57:39 5: SW: 0d0a
2014.06.10 17:57:39 5: PIONEERAVR vsx923server (loglevel: 5): logTraffic SimpleWrite "\r\n"
2014.06.10 17:57:39 5: SW: 0d0a
2014.06.10 17:57:39 5: PIONEERAVR vsx923server (loglevel: 5): logTraffic SimpleWrite "\n\rPO\r\n"
2014.06.10 17:57:39 5: SW: 0a0d504f0d0a
2014.06.10 17:57:39 5: PIONEERAVR vsx923server (loglevel: 5): logTraffic SimpleWrite "\n\rPO\r\n"
2014.06.10 17:57:39 5: SW: 0a0d504f0d0a
2014.06.10 17:57:39 5: PIONEERAVR vsx923server: Processing PIONEERAVR_Set( ? )
2014.06.10 17:57:40 5: PIONEERAVR vsx923server (loglevel: 5): logTraffic Spontaneously received "R\r\nR\r\nR\r\nR\r\nE02\r\n"
2014.06.10 17:57:40 5: PIONEERAVR vsx923server RAW: "R\r\nR\r\nR\r\nR\r\nE02\r\n"
2014.06.10 17:57:40 5: PIONEERAVR vsx923server: line received from PIONEERAVR: "R"
2014.06.10 17:57:40 5: PIONEERAVR vsx923server: line to do soon PIONEERAVR: "R\r\nR\r\nR\r\nE02\r\n"
2014.06.10 17:57:40 5: PIONEERAVR vsx923server: Supressing received "R"
2014.06.10 17:57:40 5: PIONEERAVR vsx923server: line received from PIONEERAVR: "R"
2014.06.10 17:57:40 5: PIONEERAVR vsx923server: line to do soon PIONEERAVR: "R\r\nR\r\nE02\r\n"
2014.06.10 17:57:40 5: PIONEERAVR vsx923server: Supressing received "R"
2014.06.10 17:57:40 5: PIONEERAVR vsx923server: line received from PIONEERAVR: "R"
2014.06.10 17:57:40 5: PIONEERAVR vsx923server: line to do soon PIONEERAVR: "R\r\nE02\r\n"
2014.06.10 17:57:40 5: PIONEERAVR vsx923server: Supressing received "R"
2014.06.10 17:57:40 5: PIONEERAVR vsx923server: line received from PIONEERAVR: "R"
2014.06.10 17:57:40 5: PIONEERAVR vsx923server: line to do soon PIONEERAVR: "E02\r\n"
2014.06.10 17:57:40 5: PIONEERAVR vsx923server: Supressing received "R"
2014.06.10 17:57:40 5: PIONEERAVR vsx923server: line received from PIONEERAVR: "E02"
2014.06.10 17:57:40 5: PIONEERAVR vsx923server: Received Error code from PioneerAVR: E02 (NOT AVAILABLE NOW - Detected the Command line which could not work now.)
2014.06.10 17:57:41 5: PIONEERAVR vsx923server (loglevel: 5): logTraffic Spontaneously received "PWR0\r\n"
2014.06.10 17:57:41 5: PIONEERAVR vsx923server RAW: "PWR0\r\n"
2014.06.10 17:57:41 5: PIONEERAVR vsx923server: line received from PIONEERAVR: "PWR0"
2014.06.10 17:57:41 5: PIONEERAVR vsx923server: "PWR0" interpreted as: Power: on
2014.06.10 17:57:41 5: PIONEERAVR vsx923server: Processing PIONEERAVR_Set( ? )


Der E02 Error in dem Log kommt von 2x PO (Einschalten, obwohl schon eingeschaltet ist...) - aber so stehts in der Dokumentation...

Viel Spass beim Testen ;-)
RaspberryPi, EnOcean PI
Sonos Play1, Connect
Eltako FT55, FSB61, FAM12, FSR12-4x

P.A.Trick

Leider ist Fhem beim reload des Moduĺs abgeschmirt!

2014.06.10 18:32:21 1: reload: Error:Modul 70_PIONEERAVR deactivated:
Not enough arguments for main::PIONEERAVR_Write at ./FHEM/70_PIONEERAVR.pm line 677, near "})"

Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn