panasonic viera funktioniert nur teilweise

Begonnen von sischi, 27 April 2019, 16:40:42

Vorheriges Thema - Nächstes Thema

sischi

Hallo zusammen,

ich habe mir Ende letzten Jahres einen neuen Fernseher der Marke Panasonic ins Haus geholt, um genau zu sein das Modell TX-55FXW784 Um das Gerät in meine FHEM-Installation zu integrieren, habe ich mir das Panasonic-Viera-Modul eingerichtet.

Es scheint auch zu funktionieren, zumindest werden die Readings des Gerätes (An/Aus, Mute und Lautstärke) korrekt angezeigt. Ich kann auch die Lautstärke und Mute-Status per "set"-Befehl verändern. Das war es dann aber leider auch schon  :(
Ich kann das Gerät per FHEM weder ein- noch ausschalten, noch kann ich irgendeine der "RemoteControl"-Funktionen an den TV senden.

Ein Blick ins FHEM-Log zeigt, dass die SOAP-Anfragen erstellt und gesendet werden. Die funktionierenden Befehle (Lautstärke und Mute) werden an die URL http://<IP des TVs>/dmr/control_0 gesendet und entsprechend vom TV quittiert. Die nicht funktionierenden (RemoteControl-) Befehle werden an die URL http://<IP des TVs>/nrc/control_0 gesendet. Leider werden diese Anfragen mit einem 401 - Invalid Action vom TV quittiert.

Meine Befürchtung ist jetzt, dass Panasonic bei den neueren Modellen etwas an dem Protokoll geändert hat. Die Android App "TV Remote 2" von Panasonic funktioniert jedoch einwandfrei mit meinem TV. Ein Blick in den Netzwerk-Verkehr erhärtet meine Befürchtung. Denn hier kann ich sehen, dass bei der Betätigunf von z.B. der "VolumeUp"-Taste eine X_EncryptedCommand an die URL http://<IP des TVs>/nrc/control_0 des TVs gesendet wird.

Hab ich vielleicht nur irgendeine Einstellung vergessen? Hatte das Problem vielleicht schon jemand von euch? Oder ist es tatsächlich so, dass Panasonic das Kommunikationsprotokoll der neueren Modelle geändert hat?

Ich hoffe ihr könnt mir helfen! Vielen Dank im Voraus!

sischi

Vielleicht mal anders gefragt:

Kann vielleicht jemand, mit einem ähnlich neuen TV-Modell, bestätigen, dass das Viera-Modul mit den neuen Modellen funktioniert?
Oder kann jemand bestätigen, dass die TV-Remote-App (Android) bei älteren TV-Modellen die gleiche Schnittstelle wie das Viera-Modul verwendet?

Ich bitte um Hilfe oder Ideen, was ich noch ausprobieren kann  :(

Besten Dank!

Prof. Dr. Peter Henning

Falscher Forumsbereich. Muss nach "Multimedia".

LG

pah

Bualicher

#3
Der Beitrag ist zwar schon ein paar Tage alt, für mich aber aktuell.
Bei mir kommen beim TX-55FZW nichtmal die Readings. Sprich ich sehe keinen Status des Geräts.
Natürlich ist auch der Versuch irgendwelche Befehle an den TV zu senden sinnlos.

Bei meinem betagten TX-P50GT50E funktioniert alles. Also hat sich hier am Protokoll wohl etwas geändert.

Wäre super wenn das Viera-Modul auch die neueren Geräte unterstützen könnte.

P.S.: muss mich korrigieren. Ich bekomme die Readings. Also genau gleiche Situation wie bei sischi.

mabula

#4
Hallo,
die Kommunikation mit neuen Panasonic TV's ist verschlüsselt. Ich habe mal die Verschlüsselung in das Modul eingebaut. Vielleicht gibt es interessierte Tester. Die Einrichtung ist etwas komplizierter, da der verschlüsselte TV am Bildschirm einen PinCode anzeigt. Bitte das VIERA Modul wie folgt definieren:
define <name> VIERA 192.xxx.xxx.xxx 60 0000 ?
TV einschalten und warten bis die Verschlüsselung erkannt wird. Dann ein Kommando ausführen (set <name> off), danach erscheint der PinCode. Die Definition abändern und den PinCode eintragen und das ? löschen. Danach das Kommando nochmals ausführen. Nun ist der TV aus, blöd. Muss ihn wieder mit der FB einschalten  ;).
Gruß

Download Modul hier.
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

Bualicher

#5
Habe das Modul jetzt mal getestet.
Bekomme aber die Meldung:
"Cannot load module VIERA".
Habe die alte Datei gleichen Namens mit den gleichen Rechten ersetzt. Brauche ich noch was damit das Modul läuft?
FHEM ist aktuell (Rev. 20407).

Edit: habe mal den Logauszug
2019.10.30 17:10:28 1 : reload: Error:Modul 70_VIERA deactivated: Can't locate Crypt/Mode/CBC.pm in @INC (you may need to install the Crypt::Mode::CBC module) (@INC contains: . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/arm-linux-gnueabihf/perl5/5.24 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base ./FHEM ./FHEM/lib) at ./FHEM/70_VIERA.pm line 64. BEGIN failed--compilation aborted at ./FHEM/70_VIERA.pm line 64.
2019.10.30 17:10:28 0 : Can't locate Crypt/Mode/CBC.pm in @INC (you may need to install the Crypt::Mode::CBC module) (@INC contains: . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/arm-linux-gnueabihf/perl5/5.24 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base ./FHEM ./FHEM/lib) at ./FHEM/70_VIERA.pm line 64. BEGIN failed--compilation aborted at ./FHEM/70_VIERA.pm line 64.

mabula

Das habe ich noch vergessen. Man benötigt noch einige PERL Bibliotheken. Also im Terminal folgendes eingeben:

sudo cpan
  install MIME::Base64
  install Crypt::Mode::CBC
  install Digest::SHA
  q
  für exit.
Dann sollte das Modul gehen.
Gruß
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

Bualicher

Habe die Bibliotheken installiert. Der Fehler ist weg.

Zitat von: mabula am 29 Oktober 2019, 21:32:14
Hallo,
die Kommunikation mit neuen Panasonic TV's ist verschlüsselt. Ich habe mal die Verschlüsselung in das Modul eingebaut. Vielleicht gibt es interessierte Tester. Die Einrichtung ist etwas komplizierter, da der verschlüsselte TV am Bildschirm einen PinCode anzeigt. Bitte das VIERA Modul wie folgt definieren:
define <name> VIERA 192.xxx.xxx.xxx 60 0000 ?
TV einschalten und warten bis die Verschlüsselung erkannt wird. Dann ein Kommando ausführen (set <name> off), danach erscheint der PinCode. Die Definition abändern und den PinCode eintragen und das ? löschen. Danach das Kommando nochmals ausführen. Nun ist der TV aus, blöd. Muss ihn wieder mit der FB einschalten  ;).
Gruß
Ich definiere das TV-Gerät wie Du beschrieben hast. Setze dann einen Befehl ab und am TV wird ein Fenster unten links mit dem Code eingeblendet und die Aufforderung diesen Code zum Bestätigen einzugeben.
Wenn ich Dich richtig verstehe, dann editiere ich jetzt die fhem.cfg und ändere die 0000 in den Code und entferne das Fragezeichen. Dann setze ich nochmal einen Befehl ab und darauf müsste der TV reagieren. Tut er aber nicht. Im TV ist immer noch das Fenster mit dem Code eingeblendet. Nach einer gewissen Zeit verschwindet dieses. Weiterhin keine Reaktion. Wenn ich die Definition wieder auf ...0000 ? ändere und einen Befehl absetze, dann wird ein neuer Code eingeblendet.
Am TV muss ich diesen Code aber nicht bestätigen?

