FHEM -> Samsung TV mit Tizen

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

Vorheriges Thema - Nächstes Thema

frank

dank der regapp.pl konnte ich nun erstmalig ein gerät an meinem H5303 registrieren.
root@raspberrypi:/home/pi/samsung# perl regapp.pl
Enter TV Pin: 4206
session key saved to file 'samsung_session_key.txt'


ich musste dazu allerdings folgende zeile unter step0 ändern, damit die einzugebende pin auf dem tv erscheint:
# my $step0_url = "http://$tv_address:$tv_port/ws/pairing?step=0&app_id=$app_id&device_id=$device_id&type=1";
my $step0_url = "http://$tv_address:$tv_port/ws/pairing?step=0&app_id=$app_id&device_id=$device_id&type=0&type=2";


befehle funktionieren natürlich noch nicht, da mir der port 8000 fehlt. aber die hoffnung stirbt zuletzt.  ;)

Starting Nmap 6.47 ( http://nmap.org ) at 2018-01-19 14:07 CET
Nmap scan report for 192.168.1.26
Host is up (0.023s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE
4443/tcp open  pharos
7676/tcp open  imqbrokerd
8080/tcp open  http-proxy
8443/tcp open  https-alt
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Raymund

#196
Zitat von: frank am 19 Januar 2018, 15:16:44
ich musste dazu allerdings folgende zeile unter step0 ändern, damit die einzugebende pin auf dem tv erscheint:
# my $step0_url = "http://$tv_address:$tv_port/ws/pairing?step=0&app_id=$app_id&device_id=$device_id&type=1";
my $step0_url = "http://$tv_address:$tv_port/ws/pairing?step=0&app_id=$app_id&device_id=$device_id&type=0&type=2";

Hallo Frank,

verräts Du auch, wie Du darauf gekommen bist (z.B. Link) und ob es wirklich 2x type sein muss? Nach meiner Kenntnis dürfte da nur eines im Webserver ankommen. Eventuell kann man das vereinheitlichen.

Danke und schönes WE
Raymund

KölnSolar

Danke docb, dann pack ich das mal in die allgemeine Doku. Wird vermutlich für K-Serie genauso sein.

Fehlt uns noch H- u. J-Serie.
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

Papaloewe

Hallo Jungs,

ich habe einen Samsung von der J-Serie und komme immer noch nicht weiter:
https://forum.fhem.de/index.php/topic,57595.msg749314.html#msg749314

Die Pin wird auf dem Fernseher angezeigt und nach Eingabe dieser im Script bricht es mit der Fehlermeldung ab:
perl regapp.pl

Enter TV Pin: xxxx
HTTP_Request 34.210.190.209: Can't connect.
STEP 1 POST #1: Couldn't get the document.

Folglich wird auch kein Key-File erzeugt und es findet kein Pairing mit dem Fernseher statt.
Im Gerätemanager wird kein Device angelegt.

Rufe ich die URL:
https://34.210.190.209:5443/
über den Browser auf wird nach einem User und Passwort verlangt.

Bei wem funktioniert das jetzt überhaupt mit der J-Serie?

Gruß
Thomas

KölnSolar

Hi Thomas,
Erfolgsmeldung J-Serie.
(war über die Python-Skripte. Ich glaub aber nicht, dass das einen Unterschied macht).
Grüße Markus
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

Raymund

Zitat von: Papaloewe am 19 Januar 2018, 21:24:45
Hallo Jungs,

ich habe einen Samsung von der J-Serie und komme immer noch nicht weiter:

Hallo Papaloewe,

wenn Du mal bzgl. STEP 1 POST #1 in das Script schaust (ab Zeile 48), dann siehst Du, dass dort im Payload nur die eingegebene PIN sowie eine frei vergebene device_id an den Server nach USA geschickt werden. Mit der Serie des TV hat das an dieser Stelle noch nichts zu tun. Von Deinem TV werden bis dahin keinerlei Daten verwendet.

Wenn da die Meldung kommt, dass kein Connect möglich ist, dann kann das m.E. nur an dem Rechner liegen, der den Request ausführt. Ich vermute mal, dass Dein Browsertest von einem anderen Gerät erfolgte (PC?). Mach doch mal ein wget https://34.210.190.209:5443/ und poste, was da kommt. Der Server sollte auch hier wegen Zertifikatsproblemen ablehnen. Dann weißt Du aber, ob der Request rausgeht.

Papaloewe

Der Test erfolgte von ein und demselben PC (Ubuntu):

wget https://34.210.190.209:5443/
--2018-01-19 22:00:58--  https://34.210.190.209:5443/
Verbindungsaufbau zu 34.210.190.209:5443... verbunden.
FEHLER: Kann das Zertifikat von »34.210.190.209« nicht prüfen, ausgestellt von »»CN=COMODO RSA Domain Validation Secure Server CA,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB««:.
  Ein selbst-signiertes Zertifikat gefunden.
    FEHLER: Der Common Name »»kraftwerk9.com«« des Zertifikates entspricht nicht dem angeforderten Hostname »»34.210.190.209««.
Verwenden Sie »--no-check-certificate«, um zu dem Server »34.210.190.209« eine nicht gesicherte Verbindung aufzubauen.


Ist das (mal wieder) ein Sicherheitsding?

Papaloewe

wget https://34.210.190.209:5443/ --no-check-certificate
--2018-01-19 22:04:12--  https://34.210.190.209:5443/
Verbindungsaufbau zu 34.210.190.209:5443... verbunden.
WARNUNG: Kann das Zertifikat von »34.210.190.209« nicht prüfen, ausgestellt von »»CN=COMODO RSA Domain Validation Secure Server CA,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB««:.
  Ein selbst-signiertes Zertifikat gefunden.
    WARNUNG: Der Common Name »»kraftwerk9.com«« des Zertifikates entspricht nicht dem angeforderten Hostname »»34.210.190.209««.
HTTP-Anforderung gesendet, warte auf Antwort... 401

Authentifizierung mit Benutzername/Passwort fehlgeschlagen.

Raymund

#203
Zitat von: Papaloewe am 19 Januar 2018, 22:03:08
Der Test erfolgte von ein und demselben PC (Ubuntu):
Ist jetzt ein Schnellschuss, aber probiere mal bitte die angehängte Version.

Papaloewe

Läuft (noch) nicht:
perl regapp_v2.pl
Bareword "SSL_VERIFY_NONE" not allowed while "strict subs" in use at regapp_v2.pl line 115.
Execution of regapp_v2.pl aborted due to compilation errors.

Raymund

Zitat von: Papaloewe am 19 Januar 2018, 22:21:29
Läuft (noch) nicht:
perl regapp_v2.pl
Bareword "SSL_VERIFY_NONE" not allowed while "strict subs" in use at regapp_v2.pl line 115.
Execution of regapp_v2.pl aborted due to compilation errors.

Bitte dieselbe Datei nochmal downloaden. Habe sie geändert.

Papaloewe

Jetzt schaut es schon besser aus:
perl regapp.pl
Enter TV Pin: 1234
session key saved to file 'samsung_session_key.txt'


Mal sehen, ich melde mich.
Vielen Dank.

Thomas

frank

Zitat von: Raymund am 19 Januar 2018, 19:39:24
Hallo Frank,

verräts Du auch, wie Du darauf gekommen bist (z.B. Link) und ob es wirklich 2x type sein muss? Nach meiner Kenntnis dürfte da nur eines im Webserver ankommen. Eventuell kann man das vereinheitlichen.

Danke und schönes WE
Raymund

hi raymund,

vermutlich kommt der doppel-type von hier, bin mir aber nicht sicher, da es schon eine ewigkeit her ist:
http://forum.samygo.tv/viewtopic.php?f=74&t=7707#p61694

jedenfalls habe ich vor dem doppel-type 2-3 erfolglose versuche mit dem original versucht. jeweils mit unterschiedlichen einstellungen für app_id und device_id. da mein httpmod-test-device bereits über ein halbes jahr zuverlässig mit dem doppel-type funktionierte, habe ich das gleich probiert. wenn ich mich recht erinnere, gab es auch mehrere erfolgreiche kombinationen der beiden type-werte, um die pin-box auf dem tv zu erzeugen.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Papaloewe

Session-Keyfile wurde erzeugt und ein Device im TV Gerätemanager eingetragen.

Jetzt folgt (debug=1):
perl do_v2.pl
session_key: 542306DCAE9395B6738D8BBA0F4F4030
session_id:  1

'5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":1,"body":"[244,77,250,192,27,151,76,127,43,181,223,65,39,45,251,171,161,149,102,137,137,131,207,115,5,30,246,119,166,255,123,245,248,164,145,75,158,156,8,76,143,43,129,127,207,201,26,210,55,108,54,253,243,232,127,150,123,106,29,231,160,58,202,15,20,79,7,244,58,93,252,208,29,62,117,93,141,95,250,253,236,231,239,145,215,131,140,247,41,184,4,95,235,205,237,161,135,184,81,77,110,242,243,40,112,1,10,228,146,95,50,65,68,247,90,114,240,84,16,34,158,46,51,49,94,203,4,211,239,178,219,200,25,35,185,95,6,0,255,61,215,98,160,0,117,81,20,176,155,227,230,10,22,156,185,246,167,246,121,172,104,129,187,178,100,32,208,112,221,232,17,178,184,65,101,85]"}]}'
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=


Websocket Handshake OK (101)
-- Building frame (1, 0, 0, 0, 1)
-- Small payload (25)
-- Building frame (1, 0, 0, 0, 1)
-- Extended 16-bit payload (714)
-- Building frame (1, 0, 0, 0, 8)
-- Small payload (0)
KEY_MUTE sent


Leider keinerlei Reaktion am TV, also auch kein Mute!

Raymund

#209
Zitat von: Papaloewe am 20 Januar 2018, 00:05:34
Leider keinerlei Reaktion am TV, also auch kein Mute!

Hallo,
leider kann ich jetzt auch nicht mehr weiter helfen. Ich habe nur den einen TV ;-)

Versuche doch mal die verschiedenen type=X- Einstellungen in der $step0_url von regapp.pl, von denen Frank geschrieben hat. Vielleicht geht ja da etwas.

Gruß