Neues Modul VestelTVs für verschiedene TVs (Telefunken, Graetz, Toshiba, Medion)

Begonnen von eki, 04 Januar 2021, 18:56:19

Vorheriges Thema - Nächstes Thema

eki

Die Meldungen sind nicht kritisch, nur Warnungen (da habe ich vergessen einen Fall richtig abzufangen).

Um das Ganze einzugrenzen, folgende Frage:
Hast Du mal probiert, ob die "Fernbedienungsbefehle wie z.B. VolumeUp VolumeDown etc. etwas bewirken?
Wird das Statusreading erzeugt und beim Ein-/Ausschalten aktualisiert?

Hintergrund: Das Modul kommuniziert auf zwei (oder sogar drei) Weisen mit dem TV.

  • Erstens indem Anfragen auf einen tcp Port (Standardmäßig 1986) und entsprechende Antworten verarbeitet werden (zu Readings im Allgemeneinen). Das geht über ein Socket und benutzt IO::Socket::INET (das muss also installiert sein)
  • Zweitens indem über HTTP auf einem anderen Port Befehle geschickt werden (dort gibt es kein Feedback). Das sind die Befehle, die die normalen Fernbedienungskommandos simulieren. Das geht über die in FHEM implementierten HTTPUtils
  • Es werden pings auf die IP Adresse geschickt, um den Status des TVs abzufragen. Das geht über NET::Ping und daher muss für den Status auch das installiert sein.

karpate

Hallo eki,
schnelle Rückmeldung: VolumeUp VolumeDown wird nicht ausgeführt, sowie keine Aktualisierung des Status beim Ein/Auschalten.

Gruß Ingo
# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

eki

Das hinterlässt mich etwas ratlos. Du könntest mal einen Portscan auf die IP des TV machen, um zu sehen, ob überhaupt, und welche Ports offen sind.

karpate

Hallo eki,

der Portscan sagt, das eine Netzwerkkarte [Vestel Elektronik San ve Tic. A.S.] eingebaut ist und folgende Ports geöffnet sind:
2870,4660,4725,7382,7681,9080,34016

Gruß Ingo
# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

eki

Dann kannst Du mal versuchen, die Ports mit

attr <Name> http_port <Portnummer>

bzw.

attr <Name> tcp_port <Portnummer>

zu setzen und dann schauen (am besten auf DEF bei den Internals clicken und das dann per modify DEF abspeichern), ob sich was tut. Beim http immer volumeUp oder so probieren, bei den tcp Ports immer warten, ob sich der Status bzw. CSTATE ändert.

karpate

Danke für die Tipps:
egal welchen tcp_port ich setze, der status wird aktualisiert und der TV wird als connected angezeigt.
Bei http_port ist egal welchen Port ich setze, bei keinem hat ein Volume Up/Down funktioniert.
# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

eki

Um mal grundsätzlich zu schauen ob der TV überhaupt irgendwas in der Richtung unterstützt, könntest Du mal die Telefunken Smart Remote App ausprobieren.

karpate

Ich habe diese App https://play.google.com/store/apps/details?id=com.telefunken.SmartRemote&hl=de&gl=US installiert. Den TV hat sie automatisch anhand der IP gefunden und eine Verbindung hergestellt. Grundsätzlich scheint das zu funktionieren.
# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

eki


karpate

# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

eki

Was ich noch anbieten könnte, wäre, mal das websocket interface noch mal zu aktivieren, vielleicht funktioniert das ja bei Deinem TV, bei mir hat das nicht funktioniert und deshalb habe ich es lahmgelegt. Das kann ich aber bie mir nicht testen, deshalb würde ich es nur machen, wenn Du lust hast da ein bisschen zu "forschen". Das heiißt, ich probiere ein paar Sachen im Code und Du testest es an Deinem TV und sagst mir was passiert. Das wäre zugegeben ziemlich remote und würde sicher auch nicht gleich zum Erfolg fürhren. Ich mache das aber nur, wenn Du Lust hast (braucht womöglich ein bisschen Geduld und Durchhaltevermögen  ;)). Wenn Du keine Lust hast, bin ich auch nicht  böse.