mabula

Ja, das sollte so gehen. Aber bitte im Gerätefenster editieren. Also auf DEF drücken und nach der Änderung auf modify drücken. Am besten das Kommando "set TV off" verwenden.
Gruß
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

Bualicher

#9
Ok, über DEF funktioniert es. Konnte das Gerät dann von FHEM aus bedienen.
Nachdem ich testhalber FHEM neugestartet hatte, ging nichts mehr.
Auch war mir aufgefallen, dass meine devStateIcons bei beiden Panasonic TVs (alt und neu) nicht funktionieren. Beim alten Modul hat es am alten Gerät funktioniert.

Edit: devStateIcon funktioniert am alten Gerät wieder. StateFormat war vorher auf "power". Habe das jetzt auf "state" gesetzt, da es das Attribut "power" im neuen Modul nicht mehr gibt.

mabula

Das mit dem Neustart ist mir auch aufgefallen. Habe im ersten Beitrag nochmals eine neuere Version hinterlegt. Bitte nochmals herunterladen.
Habe state wie bei den anderen Geräten angepasst, deshalb gehen die alten Einstellungen nicht mehr. Einziges vorgegebenes attr ist noch "webCmd   off". Dies
devStateIcon      off:it_television@red on:it_television@green:off
sollte gehen.

