Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. Скрипты
  5. ioBroker скрипты
  6. Скрипт для Wake-on-LAN

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    200

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

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

Скрипт для Wake-on-LAN

Скрипт для Wake-on-LAN

Scheduled Pinned Locked Moved ioBroker скрипты
7 Posts 3 Posters 3.0k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    bondrogeen
    wrote on last edited by
    #1

    Всем привет.

    Javascript начал осваивать совсем недавно, так что я только учусь, буду стараться в примерах и скриптах оставлять подробные комментарии, что бы другие далекие от javascript-a люди, как и я, понимали, что происходит в том или ином строчки коде.

    Что бы хоть чуть-чуть начать разбираться пришлось перечитать весь форум несколько раз, а потом еще и вытаскивать куски кода из разных примеров.

    Поправляете меня если есть какие замечания или я в чем-то ошибаюсь.

    К делу.

    Появилась задача запускать компьютер, nas и т.д в определенное время или через web интерфейс iobrokera, по сети с помощью Wake-on-LAN.

    Для node.js нашел пакет. wake_on_lan

    https://github.com/agnat/node_wake_on_lan

    Добавляем его в javascrit, сохраняем и перезапускаем.

    ! 380_1.jpg

    Пример скрипта на запуск в определенное время. (8-00 каждого дня)

    schedule("0 8 * * *", function () {   // Устанавливаем время на запуск скрипта в 8-00 каждого дня.
        var wol = require('wake_on_lan');
        wol.wake('00:90:FB:31:17:B1'); // Указываем наш мак адрес устройства '00:90:FB:31:17:B1'
        log("Запуск NAS" );  // Выводил в лог.
    });
    
    

    Для того чтобы мы могли запускать наш NAS по сети HTTP Get запросом или через Web ionrokera.

    Устанавливаем simple-api драйвер.

    Создадим другой скрипт.

    createState('WoL.PC', ''); //Создаем переменную в iobrokere   
    on({id: "javascript.0.WoL.PC"/*WoL.PC*/, change: 'any'}, function (obj) {   // подписываемся на любое извинение переменной "javascript.0.WoL.PC"/*WoL.PC*/
        var wolval = obj.newState.val; // создаем и присваиваем переменой wolval значение переменной  obj.newState.val
           var wol = require('wake_on_lan');  
           wol.wake(wolval);  // отправляем наш mac-адрес из переменной "wolval" пакету wake_on_lan
        });
    

    Теперь можем запускать наши домашние устройства с помощью Get запросов указывая их mac адрес.

    http://IP:8087/set/ID?value=MAC

    Где IP адрес нашего сервера, ID наша переменная которую мы создали в javascripte?

    MAC - это наш mac адрес устройства.

    Фортам mac адреса может быть такой;

    00:90:FB:31:17:B1

    0090FB3117B1

    00:90:fb:31:17:b1

    Пример:

    • http://192.168.1.51:8087/set/javascript … B:31:17:B1
    1 Reply Last reply
    0
    • I Offline
      I Offline
      instalator
      wrote on last edited by
      #2

      @bondrogeen:

      Всем привет.

      Javascript начал осваивать совсем недавно, так что я только учусь, буду стараться в примерах и скриптах оставлять подробные комментарии, что бы другие далекие от javascript-a люди, как и я, понимали, что происходит в том или ином строчки коде. `
      Видимо не весь форум прочитал)

      wake_on_lan уже есть в iobroker.

      Это есть и в описании драйвера javascript

      ! Following functions can be used in scripts:
      ! require - load some module
      ! var mod = require('module_name');
      ! Following modules are pre-loaded: fs, crypto, wake_on_lan, request, suncalc, util, path, os, net, events, dns.
      ! To use other modules go to iobroker/adapter/javascript folder and run in console npm install . After npm successfully finished it can be used in script engine.

      var wol = require('wake_on_lan');
      
      on({id: 'javascript.0.GetAdmin.WOL', change: 'any'}, function (obj) {
          if(obj.newState.val !== ''){
              wol.wake(obj.newState.val);
              log(obj.newState.val); //00:1B:FC:9A:8B:05
              //var magic_packet = wol.createMagicPacket('00:1B:FC:9A:8B:10');
          }
      });
      
      
      setState('javascript.0.GetAdmin.WOL', '94DE802DE4CC');
      

      Высокий уровень Децибел вреден для здоровья!

      http://blog.instalator.ru/

      1 Reply Last reply
      0
      • B Offline
        B Offline
        bondrogeen
        wrote on last edited by
        #3

        Видима не весь. 😄

        Но для меня главное, что сам додумался.

        Да и на форуме тему эту не обсуждали.

        1 Reply Last reply
        0
        • I Offline
          I Offline
          instalator
          wrote on last edited by
          #4

          @bondrogeen:

          Видима не весь. 😄

          Но для меня главное, что сам додумался.

          Да и на форуме тему эту не обсуждали. `
          http://forum.iobroker.net/viewtopic.php … ake#p15307

          😉

          Высокий уровень Децибел вреден для здоровья!

          http://blog.instalator.ru/

          1 Reply Last reply
          0
          • B Offline
            B Offline
            bondrogeen
            wrote on last edited by
            #5

            😄

            Кстати хотел спросить может кто знает программку для андройда чтобы get запросы принимать типа Home24-MediaPlayer.

            Нужно текст на синтезатор отправлять.

            Home24-MediaPlayer не умеет принимать латиницу

            1 Reply Last reply
            0
            • BluefoxB Offline
              BluefoxB Offline
              Bluefox
              wrote on last edited by
              #6

              @bondrogeen:

              😄

              Кстати хотел спросить может кто знает программку для андройда чтобы get запросы принимать типа Home24-MediaPlayer.

              Нужно текст на синтезатор отправлять.

              Home24-MediaPlayer не умеет принимать латиницу `
              латиницу или кириллицу?

              1 Reply Last reply
              0
              • B Offline
                B Offline
                bondrogeen
                wrote on last edited by
                #7

                @Bluefox:

                @bondrogeen:

                😄

                Кстати хотел спросить может кто знает программку для андройда чтобы get запросы принимать типа Home24-MediaPlayer.

                Нужно текст на синтезатор отправлять.

                Home24-MediaPlayer не умеет принимать латиницу латиницу или кириллицу?

                Сори ошибся

                кириллицу

                Я как-то давно подымал эту тему еще на CCU.IO

                Как вариант нашел плагин для таскера, но он как то не стабильно работает, часто отваливается.

                RESTask for Tasker

                https://play.google.com/store/apps/deta … ha.restask

                1 Reply Last reply
                0
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                Support us

                ioBroker
                Community Adapters
                Donate

                148

                Online

                32.4k

                Users

                81.3k

                Topics

                1.3m

                Posts
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                ioBroker Community 2014-2025
                logo
                • Login

                • Don't have an account? Register

                • Login or register to search.
                • First post
                  Last post
                0
                • Recent
                • Tags
                • Unread 0
                • Categories
                • Unreplied
                • Popular
                • GitHub
                • Docu
                • Hilfe