Anbindung von Pioneer AVR

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

Vorheriges Thema - Nächstes Thema

Sirphunk

#15
EDIT:

Alles quark was ich hier gestern in übermüdetem Zustand geschrieben habe.
Das Modulgrundgerüst von Erasor funktionierte nachdem ich die IP zum define eingegeben hatte.
Ein einfaches "define Pioneer PIONEER_AVR" legt nämlich auch ein Device an, lässt danach aber FHEM abschmieren... :)

Darum habe ich mich bisher auch noch nicht gekümmert.
Folgendes habe ich bisher hinzugefügt/verändert:

- set Bereich für:
  - on/off
  - input Sat/Netradio/DIREKTERWERT
  - volumeUp/volumeDown
  - mute on/off
  - statusRequest

- GetModel deaktiviert. (Überflüssig!?)
- Volume auslesen
- Mute auslesen
- Channel auslesen (input)

Das ganze habe ich versucht konform mit den DevelopmentGuidlinesAV umzusetzen.

Wie bekomme ich in der Übersicht oben die Dropdownauswahl mit möglichen Set-Befehlen? Erledigt!
Wie kann ich die IP als "Pflichtfeld" beim define festlegen?
Welche Funktionen fehlen noch?

Hier noch ein Screenshot vom aktuellen Device aus FHEM.

pcjogi

Hallo, wo gibt es den aktuellen Code. Ich würde mich auch gerne daran versuchen ihn weiter zu entwickeln.

Danke

Haupt-Fhem (Docker auf Synology), Sub-Fhem (433Mhz und 833Mhz) auf RasPi, Sub-Fhem (Heizungssteuerung) auf RasPi, Sub_Fhem (System) auf RasPi, IoBroker zur Darstellung (Docker auf Synology), alles verbunden über einen MQTT Broker, insgesamt ca. 100 Sensoren/Aktoren

P.A.Trick

Biete mich als Betatester an!
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

Sirphunk

#18
Unten im Anhang ist der Code.

Folgende Probleme konnte ich beobachten.

  • Durch das regelmäßigen pullen der Informationen vom AVR reagiert dieser nach 24-48 Stunden nicht mehr auf die Netzwerkanfragen (Auch über die Control App nicht.
  • Durch die fehlenden Antworten hängt sich FHEM weg. (Errmode='die' in der Telnet Verbindung. Bei Errmode='return' wird der AVR als eingeschaltet ausgewertet, kann aber logischerweise nicht mehr angesprochen werden.)
  • Ein fehlerhaftes define sorgt ebenfalls für die oben beschriebene Problematik
  • Die Lautstärke kann nicht direkt als Wert gesetzt werden. Nur Volume Up und Volume Down funktionieren. Dazu werde ich noch eine Funktion schreiben, die errechnet wieviel Schritte vom aktuellen Lautstärkewert zu Wunschwert notwendig sind
  • Bringt alles nix, wenn der AVR nach gewisser Zeit nicht mehr reagiert und FHEM mit sich reißt... :-)

Bei mir ist es ein VSX-828. Die größeren Modelle ab "92x" unterstützen ja die "Große" Control App. Evtl. ist es dort möglich auch die Speaker A/B zu wählen oder die Lautstärke direkt anzusteuern.

Get funktioniert noch nicht.

Folgende SET Befehle funktionieren:
- set on/off
- set volumeUp/volumeDown
- set input Sat/Netradio/DIREKT(z.B. 06FN)
- set mute on/off

Folgende Stati werden abgefragt:
- Powerstatus
- Lautstärke
- Gewählter Eingang
- Mute on/off

Dann testet mal. Feedback natürlich gewünscht und notwendig!

P.A.Trick

#19
So ich habe das Device mal mit

define AVR PIONEER_AVR 192.168.1.18

definiert.

Was mir als erstes aufgefallen ist der Status "STATE". Dort steht im Modul ON und OFF. Ich habe jetzt nicht geschaut wie das bei den anderen AVRs aussieht, aber beim meinem XBMC wird
das mit "opened" oder "disconnected" angezeigt. Wäre schön, wenn wir das auch so machen könnten?

