NEWS
Samsung TizenOS TV Adapter(MJ>=2016)
-
So der erste schnelle Test verlief erfreulich.
Polling geht bei mir auf Port 9197 ohne Probleme. Alle anderen Port zeigen nicht an das der TV läuft.
Der getToken Button trägt den Token in den Objekt-Namen ein, aber nicht bei Wert. Ist das so korrekt?
Die Apps des Smart-TV lassen sich abholen (wusste gar nicht das so viele installiert sind) und auch Starten. Navigieren in den Apps habe ich noch nicht probiert (der Sohnemann hat den Fernseher in Beschlag genommen) und auch die Commands-Funktion ist noch nicht getestet.Ansonsten Danke @dahuby für die super Arbeit
-
@CKMartens sagte in Samsung TizenOS TV Adapter(MJ>=2016):
Der getToken Button trägt den Token in den Objekt-Namen ein, aber nicht bei Wert. Ist das so korrekt?
Ja der Token wird nur in den Namen geschrieben den Wert lass ich frei.
-
Bevor ich mir jetzt meine ganzen TV-Kanäle als commands definiere, hätte ich die Frage, ob man ein Update des Adapters zukünftig auch durchführen kann, ohne die vorherige Version deinstallieren zu müssen? Denn dann gehen ja jedes Mal sämtliche Einstellungen verloren, oder?
Gruß,
Thorsten
-
@dtp ja kannst du normal schon funktioniert auch jetzt, schreib es immer nur dazu um alles sauber zu halten.
-
@dahuby sagte in Samsung TizenOS TV Adapter(MJ>=2016):
schreib es immer nur dazu um alles sauber zu halten
Das hab ich jetzt nicht so ganz verstanden. Was meinst du mit "schreib es immer nur dazu"? Wo?
Kann man eigentlich irgendwie das Beispiel für "ch13" dauerhaft löschen. Das kommt immer wieder.
-
@dtp die Deinstallation ist heute eigentlich auch nicht nötig.
Das Beispiel Kommando wird immer wieder beim Neustart angelegt. -
Hallo dahuby,
Du hast ja bereits geschrieben: Mit Token "0" funktioniert der Adapter, was ich auch bestätigen kann.
Trotzdem die Verständnis-Fragen:- Wozu ist dieser Wert sinnvoll / von Bedeutung ? Warum "bietest" Du ihn an ?
- Und warum geht das bei mir nicht (SAMSUNG UE55KU6099) ?
Nochmal Danke für deine Arbeit.
-
@dahuby
auch von mir vielen Dank!
Mein Q6 läuft ech super damit und mit dem "get Token" Button habe ich auch ohne Probleme den Token bekommen. -
Hätte jetzt noch mal eine kurze Frage. Im samsung-tizen-Plugin gibt es ja die Switches, die deinen commands ähneln. Dort gibt es aber eben auch noch die Zusatzbefehle
Gerade "power" hat den Vorteil, dass ich damit unseren TV immer einschalten kann, wenn ich den Wert auf "true" setze. Im Unterschied zu KEY_POWER gibt es hier also kein Toggeln zwischen an und aus. Auf KEY_POWERON reagiert unser Gerät irgendwie nicht. Weißt du, wie das realisiert wurde?
Ich konnte so z.B. immer mit der Befehlsfolge
"name": "ZDF", "power": true, "channel": 2
direkt per Sprachbefehl auf's Zweite schalten, auch wenn der Fernseher aus war. Und wenn er bereits an war, hat sich das Gerät nicht ausgeschaltet. War ganz praktisch.
-
@RaspiUser sagte in Samsung TizenOS TV Adapter(MJ>=2016):
- Wozu ist dieser Wert sinnvoll / von Bedeutung ? Warum "bietest" Du ihn an ?
Auf einigen Geräten braucht man einen Token sonst muss jeder Befehl mit dem PopUp bestätigt werden und mit Token reicht die einmalige Bestätigung.
@RaspiUser sagte in Samsung TizenOS TV Adapter(MJ>=2016):
- Und warum geht das bei mir nicht (SAMSUNG UE55KU6099) ?
Das kann ich dir leider nicht sagen aber ich vermute diese Funktion ist erst später dazu gekommen, ich glaub deine Serie ist eine der ersten Tizen TVs von Samsung. Bei meinem NU7400 benötige ich den Token.
@dtp sagte in Samsung TizenOS TV Adapter(MJ>=2016):
Gerade "power" hat den Vorteil, dass ich damit unseren TV immer einschalten kann, wenn ich den Wert auf "true" setze. Im Unterschied zu KEY_POWER gibt es hier also kein Toggeln zwischen an und aus. Auf KEY_POWERON reagiert unser Gerät irgendwie nicht. Weißt du, wie das realisiert wurde?
Ja ich weiß wie das realisiert wurde und hab es absichtlich so nicht gemacht.
Es wird vor dem senden auf den PowerStatus geschaut(könnten wir auch) und dann erst der Key gesendet.
Ich hab es so nicht gebaut da die PollingPorts nicht 100% den Status des TVs sagen, sie sind auch bei Standby kurz zwischen durch erreichbar und manchmal gibt es eine "Nachlaufzeit" nach dem Ausschalten.
Wenn dann der Status nicht passt würde einfach nicht der Key gesendet werden, du kannst dir aber ein kleines Skript oder Blockly Skript schreiben, dass bei KEY_POWER + weitere KEYs und powerOn = true nicht den KEY_POWER sendet.
Leider funktionieren die KEYs POWERON und POWEROFF auch bei mir nicht, so hätte man das Problem auch lösen können. -
Morgen,
ich bin jetzt nicht auf dem aktuellen Stand,
meint ihr, ich kann ein Kommando auf einen Button setzen,
der in den Einstellung, Ton, erweiterte Einstellungen, Anynet ein oder aus schaltet ?Hätte jemand einen Ansatz dafür für mich ?
-
Schau mal hier in die Anleitung. Unter Punkt 3.3 Commands "How to create a command macro" steht, wie du eine Befehlsfolge erzeugst. Damit sollte sich Dein Vorhaben lösen lassen. Ich habe mir auf diese Weise z.B. ein PIP-Kommando mit der Befehlsfolge "KEY_PIP_ONOFF,KEY_ENTER,KEY_RIGHT,KEY_ENTER" erzeugt. Evtl. musst du das Delay zwischen den Einzelbefehlen für dein Gerät anpassen.
-
@dtp sagte in Samsung TizenOS TV Adapter(MJ>=2016):
Schau mal hier in die Anleitung. Unter Punkt 3.3 Commands "How to create a command macro" steht, wie du eine Befehlsfolge erzeugst. Damit sollte sich Dein Vorhaben lösen lassen. Ich habe mir auf diese Weise z.B. ein PIP-Kommando mit der Befehlsfolge "KEY_PIP_ONOFF,KEY_ENTER,KEY_RIGHT,KEY_ENTER" erzeugt. Evtl. musst du das Delay zwischen den Einzelbefehlen für dein Gerät anpassen.
Danke, aber was heisst z.B. KEY_PIP ??
-
KEY_PIP_ONOFF steht für das Ein- und Ausschalten der Bild-in-Bild-Funktion unseres Q9FN. Das war nur ein Beispiel. Die Adapter-Instanz bietet dir ja eine ganze Reihe verschiedener Keys, z.B. "KEY_0, KEY_1,..." usw. Probiere aus, welche davon mit deinem TV funktionieren. Die kannst du dann jeweils durch Kommas getrennt auch einfach zu Makros (Commands) als Befehlsfolgen zusammenfassen. Dazu schaust du, welche KEY-Befehlsfolge bei dir zum Ein- und Ausschalten von Anynet erforderlich ist.
-
eins noch.... unser Samsung hat ne Smart Fernbedienung, also wenig Tasten, dafür das Menue auf dem
Bildschirm.Das heisst natürlich, dass man für eine Abfolge von Befehlen eine definierte Ausgangsposition,
braucht, damit genau diese Reihenfolge auch bei Anynet landet ..... Hast Du da noch eine Idee zu ? -
Kommt man nicht mit der Home-Taste von überall aus ins Home-Menü? Dann wäre "KEY_HOME" als erster Befehl doch eine Möglichkeit, oder?
Sitze gerade nicht vor der Flimmerkiste und kann es daher nicht direkt ausprobieren.
-
@dtp
Ich teste das heute abend mal, sitze auch nicht vor der Kiste. -
so, spiele mal wieder mit rum.
Meiner will immer die Bestätigung wenn ich was drücke ..... das war in einer älteren Version schonmal anders....
liegt das am Port ?Ist das richtig den generierten Token aus den Objekten in der Instanz einzutragen ?..... scheint jetzt zu gehen.
gibt es sowas fertig für anynet an und aus ?
Ich brauche das für die Umschaltung Fernsehton / Soundbar
-
hab mir heute mal die Zeit genommen auch mit dem Adapter zu spielen. Dabei ist mir aufgefallen, dass ein zu schnelles senden von Buttons den Adapter zum abstürzen bringt.
host.iobroker 2020-01-10 01:18:48.779 info instance system.adapter.samsungTizen.0 terminated with code 0 (NO_ERROR) host.iobroker 2020-01-10 01:18:48.779 error Caught by controller[0]: at TLSSocket._ultron.on (/opt/iobroker/node_modules/iobroker.samsungTizen/node_modules/ws/lib/WebSocket.js:142:22) host.iobroker 2020-01-10 01:18:48.779 error Caught by controller[0]: at Receiver.add (/opt/iobroker/node_modules/iobroker.samsungTizen/node_modules/ws/lib/Receiver.js:139:10) host.iobroker 2020-01-10 01:18:48.778 error Caught by controller[0]: at Receiver.startLoop (/opt/iobroker/node_modules/iobroker.samsungTizen/node_modules/ws/lib/Receiver.js:165:16) host.iobroker 2020-01-10 01:18:48.778 error Caught by controller[0]: at Receiver.getData (/opt/iobroker/node_modules/iobroker.samsungTizen/node_modules/ws/lib/Receiver.js:330:12) host.iobroker 2020-01-10 01:18:48.778 error Caught by controller[0]: at Receiver.dataMessage (/opt/iobroker/node_modules/iobroker.samsungTizen/node_modules/ws/lib/Receiver.js:389:14) host.iobroker 2020-01-10 01:18:48.778 error Caught by controller[0]: at Receiver._receiver.onmessage (/opt/iobroker/node_modules/iobroker.samsungTizen/node_modules/ws/lib/WebSocket.js:146:54) host.iobroker 2020-01-10 01:18:48.778 error Caught by controller[0]: at WebSocket.emit (events.js:198:13) host.iobroker 2020-01-10 01:18:48.777 error Caught by controller[0]: at WebSocket.incoming (/opt/iobroker/node_modules/iobroker.samsungTizen/main.js:103:13) host.iobroker 2020-01-10 01:18:48.777 error Caught by controller[0]: at /opt/iobroker/node_modules/iobroker.samsungTizen/main.js:169:16 host.iobroker 2020-01-10 01:18:48.777 error Caught by controller[0]: at WebSocket.send (/opt/iobroker/node_modules/iobroker.samsungTizen/node_modules/ws/lib/WebSocket.js:358:18) host.iobroker 2020-01-10 01:18:48.776 error Caught by controller[0]: Error: not opened samsungTizen.0 2020-01-10 01:18:48.254 info (7189) Terminated (NO_ERROR): Without reason samsungTizen.0 2020-01-10 01:18:48.251 info (7189) terminating samsungTizen.0 2020-01-10 01:18:47.830 info (7189) websocket connection closed samsungTizen.0 2020-01-10 01:18:47.828 info (7189) sendKey: KEY_RIGHT successfully sent to tv samsungTizen.0 2020-01-10 01:18:47.741 error (7189) Error: not opened at WebSocket.send (/opt/iobroker/node_modules/iobroker.samsungTizen/node_modules/ws/lib/WebSocket.js:358:18) at /opt/iobroker/node_modules/iobroker.samsungTizen/main.j samsungTizen.0 2020-01-10 01:18:47.741 error (7189) uncaught exception: not opened samsungTizen.0 2020-01-10 01:18:47.647 info (7189) open connection: wss://192.168.0.8:8002/api/v2/channels/samsung.remote.control?name=aW9Ccm9rZXI=&token=xxxxxxxx samsungTizen.0 2020-01-10 01:18:47.522 info (7189) open connection: wss://192.168.0.8:8002/api/v2/channels/samsung.remote.control?name=aW9Ccm9rZXI=&token=xxxxxxxx samsungTizen.0 2020-01-10 01:18:24.409 info (7189) samsungTizen.0 release 0.0.8 started with config : {"protocol":"wss","ipAddress":"192.168.0.8","port":"8002","token":"xxxxxxxx","macAddress":"xx:xx:xx:xx:xx:xx","cmdDelay":"300","pollingPort":"9110" samsungTizen.0 2020-01-10 01:18:24.325 info (7189) starting. Version 0.0.8 in /opt/iobroker/node_modules/iobroker.samsungTizen, node: v10.18.0
Laut Logs versucht er dann zweimal eine Verbindung aufzubauen. Wär es nicht einfacher den websocket einmal am Anfang zu verbinden und die Verbindung einfach offen zu lassen?
Ansonsten Top Adapter! Danke dafür! Hab mich schon gefragt wann endlich einer kommt
-
@dahuby said in Samsung TizenOS TV Adapter(MJ>=2016):
Ja ich weiß wie das realisiert wurde und hab es absichtlich so nicht gemacht.
Es wird vor dem senden auf den PowerStatus geschaut(könnten wir auch) und dann erst der Key gesendet.
Ich hab es so nicht gebaut da die PollingPorts nicht 100% den Status des TVs sagen, sie sind auch bei Standby kurz zwischen durch erreichbar und manchmal gibt es eine "Nachlaufzeit" nach dem Ausschalten.
Wenn dann der Status nicht passt würde einfach nicht der Key gesendet werden, du kannst dir aber ein kleines Skript oder Blockly Skript schreiben, dass bei KEY_POWER + weitere KEYs und powerOn = true nicht den KEY_POWER sendet.
Leider funktionieren die KEYs POWERON und POWEROFF auch bei mir nicht, so hätte man das Problem auch lösen können.Ich greife das hier nochmal auf, da ich bzw. eher meine Freundin öfter mal das Problem hat, den on/off Befehl zweimal kurz nacheinander per Alexa zu senden.
Besteht die Möglichkeit, den Polling-Befehl irgendwie per Blockly auszulösen? Also zB 1 Sekunden nach senden von KEY_POWER ein Polling durchzuführen, ob TV an oder aus ist?
Klar kann man den Zustand auch wie beschrieben vorher abfragen. Problem ist, dass ich zB 60 Sek. Pollingintervall eingestellt habe. Somit hab ich halt immer einen Zeitversatz im Zustand. Selbst bei 30 oder auch 10 Sek. wäre der Zeitversatz zu groß .. und ich denke alles unter 10 Sek. lastet evtl. das System zu stark aus?![EDIT] Noch ne Frage .. wäre es irgendwie möglich, für den Einschaltbefehel sofort die WakeOnLan Funktion zu nutzen? Bei mir ist es leider so, dass 95% der Einschaltbefehle erst in nem "unreach" enden und dann erst WOL ausgeführt wird.
Danke & Gruß