NEWS
Wake on LAN
-
Ist weiter oben beschrieben, und auch in der Fehlermeldung erkennbar, wenn man klingonjsch spricht
-> Die geschweifte Klammer auf Zeile 5 muss weg.
-
Oh man es war wieder so nah dran, war wohl zu früh heute morgen.
Danke
-
Guten Abend,
ich bekomme es nicht zum laufen. Es wird einfach kein Magic Paket an den PC geschickt (WOL mit anderen Tools geht zu dem PC). Mein Skript sieht jetzt wie folgt aus:
var wol = require('wake_on_lan'); on({id: "PC", change: 'any'}, function (obj) { wol.wake('00:22:4D:AB:FC:96'); } );
Im Log erscheint folgendes nachdem ich das Skript aktiviert habe
20:49:13.084 [info] javascript.0 Start javascript script.js.Skript1 20:49:13.084 [info] javascript.0 script.js.Skript1: registered 2 subscriptions and 0 schedules
Enginetyp ist Javascript/js und es ist keiner Gruppe zugeordnet. Hat jemand noch eine Idee?
-
Vielleicht ne blöde Frage, aber Du hast den Datenpunkt "PC" schon 'bewegt' ?
-
Bin komplett neu unterwegs mit IOBroker und stehe daher komplett auf dem Schlauch in Bezug auf deine Frage. Habe nur das Skript angelegt und mehr bisher nicht :idea: :roll:
-
Etwas anschaulicher wäre ggf. das Script so.
var idButton = "hm-rpc.0.LEQ1234567.1.PRESS_SHORT"/*HM-PB-2-WM55-2 LEQ1234567:1.PRESS_SHORT*/; //Objekt var wol = require('wake_on_lan'); on({id: "idButton", change: 'any'}, function (obj) { wol.wake('00:22:4D:AB:FC:96'); } );
So könnte mann etwas einfacher erklären wies läuft.
der Variable idButton wird ein realer Datenpunkt in ioBroker zugewiesen (im Beispiel eine HomeMatic Taste)
Die on Funktion wartet darauf, das die Taste sich ändert (gedrückt wird) um das wol.wake auszuführen.
Hast Du denn schon 'irgendetwas' in ioBroker drin, drann ??
-
Habe für @Samsungfreak das Script etwas 'allgemeiner' gestaltet:
createState("javascript.0.PC1starten", 0); // Generiert beim starten den Datenpunkt, wenn nicht vorhanden var wol = require('wake_on_lan'); // Lädt von ioBroker die das nötige Paket var myPC1 = "00:11:22:33:44:55"; // MAC definieren // Ab hier automatisch on({id: "javascript.0.PC1starten", change: 'any'}, function (obj) { wol.wake(myPC1); log("Script WOL - PC1 aufgeweckt", "info"); } );
-
@ykuendig: Danke dir!
So habe ich es hinbekommen! Ich habe allerdings manuell einen Datenpunkt erstellt und diesen dann mit in den Skript fest aufgenommen:)
-
Ich bekomme WOL leider nicht zum fliegen.
Mein Skript sieht so aus:
var wol = require('wake_on_lan'); on({id: "javascript.0.WinNAS_WOL", change: 'any'}, function (obj) { wol.wake('d0-50-99-9e-b3-ee'); } );
Mein Datenpunkt (manuell erstellt) sieht so aus:
Mein Testauslöser so:
EDIT: Komisch, einmal das NAS per WOL vom Windows-Client an- und ausgeschaltet. Schon geht es
-
Könnte man soetwas nicht auch für Kodi machen ??
Habe eine Nvidia Shield auf dem Kodi läuft leider ist es nur möglich über die Remote App Yatse Wake on Lan zu starten oder man besorg sich extra nur für die Shield ein Harmony Hub
Wenn da jemand helfen könnte wäre super meine JavaScript erfahrung ist nicht besonders gut.
-
vielen Dank für das Skript. Funktioniert.
-
Hi,
auch von mir ein "Danke" für das Skript.
Tut!
CU,
padrino
-
Guten Abend.
Ich bekomme das 'wol' nicht hin. Weder für TV noch PC.
Datenpunkte unter Objekte im javaskript.0 Ordner erstellt.
Unter Adapter den von g*thub.com/agnat/node_wake_on_lan installiert.
Im JS zeigt mir der Editor Fehler in Zeile 2: Cannot find module.
Irgendeine Idee woran das liegt?
-
Geh auf deine Instanzen und dann auf die Einstellungen vom Javascript Adapter. Da trägst du dann bei „Zusätzliche NPM-Module“ „node-wol“ ein und steicherst. Dann wird der Adapter automatisch installiert.
@apollon77:Naja, beim JS-Adapter die "node-wol" als Paket angeben, dann neu starten damit wird das installiert. `
-
Geh auf deine Instanzen und dann auf die Einstellungen vom Javascript Adapter. Da trägst du dann bei „Zusätzliche NPM-Module“ „node-wol“ ein und steicherst. Dann wird der Adapter automatisch installiert.
@apollon77:Naja, beim JS-Adapter die "node-wol" als Paket angeben, dann neu starten damit wird das installiert.
Danke für den Hinweis el_malto.
Merkwürdigerweise hat es bei mir im Javascript immer noch den cannot find Fehler angezeigt.
Erst als ich noch wake_on_lan eingetragen habe hat es funktioniert…(dachte node-wol wäre das selbe?!)
Trotzdem cool das es jetzt läuft...
13238_javascript_adapter3.jpg -
Hallo,
ich habe auch das Problem, dass es nicht funktioniert. Unter Instanzen (javascript.0) habe ich node-wol und wake_on_lan.
Mein Script:
createState("javascript.0.PCanschalten", 0); // Generiert beim Starten den Datenpunkt var wol = require('wake_on_lan'); // Lädt von ioBroker das nötige Paket herunter var myPC = "xx:xx:xx:xx:xx:xx"; // durch eure MAC Adresse ersetzten on({id: "javascript.0.PCanschalten", change: 'any'}, function (obj) { var current_state = getState("javascript.0.PCanschalten").val; if (current_state == "1") { //entspricht true bzw „an“ über Alexa wol.wake(myPC); log("Script ServerSteuerung – Server aufgeweckt, "+current_state, "info"); }else { exec('ssh Serverip -l XXXXX -t "sudo shutdown -h now"'); log("Script ServerSteuerung – Server shutdown "+current_state, "info"); } } );
Bei mir wird ebenfalls angezeigt "cannot find module 'wake_on_lan'".
Wenn ich auf der Konsole ein npm list eingebe wird mir komischerweise folgendes angezeigt:
npm ERR! extraneous: wake_on_lan@1.0.0 /opt/iobroker/node_modules/wake_on_lan
Aber der Ordner ist da.
Danke schonmal und Grüße,
herrmie
-
Hallo Herrmie.
Bei mir wird im Script inzwischen auch wieder 'cannot find module' angezeigt.
Aber es funktioniert trotzdem einwandfrei.
Bevor ich die Module im Javascript-Adapter eingetragen habe hatte ich es ja auch schon über github installiert.
Die Ordner waren also bei mir auch vorhanden, aber es lief trotzdem nicht…
Hast Du die Module wie in meinem letzten Bild eingetragen?
Und dann natürlich noch an dem Gerät das Du weckenmöchtest einstellen das sowas erlaubt ist.
Und ggf. auch am Router...
Dann sollte es klappen.
Script sieht IMA ok aus.
-
Hallo,
ich habe nichts von github installiert. Die 2 Module wake_on_lan und npm-wol sind unter den zusätzlichen NPM Modulen.
Ich verstehe auch nicht ganz das script.
var wol = require('wake_on_lan'); // Lädt von ioBroker das nötige Paket herunter
Heißt das, dass er das automatisch runterlädt wenn er es nicht hat?
Desweiteren, müsste doch beim ausführen unter Protokoll im Scripteditor der Output kommen den ich in dem Script unter "log("…."); habe, oder?
Grüße,
herrmie
-
Ich glaube wenn der Javascript Adapter und das Script läuft, sollte jedesmal wenn es getriggert wird der Satz aus dem Script auch im Log erscheinen.
Unabhängig davon ob WOL funktioniert oder nicht!
Sonst scheint noch etwas anderes nicht zu klappen…
-
Hallo,
das denke ich auch, ich habe jetzt auch mal ein Paar Tests gemacht und mir nur per Log(""); etwas ausgegeben. Aber was ich nicht verstehe ist, wenn wol funktionieren würde, wann wird der Wert dann auf 1 gesetzt?
Ich müsste ja dann eigentlich noch in den IF clause den Status ändern, oder?
Grüße
herrmie