iobroker.samsungtv
Moderner Samsung TV-Adapter mit automatischer Erkennung und Multi-Geräte-Management in einer Instanz (Unterstützung mehrerer Fernseher in derselben Instanz).
Dies ist ein unabhängiger Community-Adapter für Fernsehgeräte der Firma Samsung Electronics .
Deutsche Dokumentation ist verfügbar unterdoc/de/README.md Die
Merkmale
- Automatische Erkennung über SSDP/UPnP und optionales mDNS
- Mehrere Fernseher in einem Gerät:
samsungtv.0.<tvname>.* - Tizen WebSocket API (8001/8002) + Pairing/Token
- PIN-Paarung der H/J-Serie (nach bestem Wissen und Gewissen)
- Wake-on-LAN (optional)
- Absolute Lautstärke und Stummschaltung über UPnP RenderingControl
- Stabile Gerätezuordnung über ID/UUID/MAC, auch bei Umbenennungen
- Es werden keine Token in den Protokollen oder der Benutzeroberfläche ausgegeben (Token werden verschlüsselt gespeichert).
Konfiguration
Der Adapter nutzt die nativen JSONConfig- und Device-Manager-Komponenten von ioBroker. Diese passen sich automatisch dem aktiven Admin-Theme an und werden sowohl für Desktop- als auch für mobile Endgeräte optimiert.
Die Registerkarte „Konfiguration“ enthält:
- Automatischer Scan und automatisches Scanintervall für die periodische Erkennung
- Abfrageintervall für Aktualisierungen von Strom, Lautstärke und Stummschaltung
- Entdeckungs-Timeout
- SSDP aktivieren / mDNS-Erkennungsquellen aktivieren
- Wake-on-LAN aktivieren
- mDNS-Dienste im Expertenmodus (kommagetrennt, bestmöglicher Aufwand)
Geräte hinzufügen
- Öffnen Sie den TV-Verwaltungs- Tab.
- Starten Sie den Scan oder verwenden Sie alternativ die manuelle Hinzufügung .
- Fügen Sie einen gefundenen Fernseher hinzu und wählen Sie seinen lesbaren Objektbaumnamen.
Die Aktionen des Geräte-Managers werden sofort angewendet und gespeichert. Die reguläre Speichern-Schaltfläche von ioBroker wendet die Einstellungen vom Konfigurations- Tab an.
Paarung
- Tizen : Wenn Sie auf „Koppeln“ klicken, erscheint auf dem Fernseher eine Meldung (normalerweise „Zulassen“/„Abbrechen “, keine PIN). Bestätigen Sie diese auf dem Fernseher.
- H/J-Serien : Klicken Sie auf Koppeln → TV-Sendungen PIN → geben Sie die PIN im nativen Dialogfeld ein.
Die dynamische Geräteregistrierung wird im persistenten Instanzdatenverzeichnis von ioBroker gespeichert, sodass Aktionen des Geräte-Managers nicht durch ein bereits geöffnetes Einstellungsformular überschrieben werden können. Tokens/Identitäten in dieser Registrierung werden mit dem ioBroker-Systemgeheimnis verschlüsselt, und die Datei wird nur mit Eigentümerberechtigungen geschrieben.native.devices und verschlüsseltnative.tokens Die Werte werden beim ersten Start automatisch importiert.
Wenn während des Kopplungsvorgangs keine Eingabeaufforderung erscheint:
- TV: Geräteverbindungsmanager → Zugriffsbenachrichtigung aktivieren.
- TV: Überprüfen Sie die Geräteliste und entfernen Sie alte Einträge.
- Stellen Sie sicher, dass sich ioBroker und der Fernseher im selben Subnetz befinden.
Objektmodell
Laut TV:
samsungtv.0.<tvname>.info.*id,ip,mac,model,uuid,api,lastSeen,paired,onlinetokenAuthSupport
samsungtv.0.<tvname>.state.*power,volume,muted
samsungtv.0.<tvname>.control.*power,wol,key,volumeUp,volumeDown,mute,channelUp,channelDown,launchApp,sourcevolume,muted
Steuerung (kurz)
control.key: beliebiger Fernbedienungsschlüssel (z. B.KEY_POWER,KEY_VOLUP)control.launchApp: App-ID (Tizen) aus der TV-App-Listecontrol.source: Quelle als Schlüssel (KEY_HDMI,KEY_SOURCE) oder Kurzform (HDMI)control.volumeAbsoluter Volumenwert von 0 bis 100control.mutedStummschaltung ein- oder ausschalten, im Gegensatz zucontrol.mute, was umschaltet
Volumen
control.volume Undcontrol.muted Sie nutzen den UPnP-RenderingControl-Dienst des Fernsehers, um einen exakten Pegel anstatt einer schrittweisen Einstellung festzulegen. Drei Dinge sind über diesen Dienst wissenswert:
- Es antwortet nur, solange der Fernseher eingeschaltet ist, und zwar einige Sekunden, nachdem der Fernseher sich als eingeschaltet meldet. Der Port kann eine TCP-Verbindung akzeptieren, ohne dass der dahinterliegende Dienst antwortet; die Erreichbarkeit wird also durch einen tatsächlichen
GetVolumeAnruf. - UPnP definiert
upnp:401alsInvalid ActionUndupnp:402alsInvalid ArgsEinige Samsung-Fernseher werden ebenfalls zurückgegebenupnp:401Wenn Netzwerk- oder Hospitality-Modus-Beschränkungen die Steuerung blockieren, meldet der Adapter diese Beschränkungen als mögliche Ursachen und nicht als Gewissheit.
Tastencodes (control.key)
control.key akzeptiert entweder Samsung-Schlüsselcodes (KEY_* ) oder freundliche Kurzformen :
- Navigation:
up,down,left,right,enter,back - System:
home,source,menu,info,guide,exit - Lautstärke/Kanal:
volup,voldown,mute,chup,chdown - Medien:
play,pause,stop,rewind,ff,record - Farben:
red,green,yellow,blue - Zahlen:
0Zu9
Direkte Tastencodes funktionieren auch:
- Beispiele:
KEY_UP,KEY_DOWN,KEY_ENTER,KEY_RETURN,KEY_HOME,KEY_SOURCE
Hinweis: Nicht jeder Fernseher unterstützt alle Tasten. Einige Tasten funktionieren nur, wenn ein Menü/Fokus aktiv ist.
Anmerkungen
- Die Erkennung erfolgt nach bestem Bemühen. SSDP ist primär, mDNS optional.
- Ältere Geräte werden nach Möglichkeit erkannt (HJ/Legacy); der Funktionsumfang kann variieren.
- Bei H/J/JU-Geräten wird HJ bevorzugt, sofern verfügbar. Andernfalls wird die Tizen-Fernbedienung verwendet und schaltet automatisch auf HJ um, wenn der Fernseher „Unbekannte Methode“ meldet.
- Falls Legacy-Objekte vorhanden sind, werden Warnungen protokolliert.
- Der Adapter wurde umbenannt in
samsungtvum Konflikte mit den Alten zu vermeidensamsungAdapter.
Wie man testet (kurz)
- Installieren Sie den Adapter und erstellen Sie eine Instanz.
- Öffnen Sie die TV-Verwaltung und starten Sie den Scan .
- Füge einen Fernseher hinzu und vergebe einen Namen (z. B.
tv-livingroom). - Objektbaum überprüfen
samsungtv.0.tv-livingroom.*Die - Führen Sie „Pair“ aus und bestätigen Sie die Anzeige auf dem Fernseher.
- Prüfen
control.*Objekte (z. B.control.mute). - Benennen Sie den Fernseher im Geräte-Manager um: Die Objektstruktur sollte dann reibungslos migriert werden.
Changelog
WORK IN PROGRESS
- Add absolute volume and mute (
control.volume,control.muted) over UPnP RenderingControl. - Fall back to the well-known RenderingControl endpoint when SSDP returns nothing.
- (ioBroker-Bot) Adapter requires admin >= 7.8.23 now.
0.0.28
- Replace the custom React configuration page with native ioBroker JSONConfig and Device Manager components.
- Add responsive discovery, manual-add, details, pairing, rename, and remove workflows.
- Move the dynamic registry to persistent instance data with system-secret encryption and automatic migration.
- Remove obsolete custom admin message handlers and frontend dependencies.
0.0.27
- Fix TCP reachability checks and prevent overlapping polling/discovery cycles.
- Add bounded timer settings and cross-platform ping/ARP handling.
- Align generated objects and state roles with the current ioBroker catalogue.
- Complete metadata translations and singleton/compact-mode support.
0.0.26
- Replace the legacy configuration page with a responsive React admin UI.
- Add complete ioBroker admin translations and automatic light/dark theme support.
- Add typed configuration foundations and migration tests.
- Store Tizen tokens and H/J pairing identities reliably through ioBroker
encryptedNativehandling. - Migrate pairing data written by older adapter versions without exposing secrets.
Older changes are documented in CHANGELOG_OLD.md.
License
MIT
Copyright (c) 2026 softwarecrash