karpate

ja gerne, wenn du eine Chance siehst den TV anzubinden würde ich dich gerne unterstützen.
# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

eki

Na dann probiere mal die angehängte Version. Wenn irgendetwas mit dem Websocket klappt, dann sollten Informationen in ein Reading "ws_answer" laufen. Der verwendete Port kann mit attr <name> ws_port <nummer> geändert werden.

karpate

angehängte Version habe ich neu geladen mit
reload 82_VestelTVs.pm

anschließend kam gleich die Meldung
Bareword "TV" not allowed while "strict subs" in use at ./FHEM/82_VestelTVs.pm line 665.
syntax error at ./FHEM/82_VestelTVs.pm line 666, near "now
my "
Global symbol "$client" requires explicit package name (did you forget to declare "my $client"?) at ./FHEM/82_VestelTVs.pm line 666.
Global symbol "$client" requires explicit package name (did you forget to declare "my $client"?) at ./FHEM/82_VestelTVs.pm line 668.
Global symbol "$client" requires explicit package name (did you forget to declare "my $client"?) at ./FHEM/82_VestelTVs.pm line 670.


Im Log wurden folgende Warnungen protokolliert:
2021.02.01 09:56:39 1: PERL WARNING: Subroutine VestelTVs_Initialize redefined at ./FHEM/82_VestelTVs.pm line 174.
2021.02.01 09:56:39 1: PERL WARNING: Subroutine VestelTVs_Define redefined at ./FHEM/82_VestelTVs.pm line 214.
2021.02.01 09:56:39 1: PERL WARNING: Subroutine VestelTVs_Cleanup redefined at ./FHEM/82_VestelTVs.pm line 257.
2021.02.01 09:56:39 1: PERL WARNING: Subroutine VestelTVs_Shutdown redefined at ./FHEM/82_VestelTVs.pm line 263.
2021.02.01 09:56:39 1: PERL WARNING: Subroutine VestelTVs_Undef redefined at ./FHEM/82_VestelTVs.pm line 278.
2021.02.01 09:56:39 1: PERL WARNING: Subroutine VestelTVs_Get redefined at ./FHEM/82_VestelTVs.pm line 293.
2021.02.01 09:56:39 1: PERL WARNING: Subroutine VestelTVs_Set redefined at ./FHEM/82_VestelTVs.pm line 325.
2021.02.01 09:56:39 1: PERL WARNING: Subroutine VestelTVs_Attr redefined at ./FHEM/82_VestelTVs.pm line 451.
2021.02.01 09:56:39 1: PERL WARNING: Subroutine VestelTVs_Notify redefined at ./FHEM/82_VestelTVs.pm line 493.
2021.02.01 09:56:39 1: PERL WARNING: Subroutine VestelTVs_ResetNotifies redefined at ./FHEM/82_VestelTVs.pm line 531.
2021.02.01 09:56:39 1: PERL WARNING: Subroutine VestelTVs_TryPorts redefined at ./FHEM/82_VestelTVs.pm line 546.
2021.02.01 09:56:39 1: PERL WARNING: Subroutine VestelTVs_SendKey redefined at ./FHEM/82_VestelTVs.pm line 592.
2021.02.01 09:56:39 1: PERL WARNING: Subroutine VestelTVs_GetTVSetting redefined at ./FHEM/82_VestelTVs.pm line 616.
2021.02.01 09:56:39 1: PERL WARNING: Subroutine VestelTVs_Callback redefined at ./FHEM/82_VestelTVs.pm line 627.


Ich habe alle Ports (2870,4660,4725,7382,7681,9080,34016) als "attr ws_port" durchprobiert. Bei keinem wurde ein Readings "ws_answer" erzeugt....
# Pi3 (BBB;FB7390)
# TCM310, CUL V4, HM-CFG-LAN,JeeLink,Tradfri,ESP32-Cam@MQTT: Wasseruhr

eki

Ups sorry, ich habe ein # zu viel entfernt. Neue Version anghängt. Die Warnungen im Log sind normal, kommen vom reload.