FHEM -> Samsung TV mit Tizen

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

Vorheriges Thema - Nächstes Thema

KölnSolar

Zitatalso bei meinem UE55HU8500 bekomme ich keine Antwort vom TV, weil dieser die Verbindung verweigert.
ich vermute Du musst wie bei älteren Geräten erst den Zugriff zulassen. Skript starten -> zu bestätigende Meldung auf dem TV -> bestätigen. Danach funktioniert dann jeder weitere Zugriff ohne Abfrage.
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

Reinhart

#46
ich habs jetzt mit der SmartTVRemotecontroll.exe versucht und da funktioniert die Verbindung zum TV, nach Eingabe des PINS öffnet sich am TV dann das Menü.

Discovery started...
Model 2014 Samsung TV found.
UPnP connection extablished with TV - uuid:068e7782-006e-1000-a675-84a4666073a8
DeviceConnected added TV: http://10.0.0.3:51311/
InitSPCContext stdout
pPWd : 7679
CleintHello's Hash Value same
InitTargetDevice - started...
InitTargetDevice - Created Tv device.
Create MultiScreenController
InitTargetDevice - Set current device.
InitTargetDevice - Initialize Tv device.
InitTargetDevice is complete
Previously paired TV found.
Menu command was sent to the TV as a test. Please verify it worked before procee
ding
Initial Setup Complete. Relaunch with command that you want sent to the TV
A list of commands that can be sent to the TV are below.


ButtonA  ButtonB  ButtonC  ButtonD  ChannelDown
ChannelList  ChannelUp  DiscMenu  Exit  FastForward
FastRewind  Forward  Guide  Home  Info
JoystickDown  JoystickLeft  JoystickOk  JoystickRight
JoystickUp  Keypad  MbrPower  Menu  Minus  Mute
Num0  Num1  Num2  Num3  Num4
Num5  Num6  Num7  Num8  Num9
Pause  Play  Power  PreviousChannel  Record
Rewind  Search  SmartHub  StbMenu  Stop
SubTitle  Tools  VolumeDown  VolumeUp


Example: SmartTVRemoteControl.exe -c Power


Press any key to exit.


PS: und ja, die Pinabfrage erfolgte nur beim ersten Mal!

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

CoolTux

Wer sich berufen fühlt ein Modul zu schreiben kann sich gerne das 82_LGTV_WebOS Modul anschauen. Ist das selbe Prinzip was Verbindung an geht. So hätte man schon mal ein Gerüst zum drauf aufbauen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

dominik

#48
Anbei ein ganz schneller Hack um 70_STV.pm mit samsungctl zu nutzen.

Voraussetzung:
- sudo pip install websocket-client
- sudo pip install samsungctl
- File /usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py öffnen
    o except FileNotFoundError: in except: ändern
    o Folgende Zeile löschen directories.append(os.path.join(os.getenv("HOME"), ".config"))

define samsungTv STV <ip> ws

Ist nur ein schneller Hack als PoC.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Fixel2012

Wow, danke dir!!!

Werde es morgen testen!

Gesendet von meinem ONEPLUS A3003 mit Tapatalk

Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

Papaloewe

Tut mir leid, aber ich bekome es nicht hin.

