Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] WOL als Magicpaket an NAS per Blockly-Script

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

[gelöst] WOL als Magicpaket an NAS per Blockly-Script

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
20 Beiträge 8 Kommentatoren 5.4k Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    Sirius_77
    schrieb am zuletzt editiert von
    #11

    O. k., mache ich später. Bin gerade nur mit dem Handy online. Da ließ es sich nicht rauskopieren :(

    Aber schon mal vielen Dank.

    Vorhanden ist:

    • Raspberry 3

    • Harmony Hub

    • Philips Hue - Basis

    • Smartwares HomeWizard - Basis

    • Amazon Echo + Dot inkl. Alexa

    • Ifttt-Integration

    1 Antwort Letzte Antwort
    0
    • BuZZyB Offline
      BuZZyB Offline
      BuZZy
      schrieb am zuletzt editiert von
      #12

      Kein Problem, war in deinem Fall jetzt nicht so viel Code..

      Hier mal mein Vorschlag:

      var wol = require('wake_on_lan');
      var Zeitplan = null;
      function WOLSenden() {
      	if (getState('hue.0.Philips_hue.Lichtbox.on').val === true) {
      		wol.wake("4C:...:48");
      	} else {
      		clearSchedule(Zeitplan);
      		log('Lichtbox aus. Zeitplan gelöscht - warte wieder auf Lichtbox an.');
      	}
      }
      
      on({id: "hue.0.Philips_hue.Lichtbox.on", val: true}, function (obj) {
      	log('Lichtbox an. Sende alle 60 Sekunden WOL Paket.');
      	Zeitplan = schedule("* * * * *", WOLSenden);
      });
      

      Musst deine MAC Adresse noch in Zeile 5 eintragen. ("4C:…:48") habe ich jetzt mal als Platzhalter eingetragen.

      Gruß

      D3ltoroxpD 1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        Sirius_77
        schrieb am zuletzt editiert von
        #13

        @BuZZy und alle die sich an der Diskussion beteiligt haben:

        Vielen Dank! Nun läuft das Script genauso, wie ich mir das vorgestellt habe!

        In diesem Sinne: Gute Nacht :)

        Vorhanden ist:

        • Raspberry 3

        • Harmony Hub

        • Philips Hue - Basis

        • Smartwares HomeWizard - Basis

        • Amazon Echo + Dot inkl. Alexa

        • Ifttt-Integration

        1 Antwort Letzte Antwort
        0
        • BuZZyB BuZZy

          Kein Problem, war in deinem Fall jetzt nicht so viel Code..

          Hier mal mein Vorschlag:

          var wol = require('wake_on_lan');
          var Zeitplan = null;
          function WOLSenden() {
          	if (getState('hue.0.Philips_hue.Lichtbox.on').val === true) {
          		wol.wake("4C:...:48");
          	} else {
          		clearSchedule(Zeitplan);
          		log('Lichtbox aus. Zeitplan gelöscht - warte wieder auf Lichtbox an.');
          	}
          }
          
          on({id: "hue.0.Philips_hue.Lichtbox.on", val: true}, function (obj) {
          	log('Lichtbox an. Sende alle 60 Sekunden WOL Paket.');
          	Zeitplan = schedule("* * * * *", WOLSenden);
          });
          

          Musst deine MAC Adresse noch in Zeile 5 eintragen. ("4C:…:48") habe ich jetzt mal als Platzhalter eingetragen.

          Gruß

          D3ltoroxpD Online
          D3ltoroxpD Online
          D3ltoroxp
          schrieb am zuletzt editiert von
          #14

          @BuZZy said in [gelöst] WOL als Magicpaket an NAS per Blockly-Script:

          Kein Problem, war in deinem Fall jetzt nicht so viel Code..

          Hier mal mein Vorschlag:

          var wol = require('wake_on_lan');
          var Zeitplan = null;
          function WOLSenden() {
          	if (getState('hue.0.Philips_hue.Lichtbox.on').val === true) {
          		wol.wake("4C:...:48");
          	} else {
          		clearSchedule(Zeitplan);
          		log('Lichtbox aus. Zeitplan gelöscht - warte wieder auf Lichtbox an.');
          	}
          }
          
          on({id: "hue.0.Philips_hue.Lichtbox.on", val: true}, function (obj) {
          	log('Lichtbox an. Sende alle 60 Sekunden WOL Paket.');
          	Zeitplan = schedule("* * * * *", WOLSenden);
          });
          

          Musst deine MAC Adresse noch in Zeile 5 eintragen. ("4C:…:48") habe ich jetzt mal als Platzhalter eingetragen.

          Gruß

          Ich versuche mich hier mal. Vllt wird es ja noch gelesen.

          Ich habe ihn mal so abgeändert. Will per Cron zu bestimmten Zeiten den Server wecken, das würde ich mit nem Blockly realisieren.

          var wol = require('wake_on_lan');
          function WOLSenden() {
          	if (getState('0_userdata.0.Keller.Medienserver_aufwecken').val === true) {
          		wol.wake("a8:a1:59:02:f1:34");
          		log("WOL Paket an Medienserver gesendet", "info");
          	}
          }
          );
          

          Leider stimmt hier die Syntax noch nicht ganz. Kann mir da einer helfen ? Irgendwo muss noch ein ( hin.

          I 1 Antwort Letzte Antwort
          0
          • D3ltoroxpD D3ltoroxp

            @BuZZy said in [gelöst] WOL als Magicpaket an NAS per Blockly-Script:

            Kein Problem, war in deinem Fall jetzt nicht so viel Code..

            Hier mal mein Vorschlag:

            var wol = require('wake_on_lan');
            var Zeitplan = null;
            function WOLSenden() {
            	if (getState('hue.0.Philips_hue.Lichtbox.on').val === true) {
            		wol.wake("4C:...:48");
            	} else {
            		clearSchedule(Zeitplan);
            		log('Lichtbox aus. Zeitplan gelöscht - warte wieder auf Lichtbox an.');
            	}
            }
            
            on({id: "hue.0.Philips_hue.Lichtbox.on", val: true}, function (obj) {
            	log('Lichtbox an. Sende alle 60 Sekunden WOL Paket.');
            	Zeitplan = schedule("* * * * *", WOLSenden);
            });
            

            Musst deine MAC Adresse noch in Zeile 5 eintragen. ("4C:…:48") habe ich jetzt mal als Platzhalter eingetragen.

            Gruß

            Ich versuche mich hier mal. Vllt wird es ja noch gelesen.

            Ich habe ihn mal so abgeändert. Will per Cron zu bestimmten Zeiten den Server wecken, das würde ich mit nem Blockly realisieren.

            var wol = require('wake_on_lan');
            function WOLSenden() {
            	if (getState('0_userdata.0.Keller.Medienserver_aufwecken').val === true) {
            		wol.wake("a8:a1:59:02:f1:34");
            		log("WOL Paket an Medienserver gesendet", "info");
            	}
            }
            );
            

            Leider stimmt hier die Syntax noch nicht ganz. Kann mir da einer helfen ? Irgendwo muss noch ein ( hin.

            I Offline
            I Offline
            iobroker_Alex
            schrieb am zuletzt editiert von
            #15

            @D3ltoroxp
            Du willst das so umbauen, dass es nur per Trigger Zeit funktioniert.
            Dann so (Blockly Import):

            <xml xmlns="https://developers.google.com/blockly/xml">
              <block type="procedures_defcustomnoreturn" id="~?-s4u{p:Gmy-!.0S;v)" x="113" y="113">
                <mutation statements="false"></mutation>
                <field name="NAME">WOL</field>
                <field name="SCRIPT">dmFyIHdvbCA9IHJlcXVpcmUoJ3dha2Vfb25fbGFuJyk7DQpmdW5jdGlvbiBXT0xTZW5kZW4oKSB7DQogICAgd29sLndha2UoIjJjOmY0OjMyOjY4OmU4OmU4Iik7DQogICAgbG9nKCJXT0wgUGFrZXQgUHJveG1veCBCYWNrdXAgZ2VzZW5kZXQiLCAiaW5mbyIpOw0KfQ0KV09MU2VuZGVuKCk7</field>
                <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
              </block>
              <block type="schedule" id="Q|dM3{{#86o0,!{@[s=O" x="63" y="212">
                <field name="SCHEDULE">55 1 * * *</field>
                <statement name="STATEMENT">
                  <block type="procedures_callcustomnoreturn" id="Yye~VU]8!L{l#{yWjgZy">
                    <mutation name="WOL"></mutation>
                  </block>
                </statement>
              </block>
            </xml>
            <xml xmlns="https://developers.google.com/blockly/xml">
              <block type="procedures_defcustomnoreturn" id="~?-s4u{p:Gmy-!.0S;v)" x="113" y="113">
                <mutation statements="false"></mutation>
                <field name="NAME">WOL</field>
                <field name="SCRIPT">dmFyIHdvbCA9IHJlcXVpcmUoJ3dha2Vfb25fbGFuJyk7DQpmdW5jdGlvbiBXT0xTZW5kZW4oKSB7DQogICAgd29sLndha2UoIjJjOmY0OjMyOjY4OmU4OmU4Iik7DQogICAgbG9nKCJXT0wgUGFrZXQgUHJveG1veCBCYWNrdXAgZ2VzZW5kZXQiLCAiaW5mbyIpOw0KfQ0KV09MU2VuZGVuKCk7</field>
                <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
              </block>
              <block type="schedule" id="Q|dM3{{#86o0,!{@[s=O" x="63" y="212">
                <field name="SCHEDULE">55 1 * * *</field>
                <statement name="STATEMENT">
                  <block type="procedures_callcustomnoreturn" id="Yye~VU]8!L{l#{yWjgZy">
                    <mutation name="WOL"></mutation>
                  </block>
                </statement>
              </block>
            </xml>
            

            Alternativ nimm statt des Cron-Triggers deinen Datenpunkt '0_userdata.0.Keller.Medienserver_aufwecken'

            B 1 Antwort Letzte Antwort
            1
            • I iobroker_Alex

              @D3ltoroxp
              Du willst das so umbauen, dass es nur per Trigger Zeit funktioniert.
              Dann so (Blockly Import):

              <xml xmlns="https://developers.google.com/blockly/xml">
                <block type="procedures_defcustomnoreturn" id="~?-s4u{p:Gmy-!.0S;v)" x="113" y="113">
                  <mutation statements="false"></mutation>
                  <field name="NAME">WOL</field>
                  <field name="SCRIPT">dmFyIHdvbCA9IHJlcXVpcmUoJ3dha2Vfb25fbGFuJyk7DQpmdW5jdGlvbiBXT0xTZW5kZW4oKSB7DQogICAgd29sLndha2UoIjJjOmY0OjMyOjY4OmU4OmU4Iik7DQogICAgbG9nKCJXT0wgUGFrZXQgUHJveG1veCBCYWNrdXAgZ2VzZW5kZXQiLCAiaW5mbyIpOw0KfQ0KV09MU2VuZGVuKCk7</field>
                  <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                </block>
                <block type="schedule" id="Q|dM3{{#86o0,!{@[s=O" x="63" y="212">
                  <field name="SCHEDULE">55 1 * * *</field>
                  <statement name="STATEMENT">
                    <block type="procedures_callcustomnoreturn" id="Yye~VU]8!L{l#{yWjgZy">
                      <mutation name="WOL"></mutation>
                    </block>
                  </statement>
                </block>
              </xml>
              <xml xmlns="https://developers.google.com/blockly/xml">
                <block type="procedures_defcustomnoreturn" id="~?-s4u{p:Gmy-!.0S;v)" x="113" y="113">
                  <mutation statements="false"></mutation>
                  <field name="NAME">WOL</field>
                  <field name="SCRIPT">dmFyIHdvbCA9IHJlcXVpcmUoJ3dha2Vfb25fbGFuJyk7DQpmdW5jdGlvbiBXT0xTZW5kZW4oKSB7DQogICAgd29sLndha2UoIjJjOmY0OjMyOjY4OmU4OmU4Iik7DQogICAgbG9nKCJXT0wgUGFrZXQgUHJveG1veCBCYWNrdXAgZ2VzZW5kZXQiLCAiaW5mbyIpOw0KfQ0KV09MU2VuZGVuKCk7</field>
                  <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                </block>
                <block type="schedule" id="Q|dM3{{#86o0,!{@[s=O" x="63" y="212">
                  <field name="SCHEDULE">55 1 * * *</field>
                  <statement name="STATEMENT">
                    <block type="procedures_callcustomnoreturn" id="Yye~VU]8!L{l#{yWjgZy">
                      <mutation name="WOL"></mutation>
                    </block>
                  </statement>
                </block>
              </xml>
              

              Alternativ nimm statt des Cron-Triggers deinen Datenpunkt '0_userdata.0.Keller.Medienserver_aufwecken'

              B Offline
              B Offline
              bishop
              schrieb am zuletzt editiert von
              #16

              @iobroker_alex

              mach ich etwas falsch! ich bekomme eine riesen Fehlermeldung wenn ich das blockly importieren möchte?

              I 1 Antwort Letzte Antwort
              0
              • B bishop

                @iobroker_alex

                mach ich etwas falsch! ich bekomme eine riesen Fehlermeldung wenn ich das blockly importieren möchte?

                I Offline
                I Offline
                iobroker_Alex
                schrieb am zuletzt editiert von
                #17

                @bishop hey, ja das stimmt ich kann es auch nicht mehr importieren. Habe es gerade versucht nochmal ähnlich nachzustellen. Denke das hilft dir schon: Versuch das mal zu importieren (meine IP hinter der MAC die ich wecken möchte ist 10.4.4.12):

                <xml xmlns="https://developers.google.com/blockly/xml">
                  <block type="procedures_defcustomnoreturn" id="l9BOg[,wM.v6?aXF.)}%" x="138" y="162">
                    <mutation statements="false"></mutation>
                    <field name="NAME">WOL 10.4.4.12</field>
                    <field name="SCRIPT">dmFyIHdvbCA9IHJlcXVpcmUoJ3dha2Vfb25fbGFuJyk7DQpmdW5jdGlvbiBXT0xTZW5kZW4oKSB7DQogICAgd29sLndha2UoIjcwOjg1OmMyOjdkOjg2OmI4Iik7DQogICAgbG9nKCJXT0wgUGFrZXQgUHJveG1veCAxMC40LjQuMTIgZ2VzZW5kZXQiLCAiaW5mbyIpOw0KfQ0KV09MU2VuZGVuKCk7</field>
                    <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                  </block>
                  <block type="schedule" id="c|=|72$oDp1Mr+3%l/_[" x="88" y="238">
                    <field name="SCHEDULE">50 23 * * *</field>
                    <statement name="STATEMENT">
                      <block type="procedures_callcustomnoreturn" id="LPggi$$EH{^Q[60P+vG/">
                        <mutation name="WOL 10.4.4.12"></mutation>
                      </block>
                    </statement>
                  </block>
                </xml>
                
                B 1 Antwort Letzte Antwort
                0
                • I iobroker_Alex

                  @bishop hey, ja das stimmt ich kann es auch nicht mehr importieren. Habe es gerade versucht nochmal ähnlich nachzustellen. Denke das hilft dir schon: Versuch das mal zu importieren (meine IP hinter der MAC die ich wecken möchte ist 10.4.4.12):

                  <xml xmlns="https://developers.google.com/blockly/xml">
                    <block type="procedures_defcustomnoreturn" id="l9BOg[,wM.v6?aXF.)}%" x="138" y="162">
                      <mutation statements="false"></mutation>
                      <field name="NAME">WOL 10.4.4.12</field>
                      <field name="SCRIPT">dmFyIHdvbCA9IHJlcXVpcmUoJ3dha2Vfb25fbGFuJyk7DQpmdW5jdGlvbiBXT0xTZW5kZW4oKSB7DQogICAgd29sLndha2UoIjcwOjg1OmMyOjdkOjg2OmI4Iik7DQogICAgbG9nKCJXT0wgUGFrZXQgUHJveG1veCAxMC40LjQuMTIgZ2VzZW5kZXQiLCAiaW5mbyIpOw0KfQ0KV09MU2VuZGVuKCk7</field>
                      <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                    </block>
                    <block type="schedule" id="c|=|72$oDp1Mr+3%l/_[" x="88" y="238">
                      <field name="SCHEDULE">50 23 * * *</field>
                      <statement name="STATEMENT">
                        <block type="procedures_callcustomnoreturn" id="LPggi$$EH{^Q[60P+vG/">
                          <mutation name="WOL 10.4.4.12"></mutation>
                        </block>
                      </statement>
                    </block>
                  </xml>
                  
                  B Offline
                  B Offline
                  bishop
                  schrieb am zuletzt editiert von
                  #18

                  @iobroker_alex
                  ok, dass funktioniert mal!
                  Ich muss noch das installieren oder?

                  B 1 Antwort Letzte Antwort
                  0
                  • B bishop

                    @iobroker_alex
                    ok, dass funktioniert mal!
                    Ich muss noch das installieren oder?

                    B Offline
                    B Offline
                    bishop
                    schrieb am zuletzt editiert von bishop
                    #19

                    Müsste das nicht auch mit

                    https://github.com/iobroker-community-adapters/ioBroker.tr-064#command--commandresult-state
                    

                    zu machen sein?

                    edit:
                    vieleicht kann es jemand brauchen!
                    Im tr-064 adapter unter states DP command das einfügen mit abgeänderter Mac natürlich.

                    {"service": "urn:dslforum-org:service:Hosts:1","action": "X_AVM-DE_WakeOnLANByMACAddress", "params": { "NewMACAddress": "00:00:00:00:00:00"}} 
                    
                    frana120500F 1 Antwort Letzte Antwort
                    0
                    • B bishop

                      Müsste das nicht auch mit

                      https://github.com/iobroker-community-adapters/ioBroker.tr-064#command--commandresult-state
                      

                      zu machen sein?

                      edit:
                      vieleicht kann es jemand brauchen!
                      Im tr-064 adapter unter states DP command das einfügen mit abgeänderter Mac natürlich.

                      {"service": "urn:dslforum-org:service:Hosts:1","action": "X_AVM-DE_WakeOnLANByMACAddress", "params": { "NewMACAddress": "00:00:00:00:00:00"}} 
                      
                      frana120500F Online
                      frana120500F Online
                      frana120500
                      schrieb am zuletzt editiert von frana120500
                      #20

                      mit diesem Script (Blockly) hier funktioniert es bei meinem QNAP NAS (MAC Adresse ist entsprechend anzupassen:

                      <block xmlns="https://developers.google.com/blockly/xml" type="procedures_defcustomnoreturn" id="=pqc2E7{zZ+Ut(cA0hJ0" x="588" y="138">
                        <mutation statements="false"></mutation>
                        <field name="NAME">WOL NAS</field>
                        <field name="SCRIPT">dmFyIHdvbCA9IHJlcXVpcmUoJ3dha2Vfb25fbGFuJyk7DQoNCndvbC53YWtlKCcwMDowMDowMDowMDowMDowMCcpOw0KDQp3b2wud2FrZSgnMDA6MDA6MDA6MDA6MDA6MDAnLCBmdW5jdGlvbihlcnJvcikgew0KICBpZiAoZXJyb3IpIHsNCiAgICAvLyBoYW5kbGUgZXJyb3INCiAgfSBlbHNlIHsNCiAgICAvLyBkb25lIHNlbmRpbmcgcGFja2V0cw0KICB9DQp9KTsNCg0KdmFyIG1hZ2ljX3BhY2tldCA9IHdvbC5jcmVhdGVNYWdpY1BhY2tldCgnMDA6MDA6MDA6MDA6MDA6MDAnKTsNCg0K</field>
                        <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                      </block>
                      
                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      952

                      Online

                      32.4k

                      Benutzer

                      81.5k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe