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

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    481

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

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

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
20 Beiträge 8 Kommentatoren 5.5k 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.
  • BuZZyB Offline
    BuZZyB Offline
    BuZZy
    schrieb am zuletzt editiert von
    #10

    Es ist einfacher wenn du dein Script hier rein kopierst, anstatt ein Screenshot zu machen.

    .. Sonst müssen wir immer so viel abtippen.. :P

    Gruß

    1 Antwort Letzte Antwort
    0
    • 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 Offline
            D3ltoroxpD Offline
            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 Offline
                        frana120500F Offline
                        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

                        344

                        Online

                        32.5k

                        Benutzer

                        81.8k

                        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