NEWS

[gelöst] WOL über ioBroker realisieren



  • Danke für deine Hilfe.

    Für mich ist das echt alles Neuland und eine totale Blackbox :?

    Also wenn ich es wie von dir beschrieben erfasse bekomme ich einen Fehler.

    Ich habe jetzt mal folgendes probiert:

    createState('wakeMyDevice');
    

    und

    createState('wakeMyDevice', {type: 'boolean'});
    

    Leider wird das Objekt nicht so angelegt. dass den State Wert von false auf true ändern kann.
    394_2015-07-18_10_30_29-192.168.2.123_8081__objects.png
    Unter "Zustände" finde ich das Objekt auch nicht.

    Mach ich noch etwas falsch ?

    Gruß

    MIchael



  • Du kannst einfach true reinschreiben.
    1241_bsz.txt



  • @Bluefox:

    Du kannst einfach true reinschreiben. `

    Schade 😞

    ich habe es auch gerade getestet. Leider komme ich nicht an das gewünschte Ziel.

    Vielleich kann eine Profi einmal ein etwas ausführicheren Beitrag schreiben damit die Laien es auch verstehen und umsetzen könen. DANKE

    Gruß

    Jürgen



  • Ich glaube heute steh ich auf dem Schlauch.

    Geburtstag von meinem kleinen vorbereiten und das warme Wetter … Alles zu viel für meinen Kopf. 😉

    Wo kann ich denn TRUE eintragen ?



  • @mctom:

    Ich glaube heute steh ich auf dem Schlauch.

    Geburtstag von meinem kleinen vorbereiten und das warme Wetter … Alles zu viel für meinen Kopf. 😉

    Wo kann ich denn TRUE eintragen ? `

    Unter Zustände.

    Da taucht es aber nur auf, wenn es schone einen Zustand hat.

    Lösch das Objekt unter Objekte mal (Papierkorb).

    Und trage im Script folgendes ein:

    createState('wakeMyDevice',false);
    

    Danach solltest DU das Objekt auch unter Zustände haben und dort von false auf true wechseln können.

    Wenn das funktioniert, kannst Du das Objekt z.B. in Vis verwenden, um über Vis auf Knopfdruck Dein Gerät per WOL aufzuwecken.



  • @ruhr70:

    @mctom:

    Ich glaube heute steh ich auf dem Schlauch.

    Geburtstag von meinem kleinen vorbereiten und das warme Wetter … Alles zu viel für meinen Kopf. 😉

    Wo kann ich denn TRUE eintragen ? `

    Unter Zustände.

    Da taucht es aber nur auf, wenn es schone einen Zustand hat.

    Lösch das Objekt unter Objekte mal (Papierkorb).

    Und trage im Script folgendes ein:

    createState('wakeMyDevice',false);
    

    Danach solltest DU das Objekt auch unter Zustände haben und dort von false auf true wechseln können.

    Wenn das funktioniert, kannst Du das Objekt z.B. in Vis verwenden, um über Vis auf Knopfdruck Dein Gerät per WOL aufzuwecken. `

    super

    so hat es nun funktioniert. Wichtig ist das angesproche löschen

    Danke für den Hinweiß

    Gruß

    Jürgen



  • Also noch mal langsam für Rheinländer 😉

    Ich lege das Programm an.

    Dann Speicher ist das Programm. Nun sollte unter Zuständ auch die Variable vorhanden sein.

    Dann nehme ich die Zeile createState…. Aus dem Script und speicher es.

    Nun gehe ich in den Reiter Zustände suche das Objekt und ändere den State Wert in True setzte den Haken bei bestätigen.

    Jetzt sollte das Script ausgeführt werden.

    Habe ich das so richtig verstanden ?

    Gruß Michael

    Ps: vielen Dank für eure Hilfe und Geduld.



  • @mctom:

    Also noch mal langsam für Rheinländer 😉

    Ich lege das Programm an.

    Dann Speicher ist das Programm. Nun sollte unter Zuständ auch die Variable vorhanden sein.

    Dann nehme ich die Zeile createState…. Aus dem Script und speicher es.

    Nun gehe ich in den Reiter Zustände suche das Objekt und ändere den State Wert in True setzte den Haken bei bestätigen.

    Jetzt sollte das Script ausgeführt werden.

    Habe ich das so richtig verstanden ?

    Gruß Michael

    Ps: vielen Dank für eure Hilfe und Geduld. `

    Du legst das Programm mit createState am Anfang an.

    Wenn das Object schon vorhanden ist, macht createState nichts, ansonsten wird das Objektangelegt.

    createState bleibt also im Script drin.



  • Hallo Michael,

    am besten so:

    <list type="decimal">4. erstmal in Objekte die Variable wakeMyDevice wieder löschen

    1. script anlegen und in die erste Zeile````
      createState('wakeMyDevice',false);

      
      Beim Speichern des Skripts wird die Variable __wakeMyDevice__ als Objekt mit dem Zustand __false__ angelegt. Ab jetzt ist die Variable immer da und merkt sich den letzten Zustand, createState legt die Variable nur an, wenn es sie noch nicht gibt.
      
      
    2. in den Reiter Zustände wechseln und das Objet doppelklicken und ture eintragen -> durch den Wechsel auf true wird das Skript ausgeführt.

    3. Optional: Optimalerweise sollte die Variable nach Ausführung des Skriptes (ggf. zeitversetzt) wieder auf false gesetzt werden, damit sie bereit ist, neu auf true geschaltet zu werden. Dazu zB im geposteten Skript hinter Zeile 10 noch````
      setTimeout(function () {
      setState('wakeMyDevice', false, true);
      }, 2000); // wird nach 2s zurück auf false gestellt

    ````einfügen. 
    

    Also hier nochmal alles zusammen

    ! createState('wakeMyDevice',false); var wol = require('wake_on_lan'); ! on('wakeMyDevice', function (obj) { if (!obj.newState.ack && obj.newState.val) { wol.wake('20:DE:20:DE:20:DE', function(error) { if (error) { log(error, 'error'); setState('wakeMyDevice', false, true); } else { setState('wakeMyDevice', true, true); setTimeout(function () { setState('wakeMyDevice', false, true); }, 2000); } }); } }); !

    Gruß

    Pix



  • VIELEN DANK…

    ... für eure Hilfe und Geduld.

    Nun klappt es so wie beschrieben. Über VIS kann kann ich nun meinen NAS starten - perfekt.

    Gruß

    Michael


Log in to reply
 

Suggested Topics

2.0k
Online

32.3k
Users

39.0k
Topics

528.1k
Posts