opened:rc_GREEN:on disconnected:rc_RED:off Initialized:message_socket_disabled


Test mit meinem VSX-922 Receiver (BTW: Können wir das Modell auch als READING anzeigen?)

2014.03.16 12:18:51 2: PIONEER_AVR set AVR mute Klappt, allerdings wird das READING mute nicht aktualisiert?
2014.03.16 12:27:58 2: PIONEER_AVR set AVR input Hm, das geht irgendwie nicht bei mir....es kommt immer "NOT AVAILABLE" im Display. Wie muss ich den Input denn angeben?
2014.03.16 12:23:58 2: PIONEER_AVR set AVR on und off
2014.03.16 12:24:56 2: PIONEER_AVR set AVR volumeDown
2014.03.16 12:25:10 2: PIONEER_AVR set AVR volumeUp
klappt einwandfrei!

Der Befehl "statusrequest" zeigt bei mir nichts an. Was sollte hier stehen?

2014.03.16 12:51:22 2: PIONEER_AVR set AVR statusRequest
2014.03.16 12:51:22 4: PIONEER_AVR AVR:



Zum Eingang: Wäre es möglich eine Liste mit den möglichen Quellen miteinzubauen? (siehe Screenshot)
..und vielen Dank für deine Mühe!


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

Sirphunk

#20
Der State soll laut DevelopmentGuidlines im Wiki on oder off benannt sein, damit es konform bleibt mit den anderen Modulen.
Das Enigma2 Modul zum Beispiel gibt auch on oder off zurück.
Da ist das XBMC Modul wohl nicht konform.

Mute aktuaisiert sich bei der nächsten Abfrage (standard alle 120 Sekunden)

Die Modell-Abfrage habe ich bewußt vorläufig deaktiviert, da wir derzeit noch nichts mit der Info anfangen können.

Input scheint problematisch zu sein, da die Eingänge bei jedem Modell anders benannt sind.

Beim 828 ist z.B. das Input Netradio als 06FN deklariert und müsste im Telnet-Befehl auch so aufgerufen werden. In der Befehlsreferenz die ich habe ist Netradio aber als 26FN dekariert.

Da könnte die Modellbezeichnung evtl. doch nützlich sein um den jeweils korrekten Eingang anzusprechen.
Schalte doch bei deinem AVR mal aufs Internetradio und gucke per Telnet mit dem Befehl '?F' was er dir Antwortet, oder warte 120 Sekunden und guck ins Device unter Channel.

Mit 'set input 06FN' kann ich z.B. aufs Internetradio schalten, oder eben durch den Hardcode 'set input Netradio'. Das bewirkt das gleiche, funktioniert aber eben nur beim VSX828.

Wichtig wäre auch noch ob das ganze bei dir stabil läuft. Mein AVR hängt sich wie gesagt nach gewisser Zeit weg und ist übers Netzwerk nicht mehr ansprechbar, Streaming funktioniert auch nur noch abgehackt etc.

Statusrequest erzwingt einmal das auslesen und aktualisieren der Readings außerhalb des 120 Sekunden Rythmus.

P.A.Trick

#21
Zitat von: Sirphunk am 16 März 2014, 12:56:51
Der State soll laut DevelopmentGuidlines im Wiki on oder off benannt sein, damit es konform bleibt mit den anderen Modulen.
Das Enigma2 Modul zum Beispiel gibt auch on oder off zurück.
Da ist das XBMC Modul wohl nicht konform.

Mute aktuaisiert sich bei der nächsten Abfrage (standard alle 120 Sekunden)

Die Modell-Abfrage habe ich bewußt vorläufig deaktiviert, da wir derzeit noch nichts mit der Info anfangen können.

Input scheint problematisch zu sein, da die Eingänge bei jedem Modell anders benannt sind.

Beim 828 ist z.B. das Input Netradio als 06FN deklariert und müsste im Telnet-Befehl auch so aufgerufen werden. In der Befehlsreferenz die ich habe ist Netradio aber als 26FN dekariert.

Da könnte die Modellbezeichnung evtl. doch nützlich sein um den jeweils korrekten Eingang anzusprechen.
Schalte doch bei deinem AVR mal aufs Internetradio und gucke per Telnet mit dem Befehl '?F' was er dir Antwortet, oder warte 120 Sekunden und guck ins Device unter Channel.

