NEWS
Samsung TizenOS TV Adapter(MJ>=2016)
-
Ich muss jetzt noch mal wegen der Taster-Funktion nachfragen.
Mein Problem ist, dass der yahka-Adapter einen command augenscheinlich nur als Schalter einbinden kann. Sprich, bei jeder Betätigung in der Home App wechselt der Zustand von Ein auf Aus und umgekehrt.
Da die command-Buttons aber selbst keinen Zustand kennen (so glaube ich zumindest), kann ich sie per Skript auch nicht nach z.B. 200 ms wieder auf false setzen. Definiere ich die Rolle eines commands dagegen nicht als button, dann kann ich ihn auf true oder false setzen.
Allerdings führt dann jede Zustandsänderung zu einem Auslösen. Sprich, wenn ich den Wert 200 ms, nachdem er auf true geschaltet wurde, wieder auf false setze, dann wird er zwei Mal ausgeführt.Könnte man das nicht irgendwie abfangen, indem zum einen die Befehlsfolge nur gesendet wird, wenn sie auf true gesetzt wurde, und den Wert zum anderen innerhalb von z.B. 200 ms automatisch wieder auf false setzt? Dann könnte man das problemlos als Switch im yahka-Adapter einbinden.
Oder hat jemand eine besser Idee?
Übrigens kommt es nach wie vor bei gewissen Änderungen im Adapter zu einer Fehlermeldung:
-
@dahuby Bist du noch zuhause?
-
@dtp Sry ich bin in den letzten Wochen ziemlich viel in der Arbeit eingesetzt.
Es gibt in der letzten Version anscheinend einen Bug wo Buttons als State erkannt werden und der Adapter crasht in einigen Szenarien. Diese Fehler werd ich sicher noch beheben, aber ich komm leider nicht in den nächsten Tagen zum fixen. Den Vorschlag von dir wo ein Befehl nur gesendet werden soll falls der Wert auf "true" ist werd ich auch umsetzen in der nächsten Version.Funktioniert bei dir die WOL Funktion? Da bei @Megawaldi anscheinend nicht aber bei mir schon.
Und sorry nochmal für die verspätete Antwort.
-
@dahuby sagte in Samsung TizenOS TV Adapter(MJ>=2016):
Funktioniert bei dir die WOL Funktion? Da bei @Megawaldi anscheinend nicht aber bei mir schon.
Und sorry nochmal für die verspätete Antwort.
Kein Problem. Wollte nur sicher gehen, dass du noch "da" bist.
Das mit der WOL-Funktion funktioniert nicht wirklich zuverlässig. Mal geht's. Mal nicht. Weiß aber nicht, ob das am Adapter oder an unserem TV liegt. Ich meine aber, dass es mit der Homebridge und dem Samsung-Tizen-Plugin besser funktionierte. Es wird auch nicht immer der PowerOn State korrekt erfasst. Manchmal muss ich dann den Port ändern, damit es wieder funktioniert.
Bei dieser Gelegenheit hätte ich noch mal die Frage, wann ein neuer Token angefordert werden muss? Ich habe den Eindruck, dass dies nach jedem ioBroker-Neustart der Fall ist. Aber vielleicht täusche ich mich auch, weil ich in der letzten Zeit häufig mit den Docker-Containern auf meiner DiskStation experimentiert hatte.
Ich habe gestern übrigens mal einen command button in einen switch umgewandelt. Den kann ich dann per Javaskript sehr einfach nach einer Änderung auf true wieder innerhalb von 200 ms auf false setzen. Das hat dann den Vorteil, dass in der Home App nicht mehr zwischen true und false getoggelt wird und die dortigen Schalter nach Betätigung sofort wieder ausgeschaltet sind. Aber ich muss halt für jeden Schalter eine entsprechende Skriptsequenz erstellen. Daher habe ich hier mal ein issue für den admin-Adapter gestartet, ob man dort nicht für switches das gewünschte Tastverhalten implementieren kann. Stößt bisher aber leider nicht auf so viel Gegenliebe.
-
Nein WOL funktioniert mit der letzten Version nicht mehr. Davor war es kein Problem. Hat ohne Problem funktioniert.
-
Hallo, mein erster Beitrag und gleich was zu meckern
Also WOL funktioniert bei mir auch nicht. Die anderen Funktionen, die ich getestet habe laufen sehr gut.
Am Netzwerk kanns nicht liegen. Kann den TV sowohl über die Fritzbox als auch mit dem WOL-Knoten (Node Red) starten.Ansonsten sehr geiler Adapter. Alle 10 Daume hoch.
Es gibt übrigens einen Node Red Knoten, der in die gleiche Richtung geht. Vielleicht kann man von dem was übernehmen:
https://flows.nodered.org/node/node-red-contrib-samsung-tv-mk -
Hallo,
ich würde mich mal einfach in das Thema einklinken bevor ich ein neues aufmache.
Endlich ein Samsung Adapter der mit meinem TV (55Q7fn...) funktioniert, erstmal vielen danke dafür an die Entwickler!
Adapter lies sich installieren nachdem ich den anderen Samsung Adapter deinstalliert hatte (vorher beim installieren Error Code 25). Token auslesen hat auch auf anhieb funktioniert.
Jetzt zu meiner Frage: Gibt es eine Möglichkeit unterschiedliche Statusinformationen (z.B. aktiver HDMI Eingang, aktiver TV Sender oder ob eine Aufnahme läuft) zu empfangen?
Sämtliche Stuerungsbefehle sind in den iobroker Objekten vorhanden, aber Status infos habe ich keine gesehen.
Vielen Dank schon mal,
danny_v1
-
Hallo ich teste gerade den Adapter, soweit hat alles geklappt,
nur verliert sich oft der Status des Gerätes. Fernseher ist an, Status ist dann true, irgendwann fällt der Status dann auf false und ändert sich dann wieder auf true.
Anbei meine Konfig:
Was kann das sein?
Gruß
Michael -
Hi,
ich habe eine Vermutung wieso WOL nicht richtig funktioniert. Es ist zwar in den Adapter integriert, aber es kommt nie dazu, dass das magic packet gesendet wird:
Wenn mein TV (GQ65Q70R) aus ist und ich den KEY_POWERON betätige, steht in den Logs, dass der Befehl (ist übrigens auch mit anderen KEY_* so) erfolgreich gesendet wurde, was aber nicht sein kann, da der Fernseher lang genug aus war um nur auf WOL zu reagieren. Ist wahrscheinlich nur ein kleiner Denkfehler irgendwo im Code. -
@deMarvin Ok Danke für die Info habe das Manko mit einen kleinen Code ausgemerzt, so das die Geräte die auf True oder false reagieren sollen, auch so funktionieren wie gewünscht.
-
Mir ist noch etwas aufgefallen: Wenn ich in Node Red eine App starten möchte, deren namen ein Leerzeichen enthält, Prime Video bspw., lässt sich diese nicht ausführen.
[EDIT]
Lag nur dran, dass das Objekt noch keinen Wert/Inhalt hatte... Nachdem ich per Hand true eingetragen hatte, ging es. -
Nochmals der Hinweis, dass der Adapter regelmäßig JSON-Fehler meldet. Hier mal ein Beispiel:
-
@michihorn said in Samsung TizenOS TV Adapter(MJ>=2016):
@deMarvin Ok Danke für die Info habe das Manko mit einen kleinen Code ausgemerzt, so das die Geräte die auf True oder false reagieren sollen, auch so funktionieren wie gewünscht.
Wie hast du denn das Problem mit dem WOL genau gefixt?
-
@Megawaldi Hallo ich nutze den Samsung Tizen Adapter um meine HUE Beleuchtung EIN oder AUS zu schalten. Leider kommt es vor das der Adapter kurzfristig aus dem "true" ein "false" macht, da kompensiere ich mit einem kleinen Script.
Hier erstmal das Script, dass meine HUE einschaltet://HUE am Fernseher im Wohnzimmer einschalten const idLichtsensor = 'hm-rpc.2.000D58A9915658.1.CURRENT_ILLUMINATION'; const idHue = 'hue-extended.0.groups.002-wohnzimmer.action.on'; const idSamsung = 'samsung_tizen.0.powerOn'; const idLux = "javascript.0.Beleuchtung.LUX"; if ((compareTime('16:00', '23:59', 'between') && getState('hm-rpc.2.000D58A9915658.1.CURRENT_ILLUMINATION').val <= 50)) { on({ id: "samsung_tizen.0.powerOn", change: "any" }, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("samsung_tizen.0.powerOn").val == true) { setState(idHue, true); text = '\ud83d\udcfa HUE WZ '; createEventlog("EIN", text); } else { setState(idHue, false); } }) };
Und hier das Script, dass ist meine Eselsbrücke:
const idTVStatus = 'samsung_tizen.0.powerOn'; const idLicht = 'hue-extended.0.groups.002-wohnzimmer.action.on'; var timer = null; //if ((compareTime('16:00', '23:59', 'between') && getState('hm-rpc.2.000D58A9915658.1.CURRENT_ILLUMINATION').val <= 50)) { if ((compareTime('16:00', '23:59', 'between'))) { on(idTVStatus, function (obj) { log("Status TV: " + obj.state.val); if (obj.state.val) { if (timer) clearTimeout(timer); setState(idLicht, true); text = '\ud83d\udcfa HUE WZ '; createEventlog("START", text); } else { timer = setTimeout(function () { setState(idLicht, false); }, 120000); text = '\ud83d\udcfa HUE WZ '; createEventlog("AUS", text); on(idLicht, function (obj) { if (!obj.state.val) { if (timer) clearTimeout(timer); } }); } }) };
So funktioniert das bei mir ganz gut.
Michael -
OK. Habe das soweit alles hinbekommen. Noch kurze Verständnisfragen.
Wenn ich z.B. auf Kanal 1 schalten will und das übre Alexa, dann muss ich folgendes machen:- Ein Command erstellen mit KEY_1
- im iOt Adapter Gerät einbinden uns dort das obige Command auswählen.
- In Alexa nach neuen Geräten suchen
- Bekomme dann das Gerät z.B. Das Erste
- Da Alexa jetzt nur auf "Alexa, Das Erste ein" reagiert und ich aber lieber sagen will "Alexa, schalte auf das Erste", muss ich eine Routine erstellen. Hier mit den obigen Satz und als Gerät wähle ich "Das Erste" mit dem Wert EIN.
Das das Vorgehen so richtig dargestellt? Ohne den ioT wird das sonst iVm Alexa nicht laufen. Korrekt?
-
Möchte meinen Thread ergänzen mit folgenden Problemen.
Ich habe einen relativ neuen Samsung TV per LAN angeschlossen.
Das Gerät hat in der FB WOL aktiviert.In den Objekten findet man unter "control" Drei Power Einträge:
KEY_POWER, KEY_POWEROFF und KEY_POWERON
Bei mir schaltet sich der TV bei den Controls KEY_POWER und/oder KEY_POWERON ein. Über KEY_POWEROFF tut sich nichts. vielmehr sagt das Log"(24954) TV is already off" Ich muss nochmal entweder KEY_POWER oder KEY_POWERON betätigen, dann geht der TV aus. Habe also KEY_POWER als Trigger für Ein- und Ausschalten genommen. Komisch ... aber nun gut.
Ich kann jetzt ein und ausschalten. Wenn ich den TV aber ausschalte und ihn nicht nach 15 Sekunden wieder einschalte, geht es nicht mehr. Ich sehe im Log, dass er den Befehl sendet...aber es tu sich nichts. Ich gehe davon aus, dass durch das Ausschalten die FB das Gerät bei sich abgemeldet hat. Das sendkey scheint keine MAC Aktivierung durchzuführen.
Erst wenn ich den Adapter neu starte und dann wieder einschalten möchte sendet er laut Log:(2461) Error while: sendCommand, action: KEY_POWERON error: Error: connect EHOSTUNREACH 192.168.8.11:8002 retry 1/5 will be executed (2461) Will now try to switch TV with MAC: 8C:79:F5:53:B0:4D on (2461) open connection: wss://192.168.8.11:8002/api/v2/channels/samsung.remote.control?name=aW9Ccm9rZXI=&token=XXXXXXX (2461) sendCommand: KEY_POWERON successfully sent to tv
Somit triggert er die MAC an und der TV geht an. Leider geht er auch direkt wieder aus, da er in Zeile 1 schon das ON geschickt hat und es am Ende nochmal gesendet hat.
Kennt jemand das Problem, dass der TV sich nicht wieder einschalten lässt, wenn die IP seitens der FB (meine Vermutung) nicht mehr aktiv ist.
-
Hallo,
ich hab jetzt vor ein paar Tagen das aktuell 0.0.10 installiert. Natürlich nicht ohne Fehler, aber irgendwie ist der Adapter und die Instanz zustande gekommen.
Ich hab das auch soweit, dass das Polling bei mir mit 9197 funktioniert, aber das war es dann auch leider schonIch habe einen JS9090 aus 2015 und auch sonst nie viel Glück mit dem Teil. Selbst die Samsung eigene IOS App hängt dauernd, was aber auch an der bescheidenen App liegen kann.
ich hab auch wie in dem vorthread wcs installiert und bekomme da die gleichen Ausgaben wie im Log unter iobroker:
wscat -n -c wss://192.168.100.55:8002/api/v2/channels/samsung.remote.control?name=aW9Ccm9rZXI= < {"event":"ms.channel.connect","data":{"id":"0e6ba3a0-5bcd-11ea-bc83-e3d0cc18f5c7","clients":[{"id":"81a4ab10-5bcc-11ea-bc83-e3d0cc18f5c7","connectTime":1583074449473,"attributes":{"name":"aW9Ccm9rZXI="},"deviceName":"aW9Ccm9rZXI=","isHost":false},{"id":"8c33c340-5bcc-11ea-bc83-e3d0cc18f5c7","connectTime":1583074467188,"attributes":{"name":"aW9Ccm9rZXI="},"deviceName":"aW9Ccm9rZXI=","isHost":false},{"id":"9db39730-5bcc-11ea-bc83-e3d0cc18f5c7","connectTime":1583074496547,"attributes":{"name":"aW9Ccm9rZXI="},"deviceName":"aW9Ccm9rZXI=","isHost":false},{"id":"0e6ba3a0-5bcd-11ea-bc83-e3d0cc18f5c7","connectTime":1583074685659,"attributes":{"name":"aW9Ccm9rZXI="},"deviceName":"aW9Ccm9rZXI=","isHost":false}]}} < {"event":"ms.channel.clientConnect","data":{"id":"22e64100-5bcd-11ea-bc83-e3d0cc18f5c7","connectTime":1583074720016,"attributes":{"name":"aW9Ccm9rZXI="},"deviceName":"aW9Ccm9rZXI=","isHost":false}}
Ein Token kommt nie zustande, obwohl ich um die IOs App zu verbinden immer einen PIN eingeben muss.
Aktuell sind meine Einstellungen:
Protokoll: http
IP Adresse: 192.168.100.55
Port 8002
Token 0
Mac Adresse: X......X
Polling Port 9197
Polling Interval 60
Command Verzögerung 1000Wie gesagt bekomme ich den TV Status true oder false angezeigt, das wars dann aber. Nicht ein anderes Kommando funktioniert und auch ein Token hab ich noch nie zustande bekommen.
Seid ihr da schon irgendwie weiter? Fehlt mir vielleicht noch irgend ein Paket weil die Installation schon so holprig war?
-
Du weist aber schon, wie der Adapter heißt, oder?
"MJ >= 2016" dürfte nicht kompatibel sein mit einem TV aus 2015. Hat dein Gerät überhaupt TizenOS?
-
@dtp Ist Baujahr 2015 aber Modelljahr 2016. Ich hab schon Tizen OS, so ist das nicht
-
erledigt
@dahuby
Habe ioBroker auf raspi3 komplett neu aufgesetzt.
npm 6.13.4
node v10.19.0
Bei der Installation kommt jedesmal dieser Fehler:Fehler: host.Lothar-Lap(SmartHome) Cannot install https://github.com/dahuby/iobroker.samsungTizen/tarball/master: 0
- iobroker.samsung_tizen@0.0.10updated 1 package in 29.364s
8 packages are looking for funding runnpm fund
for details
ERROR: host.iobroker Cannot install https://github.com/dahuby/iobroker.samsungTizen/tarball/master: 0
ERROR: process exited with code 25
- iobroker.samsung_tizen@0.0.10updated 1 package in 29.364s