Zitatdefine samsungTv STV <ip> ws
"ws" wird so nicht akzeptiert. Wenn ich nichts eingebe dann wird Port 55000 benutzt, was aber nicht funktioniert.
Die Portangabe 8001 wird auch nicht zugelassen. :(

Bevor wir das Fhem-Modul testen die Frage:
Wie kann ich mit einfachen Mitteln eine Websocket Verbindung zu meinem Samsung TV testen?

Danke für eure Mühe.

LG
Thomas

Gigafix

Hallo Papaloewe

Ich vermute, Du hast nach dem Laden des Moduls noch einmal ein Update gemacht, und dabei das originale Modul 70_STV wieder darüberinstalliert. Ging mir zumindest so. Habe das jetzt vorerst vom Update ausgeschlossen.

Mir stellt sich aber folgende Frage:
Mit welcher Aktion verbinde ich eigentlich das Modul mit dem Fernseher? So tut sich zumindest erst einmal nichts bei meinem UE49KS9090.

Gruß
Gigafix
VM Synology DS918 | CubieTruck |2x HMLAN | HMUSB | 3x HMWLAN | CCU2 | MAX-Cube | nanoCUL | ZWDongle |

Mitch

Danke Dominik!

Habe es gerade installiert und werde es später test und Feedback geben.

Mal noch eine Frage, kann man denn mit dem Modul Nachrichten am TV einblenden?
An meinem alten Samsung ging das und ich habe mir dort bei Anruf den Namen einblenden lassen.
FHEM im Proxmox Container

KölnSolar

#53
@papalowe: was meinst Du mit
Zitat"ws" wird so nicht akzeptiert.
Ich hab die Version von Dominik installiert und kann problemlos als Port ws eingeben.

Es gab aber bei der ganzen Installation ein paar andere Problemchen, die ich zu lösen hatte. Ausgangssituation ist ein RPiB+ mit aktuellem Wheezy. Für die Installation des Skripts und zusätzlicher Module musste ich folgende Schritte durchführen.
1. sudo apt-get update
2. sudo apt-get upgrade
3. pip installieren. wheezy bietet nur eine V. 1.1, von der im Inet abgeraten wird. Deshalb habe ich die v 9.0.1 mit
    wget https://bootstrap.pypa.io/get-pip.py
    geladen.
4. sudo python get-pip.py    (ohne sudo gab es eine exception meldung)
5. sudo pip install websocket-client
6. sudo pip install samsungctl  (das package wird dann automatisch heruntergeladen und installiert)
7. das File /usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py editiert
    o except FileNotFoundError: in except: ändern
    o Folgende Zeile löschen directories.append(os.path.join(os.getenv("HOME"), ".config"))
8. Damit das geänderte 70_STV lief, musste ich einerseits "use Blocking;" am Anfang des Moduls hinzufügen und scheinbar ist der /usr/local/bin bei mir nicht bekannt, so dass ich den einfachen Aufruf von samsungctl in /usr/local/bin/samsungctl ändern musste.

Mit "normalem" Port war die Funktion des Moduls nicht beeinträchtigt bei meiner E-Serie.

Und mit ws als Port, bekomme ich beim Schalten des TV "socket.error: [Errno 111] Connection refused", was ja wahrscheinlich daran liegt, dass ich gar keinen Tizen, sondern eben noch E-Serie habe.  ;)
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

Papaloewe

Ja genau, GigaFix du hast Recht, so war es :-)

Traceback (most recent call last):
  File "/usr/local/bin/samsungctl", line 9, in <module>
    load_entry_point('samsungctl==0.6.0', 'console_scripts', 'samsungctl')()
  File "/usr/local/lib/python3.5/dist-packages/samsungctl/__main__.py", line 93, in main
    config = _read_config()
  File "/usr/local/lib/python3.5/dist-packages/samsungctl/__main__.py", line 31, in _read_config
    directories.append(os.path.join(os.getenv("HOME"), ".config"))
  File "/usr/lib/python3.5/posixpath.py", line 89, in join
    genericpath._check_arg_types('join', a, *p)
  File "/usr/lib/python3.5/genericpath.py", line 143, in _check_arg_types
    (funcname, s.__class__.__name__)) from None
TypeError: join() argument must be str or bytes, not 'NoneType'


Was kann das jetzt sein?
Hat noch jemand einen Tip für mich?

LG
Thomas

KölnSolar

ich würd mal spekulieren, Du hast Dominiks Vorgabe aus Post 48 nicht befolgt und die __main__.py nicht angepasst :o
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

#56
...doch eigentlich schon!

Aber habe es zweimal installiert. Eimal für python2.7 und einmal für python3.5.
Die Datei __main__.py für python3.5 hatte ich eben noch nicht angepasst.

Jetzt wirft die Konsole nur noch:
Error: Connection refused


Muss denn die Datei "samsunctl.conf" bereitgestellt wreden?

KölnSolar

ich denke nicht. Die ist wohl nur dafür, wenn man es von der Konsole aus aufruft. Dann kann man sich das tippen ersparen.
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

Mitch

Also bei mir geht es leider nicht.
Folgende Fehlermeldung im Log, wenn ich set 1 schicken:
NameError: global name 'FileNotFoundError' is not defined
    except FileNotFoundError:
  File "/usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py", line 36, in _read_config
    config = _read_config()
  File "/usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py", line 92, in main
    load_entry_point('samsungctl==0.6.0', 'console_scripts', 'samsungctl')()
  File "/usr/local/bin/samsungctl", line 9, in <module>
Traceback (most recent call last):
FHEM im Proxmox Container

KölnSolar

#59
auch Du scheinst nicht editiert zu haben oder wie papaloewe bei doppelter Installation nur an einer Stelle, sonst dürfte das vermutlich nicht kommen
Zitatexcept FileNotFoundError:

und das
ZitatMal noch eine Frage, kann man denn mit dem Modul Nachrichten am TV einblenden?
wird wohl auch nicht gehen, da man ja nur Tastendrücke senden kann  :(
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