Mit 'set input 06FN' kann ich z.B. aufs Internetradio schalten, oder eben durch den Hardcode 'set input Netradio'. Das bewirkt das gleiche, funktioniert aber eben nur beim VSX828.

Wichtig wäre auch noch ob das ganze bei dir stabil läuft. Mein AVR hängt sich wie gesagt nach gewisser Zeit weg und ist übers Netzwerk nicht mehr ansprechbar, Streaming funktioniert auch nur noch abgehackt etc.

Statusrequest erzwingt einmal das auslesen und aktualisieren der Readings außerhalb des 120 Sekunden Rythmus.

Hier das Ergebnis bei Internetradio (manuell eingestellt)

Trying 192.168.1.18...
Connected to 192.168.1.18.
Escape character is '^]'.
BridgeCo AG Telnet server
?F
FN38


Zum Status: Nein der Channel wird im Reading nicht aktualisiert (siehe Anhang!). Auch der Status "state" wird nicht auf "off" gesetzt, sobald der Verstärker vom Netz getrennt wird.
Bei TV steht überigens FN05.
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

Was mir noch aufgefallen ist?

2014.03.17 15:20:49 5: PIONEER_AVR AVR: called function PIONEER_AVR_Set()
2014.03.17 15:20:52 5: PIONEER_AVR AVR: called function PIONEER_AVR_Set()
2014.03.17 15:21:36 5: PIONEER_AVR AVR: called function PIONEER_AVR_Set()
2014.03.17 15:21:42 5: PIONEER_AVR AVR: called function PIONEER_AVR_Set()
2014.03.17 15:21:52 5: PIONEER_AVR AVR: called function PIONEER_AVR_Set()
2014.03.17 15:21:52 5: PIONEER_AVR AVR: called function PIONEER_AVR_Get()
2014.03.17 15:21:53 5: PIONEER_AVR AVR: called function PIONEER_AVR_Set()
2014.03.17 15:22:11 5: PIONEER_AVR AVR: called function PIONEER_AVR_Set()
2014.03.17 15:22:14 5: PIONEER_AVR AVR: called function PIONEER_AVR_Set()


Wie passt das denn mit dem Pollingintervall von 120 Sekunden zusammen?
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

janlau

#23
Hallo,
bin ebenfalls sehr an einem Modul für Pioneer AVRs interessiert und habe dieses Modul getestet.
Das Problem, dass die Lautstärke nicht direkt gesetzt werden kann liegt an der fehlerhaften Dokumentation der Befehle.
So muss zum setzen der Lautstärke eine Null hinzugefügt werden. Bsp: 000VL für Lautstärke 0 und 185VL für Lautstärke +12.
MfG janlau

janlau

Hallo,

Habe das Modul nun um das setzen der Lautstärke erweitert. Ich selber besitze den VSX-921.
Um die Lautstärke zu setzen muss einfach Volume ausgewählt werden und ein Wert zwischen -80 und +12 gesetzt werden.
Außerdem habe ich erste Funktionen für Zone2 hinzugefügt. Auch hier ist das setzen der Lautstärke schon verfügbar. Bei Zone2 kann ein Wert zwischen -80 und 0 gesetzt werden.

P.A.Trick

Frage: Kann man auch einen "Slider" anstatt des Textfeldes einbauen für die Lautstärke?
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

janlau

Habe einen solchen Slider bereits bei dem Modul für den Yamaha AVR gesehen.
Bin leider absoluter Neuling in Sachen Perl, werde morgen aber mal versuchen die Funktion aus dem Yamaha Modul zu kopieren.

P.A.Trick

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

janlau

Hier eine neue Version mit Slider für Volume und Zone2Volume.
Außerdem habe ich ein Dropdown Menü für die Inputs hinzugefügt.
Werde mich jetzt mal an die Readings wagen.

Ps: Der Slider war dann doch einfacher als gedacht  ;D

P.A.Trick

Sehr schön werde ich heute Abend direkt mal testen und mir den Slider anschauen :-)
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