STV

Aus FHEMWiki
STV
Zweck / Funktion
Client for Samsung TV
Allgemein
Typ Hilfsmodul
Details
Dokumentation EN / DE
Support (Forum) Muldimedia
Modulname 70_STV.pm
Ersteller xxx (Forum / Wiki)
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!


Das Modul STV ermöglicht die Steuerung von Samsung Fernsehern und Bluray-Playern.


Voraussetzungen

Historie

Im Ursprung wurde das Modul 70_STV.pm entwickelt, welches bis F-Serie funktionieren sollte. Das Modul ist im Standardumfang von FHEM enthalten. Für die neue Zugriffsmethode per websocket ab K-Serie wurde das Modul so erweitert, dass per Python-Skript samsungctl die TV's problemlos ansteuerbar sind. Die größten Probleme scheinen die H- u. J-Serie zu bereiten. Diese nutzen neben websocket zusätzlich eine Verschlüsselung. Für den Zugriff wurde ein Python-Skript nach Perl übersetzt, das wiederum in die nicht offizielle STV eingebunden wurde. Schließlich wurde noch die Möglichkeit der Ausgabe von Medien-Streams für alle Serien über DLNA eingebaut. Die aktuelle inoffizielle Version, in der ALLE features enthalten sind, findet Ihr hier.

Neben den unterschiedlichsten Servern in der Firmware der TV's gibt es auch Unterschiede bei der Berechtigungssteuerung. Nachfolgend findet Ihr relevante Informationen zu den unterschiedlichen Serien.

Steuerungsmöglichkeiten

Steuerungsmöglichkeiten(Voraussetzung also eine LAN- oder WLAN-Verbindung u. berechtigter Zugriff) aus FHEM heraus sind

  • senden von remote control Befehlen an den TV
  • Bildschirmnachrichten wie z.B. InfoScreen bei eingehendem Anruf
  • Abspielen von Video, Audio, Foto Konserven

Installation

Erste Schritte

Device in FHEM anlegen:

define <name> STV <ip>

Danach sollte das Device bei eingeschaltetem Fernseher oder Bluray-Player in den Status opened gehen.

Ist dies nicht der Fall ist die Modellreihe zu ermitteln. Am Command-Prompt kann mittels nmap ermittelt werden welche Ports geöffnet sind (xxx.xxx.xxx.xxx ist in diesem Beispiel die IP-Adresse des Samsung-Gerätes)

nmap xxx.xxx.xxx.xxx
Starting Nmap 6.47 ( http://nmap.org ) at 2018-02-18 09:22 CET
Nmap scan report for xxx.xxx.xxx.xxx
Host is up (0.0095s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
7676/tcp open  imqbrokerd
8080/tcp open  http-proxy
8443/tcp open  https-alt

anschließend die High Ports scannen

nmap -sT -p50000-65534 xxx.xxx.xxx.xxx
Starting Nmap 6.47 ( http://nmap.org ) at 2018-02-18 09:25 CET
Nmap scan report for xxx.xxx.xxx.xxx
Host is up (0.015s latency).
Not shown: 15532 closed ports
PORT      STATE SERVICE
52345/tcp open  unknown
55000/tcp open  unknown
55001/tcp open  unknown

Jetzt gilt es folgende Fälle zu unterscheiden:

  • Port 52235 wird ausgewiesen
define <device> STV <ip>
ohne Portangabe

Jetzt gilt es folgende Fälle zu unterscheiden:

  • Port 55000 wird ausgewiesen
define <device> STV <ip>
ohne Portangabe

Bei dem aktuellen Modul aus dem FHEM-Repository kann kein Port mitgegeben werden. Die Definition kann dann nachträglich im angelisteten Device durch Bearbeitung der DEF erfolgen. Die IP-Adresse um den Port ergänzen

xxx.xxx.xxx.xxx 55000

und speichern.

Anwendung

Attribute

Basics & Allgemeines

  • MAC
...

Set

Das Modul kennt derzeit folgende Commands

Basis-Commandset für Fernseher der Typreihen ...

  • set <name> mute {on|off]
schaltet den Ton ein/aus
  • set <name> volume <nummer>
Lautstärke ändern. <nummer> kann zwischen 0 und 100 liegen
  • set <name> call <von_name> <von_number> <an_name> <an_number>
<von_name> = Name des Anrufers
<von_number> = Nummer des Anrufers
<an_name> = Name des Anzurufenden
<an_number> = Nummer des Anzurufenden
  • set <name> sms <von_name> <von_number> <an_name> <an_number> <text>
<von_name> = Name des Anrufers
<von_number> = Nummer des Anrufers
<an_name> = Name des Anzurufenden
<an_number> = Nummer des Anzurufenden
<text> = SMS Nachrichtentext
  • set <name> date <start_datum> <start_zeit> <an_name> <an_number> <betreff> <ende_datum> <ende_zeit> <ort> <nachrichtentext>
Termineinladung mit
<start_datum> = Startdatum
<start_zeit> = Startzeit
<an_name> = Name des Einzuladenden
<an_number> = Nummer des Einzuladenden
<betreff> = Betreff der Einladung
<ende_datum> = Enddatum
<ende_zeit> = Endzeit
<ort> = Treffpunkt
<nachrichtentext> = Text der Einladung

Erweitertes Commandset für Fernseher der Typreihen ...

Get

Derzeit keine Funktionen realisiert.

Readings

  • state: Status der Verbindung

Anwendungsbeispiele

folgen noch

Bekannte Probleme / Fehlersuche

folgen noch

Links