NEWS
Wake on LAN
-
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
-
Hallo nochmal,
ich habe nun bissle rumprobiert. Hatte auch einen Denkfehler. Nun verstehe ich die Funktionsweise. Ich muss ja auch den Wert dann unter den Objekten ändern, denn mein Script reagiert ja nur auf Änderung.
Problem war dann eben noch, dass ich nur Pubkey Authentifizierung habe und der iobroker user hat keinen private key. Habe das nun alles gemacht und nun funktioniert auch der exec Befehl.
Nun ist mir nur nich klar, wie meine Alexa meinen Server findet. Ich habe bei der Instanz Cloud ein neues smartes Gerät hinzugefügt und mein Objekt zugewiesen. Aber woher soll Alexa das nu kennen? Müsste dieses Gerät nicht nun auch in der Alexa App auf meinem Smartphone unter Geräte zufinden sein?
Grüße,
-
Hallo,
Also ich muss wirklich den Skill deaktivieren, dann wieder aktivieren und danach war mein erstelltes Smartes Gerät da.
Ist ein wenig umständlich, aber vielleicht weiß jemand wie man alexa dazu bringt neue Geräte einzulesen. Ich habe auch versucht es per suche zu finden aber leider keine Chance. Vielleicht habe ich aber auch nach dem falschen Typ gesucht.
Grüße
herrmie
Gesendet von meinem SM-G965F mit Tapatalk
-
Hallo zusammen,
vielen lieben Dank an alle. Hat bei mir auch funktioniert. Da ich absoluter Laie bin, war es für mich etwas schwieriger. Ich musste erst einmal lernen, dass ich das Skript in der ioBroker Übersicht bei <> Skripe einbinden muss und nicht in der ioVIS Oberfläche.
Im Endeffekt ist es bei mir ein Taster in der ioVIS geworden.
Viele Grüße
Mark