NEWS
Samsung TizenOS TV Adapter(MJ>=2016)
-
@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ß
-
@dahuby sagte in Samsung TizenOS TV Adapter(MJ>=2016):
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.Ich frage mich gerade, wie ich das am sinnvollsten umsetze. Gut, ein Skript zu schreiben, dass vor dem Absetzen des KEY_POWER-Befehls noch den powerOn-Status abfragt, ist jetzt kein Ding, aber ich müsste dieses Skript dann bei jedem Schaltbefehl, außer bei der alleinigen Aktivierung von KEY_POWER aufrufen.
Sprich, das Skript müsste auf sämtliche Befehle unter apps, command und control reagieren und den Power-Status prüfen, außer, wenn ich den KEY_POWER-Befehl alleine sende. Wäre es da nicht evtl. doch einfacher, wenn du das mit einem entsprechenden power-Befehl direkt im Adapter abfragbar machst? Vielleicht auch in Verbindung mit einem sofortigen, einmaligen Abruf des Einschaltzustands? Den power-Befehl, kann man dann mit true oder false bzw. 1 oder 0 in eine Befehlsfolge unter "command" (ich würde das übrigens in der Mehrzahl, also mit "s" schreiben ) einfügen.
Gruß,
Thorsten
-
Hallo,
Ich hab eine neue Version veröffentlicht und eure Ideen eingebaut, neu ist:- KEY_POWERON, KEY_POWEROFF ( auch in sendCmd ) prüft bei auslösen den Status des TVs und sendet dann nur falls der Status != ist einen KEY_POWER.
- Websocket Verbindung wird jetzt nicht nach jedem KEY geschlossen.
Bitte testet den neuen Adapter und gebt mir wieder Feedback.
-
@skokarl sagte in Samsung TizenOS TV Adapter(MJ>=2016):
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
es gibt den KEY_ANYNET wenn der bei dir nicht funktioniert kannst du mit sendCmd und dann z.B.: KEY_MENU,KEY_DOWN,KEY_ENTER,... zu den ANYNET Einstellungen navigieren.
-
Cool.
Nur, wenn ich den Adapter einfach so installiere, ohne den alten zu löschen, erhalte ich das hier:
Wenn ich den alten lösche, dürften all meine angelegten commands weg sein, oder? Bei 60 commands eine ziemliche Plackerei.Kann es sein, dass der Adapter wieder samsung_tizen statt samsungTizen heißt?
-
@dtp ja richtig, umbenannt hab ich ihn auch wieder.
Jetzt aber funktionierend, musste leider sein da npm Pakete leider keine Großbuchstaben beinhalten dürfen. -
Alles klar. Dann muss ich da wohl durch.
-
@dtp sry leider aber ab jetzt sollte es mit Updates funktionieren.