[gelöst] FHEM stürzt bei Bedienung der Fernsehers über das Viera Modul ab

Begonnen von FHEM_newbie, 10 April 2021, 20:41:12

Vorheriges Thema - Nächstes Thema

FHEM_newbie

Nach dem Einrichten des Viera Moduls funktioniert eigentlich alles okay, ich kann alle Infos des TV abrufen und sogar die Lautstärke ändern. Wenn ich aber umschalten oder gar ein oder ausschalten will, stürzt FHEM komplett ab.

2021.04.10 20:32:39 3: myTV1: Set on_off
FATAL: sizeof(iv) should be equal to blocksize (16) at /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1/Crypt/Mode/CBC.pm line 14.


Kann jemand damit was anfangen? Kann ich das CBC updaten bzw. muss ich und wenn ja wie?
Ich meine auch schon mal einen Thread mit einem ähnlichen Problem gelesen zu haben, finde ihn aber leider nicht mehr.

FHEM_newbie

Niemand eine Idee? Komisch ist auch, dass der aktuelle Status sich nicht mehr ändert, d.h. in FHEM ist der Fernseher dauerhaft auf ,,on".

mabula

Der Fehler kommt von den Hilfsroutinen bei Decrypt bzw. Encrypt. Die Blockgröße von 16 byte muss stimmen. Dies erledigen normalerweise die Hilfsmodule selbst. Wurden die Module wie in der Commandref beschrieben installiert?
Gruß Hans-Jörg
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

FHEM_newbie

Eigentlich hatte ich alles wie in der Commandref beim Viera Modul beschrieben installiert. Jetzt gerade nochmals installiert - ohne Fehlermeldungen.
Leider immer noch dasselbe Problem:

2021.07.17 13:33:54 3: myTV1: Set on_off
FATAL: sizeof(iv) should be equal to blocksize (16) at /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1/Crypt/Mode/CBC.pm line 14.
2021.07.17 13:33:54 1: Including fhem.cfg


Kann man das Crypt modul irgendwie testen oder anders updaten?

mabula

Bitte mal ein "list myTV1" posten.
Man kann  cpan und die anderen Module updaten:

sudo cpan
install CPAN
reload cpan
upgrade Crypt::Mode::CBC

Oder alle PERL Module mit upgrade ohne weitere Bezeichnungen updaten, dies dauert aber ewig und fhem service vorher stoppen.
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

FHEM_newbie

So sieht das List aus:

Internals:
   DEF        192.168.178.59 10 7818
   FUUID      6070befd-f33f-434b-4f80-860ef1d3850a01c9
   NAME       myTV1
   NR         242
   STATE      on
   TYPE       VIERA
   READINGS:
     2021-07-17 13:34:02   Encryption      yes
     2021-07-17 13:34:02   PinCode         1234
     2021-07-17 13:34:02   Sequence        None
     2021-07-11 09:30:48   mute            off
     2021-07-17 13:34:34   presence        present
     2021-07-17 13:34:02   session_id      None
     2021-07-17 13:34:34   state           on
     2021-04-09 22:56:43   stop            yes
     2021-07-18 22:29:27   volume          15
   helper:
     ENCRYPTION yes
     HOST       192.zzz.yyy.xx
     INTERVAL   30
     PORT       55000
     app_id     None
     pincode    1234
     session_IV None
     session_hmac_key None
     session_id None
     session_key None
     session_seq_num None
     stop       no
Attributes:
   room       Wohnzimmer
   webCmd     on_off


Die Updates werde ich heute Abend mal angehen oder fällt schon was auf? Auf jeden Fall schon mal Dankeschön!

mabula

Sorry, aber das TV Gerät wurde nie richtig definiert, sondern händisch gesetzt. Bitte wie im Commanref beschrieben verfahren.
Als erstes muss folgende Definition zum Start verwendet werden:
"define myTV1 VIERA 192.168.178.59 10 0000 ?"   Die 10 ist allerdings sehr kurz und belastet FHEM, besser 30 oder 60 verwenden. Die bereits gesetzten attr müssen nicht gelöscht werden.  TV kann dabei eingeschaltet sein. Dann warten bis Encryption gesetzt wird. Bei "NO" nichts weiter machen oder das Fragezeichen löschen. Vermutlich benötigt dein TV die verschlüsselte Verbindung, dann erscheint  "YES". Die Verschlüsselung kann nicht und darf nicht beliebig gesetzt werden.Dann ein Kommando ausführen, wie set myTV1 on_off, Dann erscheint auf dem TV-Bildschirm der PIN code. Dann die Definition wie beschrieben editieren.
Der sessionkey und HMAC ist nicht gesetzt und Encryption seht auf yes, Deshalb wurde das TV Gerät nicht wie in der Commandref beschrieben definiert und der CBC Fehler ist eine logische Konsequenz.

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

FHEM_newbie

Also, nochmal alles wie beschrieben neu angelegt und siehe da es funktioniert. Eigentlich war ich der Meinung es schon zu Anfang genauso gemacht zu haben. Vielleicht habe ich nicht gewartet bis Encryption = yes kam...
Jedenfalls funktioniert nun alles, vielen Dank!

FHEM_newbie

Wobei er immer noch nicht aus geht, also FHEM steht immer auf State = on, auch wenn der TV schon ewig ausgeschalten wurde. Das liegt aber wohl am Standby?

mabula

Das hängt von den Einstellungen im TV ab. State hat drei Zustände (siehe Commandref). Ist state wirklich im ausgeschalteten Zustand on oder doch dormant? Die Änderung des Zustands hängt von dem Zeitintervall ab und bitte warten.
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

FHEM_newbie

Nein ist definitiv auf On und das sogar nach mehreren Stunden noch. Dormant hatte ich bei der alten Config teilweise.

mabula

Der "state" wird indirekt über die automatische Statusabfrage der Lautstärke ermittelt und hängt auch von den Standby Einstellungen des TV ab. Wie ist der TV ins Netzwerk eingebunden, LAN oder WLAN? Wie ist die Einstellung am TV für "volume remotecontrol by DLNA" (siehe Commandref)?
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

FHEM_newbie

Das Gerät ist per LAN angebunden, die DLNA Einstellung gibt es bei meinem Gerät gar nicht... Ich habe jetzt aber mal den Heinserver aktiviert, das ist glaube ich die entsprechende Einstellung.

mabula

Da hab ich doch einige Software Updates des TV verschlafen. Diese Einstellung habe ich auch nicht mehr gefunden. Also mal meine Einstellungen:
Netzwerk -> TV Remote Einstellungen: TV Remote = ein, Einschalten per App = aus (TV off) = ein (TV dormant), Networked Standby = aus evtl. auch auf ein für dormant, Home Streaming = nur wenn eingeschaltet
Steht der state auf dormant kann man den TV per FHEM einschalten sonst nur per FB Und dann noch bei Setup:
Setup -> VIERA Link Einstellungen: VIERA Link = ein, Auto ein = aus, Auto Aus = ein, Standby Energiesparmodus = aus, Intelligent Auto Standby = ein.
FHEM auf RPI mit FS20, Homematic, ELERO, Zigbee, Eigenbau z.B. Heizölsensor auf Basis Arduino, Anemometer; Sprachsteuerung offline über vosk/Python

FHEM_newbie

Danke für deine Mühe! Das habe ich jetzt alles gleich eingestellt, aber außer dass sich der TV nicht mehr über FHEM ein- und ausschalten lässt (wahrscheinlich wegen Einschalten per App = aus) hat sich nichts getan. Immer noch in FHEM auf Dauer-an...