NEWS
[Skript] LG TV via WOL einschalten und per Adapter ausschalten
-
Hallo zusammen,
ich habe vor gut einer Wochen angefangen, mich mit ioBroker zu beschäftigen, nachdem ich meinen Xiaomi Vacuum Staubsauger mit Alexa steuern wollte. Das klappt, und jetzt hat es mich gepackt und ich will mehr
Ich hab schon den LGTV-Adapter eingerichtet, um meinen LG 55UH850 zu steuern, das klappt auch. Nur kann man damit den TV ja nicht einschalten. Deswegen wollte ich es via WOL probieren. Ich habe dazu auch schon einige Beiträge hier im Forum gelesen und mir ein (mittlerweile etwas aufgeblasenes) Skript gebastelt:
createState("javascript.0.TVeinschalten"); var wol = require('wake_on_lan'); // Lädt von ioBroker das nötige Paket herunter var myPC = "14:C9:13:18:34:5B"; // durch eure MAC Adresse ersetzten on({id: "javascript.0.TVeinschalten", change: 'true'}, function (obj) { var current_state = getState("javascript.0.TVeinschalten").val; if(current_state == "1"){ wol.wake('14:C9:13:18:34:5B', { address: '192.168.0.255', port: 9 }); wol.wake('14:C9:13:18:34:5B', { address: '192.168.0.255', port: 9 }, function(error){ if (error) { log("Skript WOL - Error"); }else{ log("Skript WOL - Kein Error"); } }); log("Skript WOL - TV aufgeweckt "+current_state, "info"); setState("javascript.0.TVeinschalten", false); }else{ log("Skript WOL - TV nicht aufgeweckt? "+current_state, "info"); } } ); var magic_packet = wol.createMagicPacket('14:C9:13:18:34:5B');
Nur leider funktioniert das nicht. Mein TV hat eine feste IP 192.168.0.95 und ist per LAN Kabel verbunden. Parallel habe ich es mit der Android App "https://play.google.com/store/apps/details?id=co.uk.mrwebb.wakeonlan&hl=de" probiert, damit kann ich den TV problemlos starten, diese sendet das MagicPacket allerdings an die Broadcaste Adresse 192.168.0.255, daher habe ich das im Skript auch so eingegeben. Aber auch die feste IP des TVs führt nicht zum gewünschten Ergebnis. Weiß jemand, warum das Skript es nicht hinbekommt? Im Log wird immer "Kein Error" und "Skript WOL - TV aufgeweckt true" angezeigt, es läuft also sauber durch. Ich habe es auch schon mit node-wol probiert, gleiches Ergebnis.
Noch zur Info: Meine ioBroker Instanz läuft in Docker auf einer Xpenology Maschine.
Vielen Dank schon mal für eure Hilfe!
Greetz Elbo
-
Hi Elbo,
soweit ich das bisher mitbekommen hab ist Docker und bestimmte Netzwerk Funktionen nicht ganz trivial.
Eine kurze google suche hat ergeben das es an den Einstellungen deiner Docker Netzwerk Konfiguration liegen kann.
-
Hi Jey Cee,
das war der entscheidende Gedankenanstoß. Das Problem ist dabei eigtl. völlig trivial, da man beim Einrichten der Docker Instanz nicht den den bridge-mode nutzen darf, sondern stattdessen die Option "Dasselbe Netzwerk wie Docker Host verwenden" auswählen muss, wie es übrigens auch http://forum.iobroker.net/viewtopic.php?t=5089 beschrieben ist…
Wieder mal ein Fall von "wer lesen kann, ist klar im Vorteil" :roll:
[EDIT]
Ich weiß nicht, ob es schon ein fertiges Script hier im Forum gibt. Aber ich teile meins mal, falls jemand das auch so realisieren will:
createState("javascript.0.TVeinschalten"); var wol = require('wake_on_lan'); // Lädt von ioBroker das nötige Paket herunter on({id: "javascript.0.TVeinschalten", change: 'any'}, function (obj) { var current_state = getState("javascript.0.TVeinschalten").val; if(current_state == "1"){ wol.wake('14:C9:13:18:34:5B', { address: '192.168.0.255', port: 9}); log("Skript WOL - TV gestartet", "info"); }else{ setState("lgtv.0.turnOff", true); log("Skript WOL - TV ausgeschaltet", "info"); }});
Das Objekt "javascript.0.TVeinschalten" kann man dann einfach im Cloud Adapter einfügen und z.B. "TV" benennen und so den LG Fernseher bequem per Sprache via Alexa mit "TV an" und "TV aus" ein- und ausschalten. MAC-Adresse und Broadcast-IP muss natürlich angepasst werden.
Greetz Elbo
-
Hallo liebe Community !
Ich hatte das selbe Problem, das ich den LGTV nicht starten konnte. (LG OLED 65C8LLA)
Habe daraufhin versucht hier Informationen zu finden wie man es trotz "LGTV.0" Adapter über WOL schafft das Gerät zu aktivieren.
Leider hat dies aber trotz übernahme des Scripts aus Post3 nicht funktioniert obwohl ich meine Daten extra angepasst habe… also MAC und IP, id sowie getstate...
Also, hab ich mal überlegt und mir gedacht, EIGENTLICH benötige ich doch keine IP Adresse bei einem WOL Befehl,
da ich den TV ja ohnehin nur mit der MAC Adresse ansprechen kann.
Die IP Adressenzeile aus dem Script gelöscht und siehe da, das Script will nach den Statuszeilen arbeiten, startet aber den TV nicht...
Nach langem hin und her bin ich dann draufgekommen, wenn ich den TV starten wollte ging mir unter "lgtv.0" die position "turn off" ebenfalls auf ON...
Sprich, ich habe EIN und AUS gleichzeitig gesendet. ?!? Ok, seis drum.. hab das Script dann so angepasst das ich die Positionen für das AUSSCHALTEN aus dem Script gelöscht hab.
Aussehen tut das bei mir nun wie folgt...
var wol = require('wake_on_lan'); // Lädt von ioBroker das nötige Paket herunter on({id: "lgtv.0.einschalten", change: 'any'}, function (obj) { var current_state = getState("lgtv.0.einschalten").val; if(current_state == "1"){ wol.wake('A8:23:FE:23:2F:AF', { port: 9}); log("Skript WOL - TV gestartet", "info"); }});
Des weiteren habe ich unter "lgtv.0" einen neuen BUTTON angelegt mit der Bezeichnung "einschalten" angelegt,
wie dieses aussieht seht ihr hier… (könnte man ggf bei den nächsten versionen in den Adapter intigrieren ?)
~~![](</s><URL url=)http://www.pu-mi.com/iobroker_forum/lgtv0_pusch.jpg" />
Nun kann ich mittels Befehl "einschalten" den TV EIN und mit "turnOff" wieder AUSSCHALTEN…
Hoffe ich konnte anderen damit auch ein bisschen helfen...~~
-
Hallo Michael, ich möchte auch gern meinen LG aufwecken, hab es erstmal mit WOL2.exe und der Mac probiert, aber das hat leider nicht geklappt. Wo genau und wie wird das Script von dir eingetragen ? Kannst du bitte kurz ne kleine Anleitung, nur ganz kurz schreiben?
-
Ich verlinke hier mal auf einen Beitrag von mir von gerade im Forum, der die Lösung für dich und zukünftig Suchende bieten sollte.
https://forum.iobroker.net/post/255116
Schöne Grüße
cospyanther -
Cool danke für den Link, ich schau es mir heute Abend mal an
-
Ich habe das via der verlinkten WOL-Geschichte (Script und entsprechende Szene) geschafft den LG aus der Ferne einzuschalten. Mangels ausreichender Doku stoße ich allerdings sehr oft auf Stoplersteine im ioBroker (irgendwie sind alles bereits CRACKS und wissen wie Basics gehen).
-
@michael-pusch
Wie erstelle ich einen einschalten "Button"? Ich habe das halt via Szene regelt -
Wie kombiniere ich die Szene, damit ich mit einem true/ false einsprechend EIN Gerät habe, so dass ich das an Alexa weiterreichen kann und mittels dieses "Geräts" an und ausschalten kann,
-
-
@elbo said in [Skript] LG TV via WOL einschalten und per Adapter ausschalten:
createState("javascript.0.TVeinschalten"); var wol = require('wake_on_lan'); // Lädt von ioBroker das nötige Paket herunter on({id: "javascript.0.TVeinschalten", change: 'any'}, function (obj) { var current_state = getState("javascript.0.TVeinschalten").val; if(current_state == "1"){ wol.wake('14:C9:13:18:34:5B', { address: '192.168.0.255', port: 9}); log("Skript WOL - TV gestartet", "info"); }else{ setState("lgtv.0.turnOff", true); log("Skript WOL - TV ausgeschaltet", "info"); }});
Hi,
hab mal das script eingebaut, natürlich Adressen geändert aber da tut sich nix bei mir.