FHEM -> Samsung TV mit Tizen

Begonnen von Florian_GT, 12 September 2016, 00:15:35

Vorheriges Thema - Nächstes Thema

mod25

schaut euch mal folgenden github an:

https://github.com/eclair4151/samsung_encrypted_POC/tree/master

bei mir j-series hat es funktioniert!

mod25

Gerhard

Hallo mod25,

sieht gut aus, könntest du in ein par Stichworte was zu tun ist, beschreiben?

Ich habe 2 x H-Serie und eine J-Serie, aber erst nächste Woche kann ich was Testen.

Danke, Gerhard
FB6890LTE, cubietruck, orangePi, raspberry 2/3/4, HM/HMIP, shelly > 50, etc.

KölnSolar

Naja, installieren, testen u. ein FHEM-Modul drumherum schreiben.  8)

Mir stellt sich erst einmal die Frage, was zu dem im Modul implementierten samsungctl anders ist ?


@mod25: Du hattest es mit samsungctl u. Dominik's Anpassung bei Deinem J-Serie mit welchem Ergebnis probiert ?
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Gerhard

Zitatschaut euch mal folgenden github an:

https://github.com/eclair4151/samsung_encrypted_POC/tree/master

bei mir j-series hat es funktioniert!

mod25

ich habe verstanden, da ist irgend wie eine Lösung ("bei mir j-series hat es funktioniert!"), oder habe ich da was falsches verstanden??
FB6890LTE, cubietruck, orangePi, raspberry 2/3/4, HM/HMIP, shelly > 50, etc.

Det20

Darf ich nochmal pushen? Trotz aller Aktualisierung bekomme ich im Log den Fehler "PERL WARNING: Argument "ws" isn't numeric in numeric ne (!=) at ./FHEM/70_STV.pm line 287, <$fh> line 1694."

KölnSolar

ist erst einmal nur eine
ZitatPERL WARNING
, also nicht wirklich ein Problem. Dass bei Dir die samsungctl-Variante nicht funktioniert, liegt an etwas anderem.
Du könntest ja mal mod25's Link probieren....
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Det20

Dachte ich auch schon, leider bin ich überhaupt nicht in der Modul-Entwicklung zu Hause.
Die 70_STV.PM muss man nur umstricken, damit zuerst auf "ws" und damit auf eine Zeichenkette geprüft wird. Dann kommt der Fehler nicht mehr ... Es wird aber leider auch kein TV erkannt. Schade.

Von


  if ( $hash->{Port} != 55000 && ...


in


  if ( $hash->{Port} ne "ws" && $hash->{Port} != 55000 ...

frosch6669

schaut euch mal folgenden github an:

https://github.com/eclair4151/samsung_encrypted_POC/tree/master

bei mir j-series hat es funktioniert!

mod25


Geht bei meinem HU6900 auch ;-)
Einmal gepaired bleibt die Verbindung erhalten, d.h. man kann nur noch mit debug.py arbeiten... auch nach einem tv neustart.. ;D ;D ;D ;D ;D ;D

mod25

Zitat von: KölnSolar am 13 Dezember 2017, 15:13:39
Naja, installieren, testen u. ein FHEM-Modul drumherum schreiben.  8)

Mir stellt sich erst einmal die Frage, was zu dem im Modul implementierten samsungctl anders ist ?


@mod25: Du hattest es mit samsungctl u. Dominik's Anpassung bei Deinem J-Serie mit welchem Ergebnis probiert ?

ja hatte ich versucht aber ohne Erfolg.
mal sehen eventuell kann einer von den Pros es in  70_STV.PM mit aufnehmen wäre TOP.

mod25

Matthias

Naja, bevor man ein Modul darum bauen kann sollte man wohl erst das Problem lösen, dass der Key nach jedem Neustart des Fernsehers kaputt geht. Jedesmal ein Pairing auszuführen ist irgendwie keine Lösung.
Hier fehlt noch irgendetwas - deswegen ist es aber auch wohl nur ein POC.

Matthias

#160
... und noch eine Erkenntnis: samsungctl kann via pip nicht funktionieren, weil der Code Stand zu alt ist. Pairing ist erst im aktuellen Github Stand mit drin. Deswegen:

Von Github klonen und das Modul direkt aufrufen. Dann reicht aber ein einfaches Absetzen des Kommandos auch nicht - man muss ein explizites pair vorher aufrufen:

python3 -m samsungctl --host 192.168.0.24 --timeout 5 --method websocket --name FHEMRemote --pair KEY_CHUP