Gruß
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

Bualicher

Funktioniert alles bis ich FHEM neu starte. Auch mit neuerer Version.

mabula

Danke für die Info. Beim Neustart von FHEM werden die Schlüssel gelöscht. Ich bin auf der Suche wie das verhindert werden kann oder die wichtigsten Werte aus einem Speicher gelesen werden können. Jedes mal die Pin eingeben ist Käse. Ich bin noch nicht fündig geworden.
Gruß
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

mabula

VIERA Freunde,

das Modul für die neue Geräte Generation mit verschlüsselter TCP Verbindung ist fertig. Das Modul findet ihr in meinem 1. Beitrag oben.

Gruß
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

Bualicher

Vielen Dank für Dein Engagement.
bei mir ist mit der neuen Version nach FHEM-Neustart immer noch der Schlüssel weg und eine Bedienung über FHEM nicht möglich.

mabula

Hast du vor dem restart die neue Konfiguration mit save gesichert? Bei mir gings. Sequence und session_id zeigen nach dem Neustart "None" und werden beim nächsten Kommando wieder gesetzt.
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

Bualicher

Habe es gerade nochmal neu konfiguriert. Hatte zuvor zwar auch gespeichert, aber jetzt geht es auch nach Neustart.

Vielen Dank. Echt super Arbeit. Jetzt sollte das Modul nur noch übers Update kommen.

Bualicher

Muss leider nochmal nachhaken.
Ich habe ja 2 Panasonic TV-Geräte. Das neue Gerät funktioniert nach jetzigem Stand wunderbar.
Nur habe ich jetzt Probleme mit dem alten Gerät.
Hier kann ich jetzt über FHEM keine Befehle mehr setzen. Laut/leise, Mute geht. Aber an/aus oder ein Senderwechsel ist nicht möglich. Es wird hierbei ein Reading "stop" mit "yes" gesetzt, sobald ich einen Befehl abgebe. Ebenfalls gibt es ein Reading mit "Encryption" "yes". Bei der alten Technik sollte doch eigentlich keine Verschlüsselung aktiv sein, oder?

Achso, getestet mit dem neuesten Modul (Stand gestern um ~23Uhr)

mabula

#18
Leider habe ich keinen älteren TV. jetzt müssen wir Schritt für Schritt machen.
1. alten TV löschen --> delete <name>
2. define ...... 0000 ?   Dann müsste Encryption zu "no" werden. 
3. Dann doch neues define ohne ?
Bitte mal Werte Encryption und Sequence beobachten. Sollten bei no/None bleiben.

Gruß
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

Bualicher

Hat beim alten Gerät funktioniert. Danke. Ich hatte den komplett ohne PIN definiert.
Die Zahl (60) nach der IP-Adresse, was bedeutet die? Ist das ein Abfrageintervall? In Sekunden?

Aktualisiert sich bei Dir der State? Bei der verschlüsselten Version steht der bei mir immer auf "on". Das ging gestern bei irgendeiner Version.
Ich muss dazu sagen, dass ich am TV aufgrund aktiviertem CEC keinen kompletten off-Status bekomme. Die LED am Gerät wird im ausgeschaltenen Zustand auch nicht rot sondern nur orange. Im State stand dieser Zustand gestern auf "initialized" und das habe ich dann im devStateIcon ausgewertet. Hast Du hier etwas geändert?

Was mir auch noch aufgefallen ist: im Device wird oben "get ... power" angeboten. Dieses Reading gibt es nicht mehr. Kann das durch etwas wie state ersetzt werden?

Nochmals vielen Dank für Deinen Einsatz

mabula

Danke für den Test. Habe Version nochmals aktualisiert. Ich dachte das Modul trennt nicht zwischen verschiedenen TV's. Es freut mich, dass es funktioniert. Die Erkennung state on/off geht über die Status Abfrage. Solange der TV auf diese Abfrage antwortet, wird der state auf on bleiben. Initialize wird nur solange angezeigt, bis die erste Antwort auf Status kommt. Das Intervall bestimmt die Zeit zur Wiederholung der Abfrage und ist in Sekunden, also im Beispiel 60 sec, Power gibt es nicht mehr. Habe ich übersehen. Ist jetzt state.

Gruß
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

Bualicher

Danke für Deine Antwort.
Ich muss am TV-Gerät (TX-55FZW) in den Einstellungen TV-Remote aktivieren, damit ich das Gerät übers Netzwerk steuern kann. Ist ja Voraussetzung für unser Vorhaben.
Wenn das aktiviert ist, dann schaltet das Gerät aber nicht komplett ab (dann wäre die Status-LED rot, wie es auch bei deaktivierter TV-Remote Einstellung ist) sondern macht nur eine Art Soft-Standby (Status-LED orange).
Auf jeden Fall wird mir dieser orangene Zustand in FHEM als "on" gewertet, was nicht richtig ist. Das Gerät ist ausgeschaltet.
Ich bin mir nicht sicher ob es der Netzwerkverbindung über WLan geschuldet ist, dass das Gerät offensichtlich immer noch Anfragen beantwortet.

Wie hast Du denn Dein Gerät im Netzwerk? Über Kabel oder drahtlos? Welche Farbe hat die Status-LED am Gerät im Standby?

mabula

Diese Thema ist an anderer Stelle auch schon diskutiert worden. Solange die LED kein rot anzeigt wird der Status auf on bleiben. Mein Gerät ist über Wlan im Netz. Es gibt aber eine Einstellung am TV "Netzwerk" --> "TV-Remote Einstellungen". Dort dann Einschalten per App --> Aus und Networked Standby auch auf Aus. Dann sollte die LED auf rot gehen. D.h. man kann den TV halt nur über die FB einschalten.

Gruß
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

Bualicher

Zitat von: mabula am 02 November 2019, 13:29:15
Diese Thema ist an anderer Stelle auch schon diskutiert worden. Solange die LED kein rot anzeigt wird der Status auf on bleiben. Mein Gerät ist über Wlan im Netz. Es gibt aber eine Einstellung am TV "Netzwerk" --> "TV-Remote Einstellungen". Dort dann Einschalten per App --> Aus und Networked Standby auch auf Aus. Dann sollte die LED auf rot gehen. D.h. man kann den TV halt nur über die FB einschalten.

Gruß

Danke. So funktioniert es  :D
Nur mit FB einschalten, damit kann ich sehr gut leben. Kannst Du das neue Modul offiziell einchecken?

mabula

Hallo,
habe den verantwortlichen Entwickler für dieses Modul gebeten es einzuchecken.
Gruß
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

rudolfkoenig

Da der Modul-Maintainer sich im Forum seit August nicht angemeldet hat, und auf eine private Nachricht nach 3 Wochen nicht geantwortet hat, ist das Modul offiziell verwaist.

Ich wuerde mich freuen, wenn jemand mit passenden Hardware das Modul uebernimmt.

Falls sich keiner nach 2-3 Tagen meldet, dann werde ich die Aenderungen einchecken, und das Modul komissarisch betreuen, dafuer bitte hier in diesem Thema eine Erinnerung fuer mich posten.

mabula

Danke für das Angebot. Als Maintainer fehlen mir einige Prozeduren und Vorgehensweisen (Generation Assembler). Falls jedoch im Modul irgendwelche Probleme/Fehler auftauchen sollten, kann ich diese gerne bearbeiten.
Gruß
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

rudolfkoenig

ZitatAls Maintainer fehlen mir einige Prozeduren und Vorgehensweisen (Generation Assembler).
Das ist nicht so kompliziert, insb. wenn man ein existierendes Modul uebernimmt.
Fuer eine Anmeldung wg. Schreibrechte auf SVN siehe https://svn.fhem.de/
Wenn das doch zuviel ist, dann uebernehme ich das Check-In.