NEWS
Скрипт для Wake-on-LAN
-
Всем привет.
Javascript начал осваивать совсем недавно, так что я только учусь, буду стараться в примерах и скриптах оставлять подробные комментарии, что бы другие далекие от javascript-a люди, как и я, понимали, что происходит в том или ином строчки коде.
Что бы хоть чуть-чуть начать разбираться пришлось перечитать весь форум несколько раз, а потом еще и вытаскивать куски кода из разных примеров.
Поправляете меня если есть какие замечания или я в чем-то ошибаюсь.
К делу.
Появилась задача запускать компьютер, nas и т.д в определенное время или через web интерфейс iobrokera, по сети с помощью Wake-on-LAN.
Для node.js нашел пакет. wake_on_lan
https://github.com/agnat/node_wake_on_lan
Добавляем его в javascrit, сохраняем и перезапускаем.
!
Пример скрипта на запуск в определенное время. (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
Пример:
-
Всем привет.
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://forum.iobroker.net/viewtopic.php … ake#p15307 -
Кстати хотел спросить может кто знает программку для андройда чтобы get запросы принимать типа Home24-MediaPlayer.
Нужно текст на синтезатор отправлять.
Home24-MediaPlayer не умеет принимать латиницу
-
Кстати хотел спросить может кто знает программку для андройда чтобы get запросы принимать типа Home24-MediaPlayer.
Нужно текст на синтезатор отправлять.
Home24-MediaPlayer не умеет принимать латиницу `
латиницу или кириллицу? -
Кстати хотел спросить может кто знает программку для андройда чтобы get запросы принимать типа Home24-MediaPlayer.
Нужно текст на синтезатор отправлять.
Home24-MediaPlayer не умеет принимать латиницу
латиницу или кириллицу?
Сори ошибся
кириллицу
Я как-то давно подымал эту тему еще на CCU.IO
Как вариант нашел плагин для таскера, но он как то не стабильно работает, часто отваливается.
RESTask for Tasker