Damit bekommt man dann auch die Pin-Abfrage. Nur Schalten kann man nicht ...

Edit: Jetzt kann ich auch Schalten. Aber zuerst - der Code im samsunctl ist _exakt_ der Gleiche wie im POC. Die zugehörige Methode heißt "pin" (und es gibt sie ausschließlich im Github Repo). Was muss man nun tun:

* Einmal python3 -m samsungctl --host $IP --timeout 5 --method pin --name FHEMRemote --pair KEY_CHUP ausführen. Den Session Key und die ID merken
* Eine samsungctl.conf anlegen und die Werte austauschen (unter ~/.config/samsungctl.conf): {
  "name": "samsungctl",
  "description": "PC",
  "id": "myControl",
  "method": "pin",
  "timeout": 0,
  "session_key": "$session_key",
  "session_id": $session_id
}

* Jetzt kann man mit python3 -m samsungctl --host 192.168.0.24 --timeout 5 --method pin --name FHEMRemote KEY_CHDOWN schalten.

Der große Haken: Das Ganze hat das gleiche Problem wie der POC. Ausschalten, Einschalten. Der Session-Key ist kaputt und man fängt von vorne an.

yanniks

Darf ich dieses Thema hier nochmal aufgreifen? https://github.com/kyleaa/homebridge-samsungtv2016

Ich habe mir das grade nochmal genauer angeguckt und konnte einen MU6300 (US-Fernseher, teste zu Hause nochmal in den kommenden Wochen) auf der Basis steuern, inklusive Lautstärke hoch, runter, ein, aus, etc.. Das Homebridge-Modul hat bei mir zu Hause schon mit einem 2017er Samsung-Fernseher funktioniert.

Mit der Websocket-Adresse aus dem Projekt konnte ich komplett ohne Verschlüsselung mit dem Fernseher kommunizieren, ich musste nur einmal in einem Popup erlauben, dass der Fernseher durch mein anderes Gerät gesteuert werden darf.

Steffen@Home

Zitat von: yanniks am 04 Januar 2018, 02:24:33
Darf ich dieses Thema hier nochmal aufgreifen? https://github.com/kyleaa/homebridge-samsungtv2016

Ich habe mir das grade nochmal genauer angeguckt und konnte einen MU6300 (US-Fernseher, teste zu Hause nochmal in den kommenden Wochen) auf der Basis steuern, inklusive Lautstärke hoch, runter, ein, aus, etc.. Das Homebridge-Modul hat bei mir zu Hause schon mit einem 2017er Samsung-Fernseher funktioniert.

Mit der Websocket-Adresse aus dem Projekt konnte ich komplett ohne Verschlüsselung mit dem Fernseher kommunizieren, ich musste nur einmal in einem Popup erlauben, dass der Fernseher durch mein anderes Gerät gesteuert werden darf.

Das Modul sieht ja interessant aus.... Funktioniert das auch mit der F-Serie ?
Pi 1 - FHEM, HM-MOD-RPI-PCB, HM-RT-CC-DN, HM-WDS10-TH-O, HM-Sec-SCo, HM-LC-Sw1PBU-FM, Relais Platine für ext. Ansteuerung, LD382 Wifi LED Controller, DHT
Pi 2 - Kamera, DHT
Pi 3 - FHEM2, Grafana, DHT, Magnet-Sensoren, Relais-Platine

Raymund



Zitat von: frosch6669 am 22 Dezember 2017, 19:23:34
schaut euch mal folgenden github an:

https://github.com/eclair4151/samsung_encrypted_POC/tree/master

bei mir j-series hat es funktioniert!

mod25


Geht bei meinem HU6900 auch ;-)
Einmal gepaired bleibt die Verbindung erhalten, d.h. man kann nur noch mit debug.py arbeiten... auch nach einem tv neustart.. ;D ;D ;D ;D ;D ;D

Hallo, mit meinem UE-55H6740SV (Bj. 2014) hat das auch geklappt, weshalb ich mich mal an die Portierung des Python-Scriptes nach Perl gemacht habe. Die Registrierung der App im TV und die Erzeugung des Keys funktionieren schon mal. Es kommt der identische Befehl raus. Jetzt noch die Websocket-Sache ...  ;D

KölnSolar

ZitatPortierung des Python-Scriptes nach Perl
Das ist prima  :-* u.U. kann ich später einen "message-part" beitragen, sofern SOAP-messages bei Tizen unterstützt werden  :-\
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt