NEWS
Вопросы по написанию скриптов
-
а задержки? `
1-2 секунды или больше?Мне же не робота строить, а клапаны, шторы открыть/закрыть.
-
а задержки? `
1-2 секунды или больше?Мне же не робота строить, а клапаны, шторы открыть/закрыть. `
Ага, давай прикинем грубо:Угол одного шага возмем 1.8. Т.е. для одного полного оборота надо 360/1.8 = 200 импульсов.
Если у тебя задержка между импульсами 1-2 сек т.е. 1-0,5 Гц. Дальше продолжать?
Если хочется управлять ШД надо начать с теории.
-
В Log упало сообщение "Спасайся кто может' …......
Нужно включить лампочку по этому сообщению. Как?
Может переменная у loga есть на которую можно оформить подписку?
-
В Log упало сообщение "Спасайся кто может' …......
Нужно включить лампочку по этому сообщению. Как?
Может переменная у loga есть на которую можно оформить подписку? `
надо просто сообщение это не в лог кидать а в переменную -
Не ясно я объяснил
Пример
mysensors.02016-12-09 19:23:06.993 info mysensors.0 Log :TSP:MSG:SEND 0-0-1-1 s=3,c=1,t=2,pt=0,l=1,sg=0,ft=0,st=fail:0
если st=fail звоним в колокола.
в случае st=ok все ок.
Как то так. т.е нужно анализировать служебный Log.
-
Не ясно я объяснил
Пример
mysensors.02016-12-09 19:23:06.993 info mysensors.0 Log :TSP:MSG:SEND 0-0-1-1 s=3,c=1,t=2,pt=0,l=1,sg=0,ft=0,st=fail:0
если st=fail звоним в колокола.
в случае st=ok все ок.
Как то так. т.е нужно анализировать служебный Log. `
что такое st? -
st в логе это предположительно статус передачи команды устройству.
но это не так важно, другой пример
mysensors.0 2016-12-09 19:57:12.613 info disconnected
как организовать реакцию на это сообщение
или на вот такое
megad.0 2016-12-09 19:54:58.765 warn Got error by request to 192.168.2.14: connect EHOSTUNREACH 192.168.2.14:80
-
st в логе это предположительно статус передачи команды устройству.
но это не так важно, другой пример
mysensors.0 2016-12-09 19:57:12.613 info disconnected
как организовать реакцию на это сообщение
или на вот такое
megad.0 2016-12-09 19:54:58.765 warn Got error by request to 192.168.2.14: connect EHOSTUNREACH 192.168.2.14:80 `
ну в таком случае тебе скорее всего надо парсить файл логов используя скрипт и модуль fs -
Спасибо.
Вообщем дело темное
-
Спасибо.
Вообщем дело темное `
Да темного нету ничего, главное начать и можно разобраться https://nodejs.org/api/fs.html -
Установлен драйвер MySQL.
Данные пишутся во внешнюю БД.
Скрипт
! ` > var mysql = require('mysql');
var connection = mysql.createConnection({
host: '192.168.1.110',
user: 'iobroker',
password: 'iobroker',
database: 'iobroker',
//socketPath: '/var/run/mysqld/mysqld.sock'
});
//создаем подключение к базе
connection.connect(function(err) {
if (err) {
log('error connecting: ' + err.stack);
return;
}
log('connected as id ' + connection.threadId);
}); `
Выдает ошибку:
! javascript.0 script.js.My.sql: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/mysql' at script.js.My.sql:1:13
! javascript.0 script.js.My.sql: TypeError: Cannot read property 'createConnection' of undefined at script.js.My.sql:3:23 -
Установлен драйвер MySQL.
Данные пишутся во внешнюю БД.
Скрипт
! ` > var mysql = require('mysql');
var connection = mysql.createConnection({
host: '192.168.1.110',
user: 'iobroker',
password: 'iobroker',
database: 'iobroker',
//socketPath: '/var/run/mysqld/mysqld.sock'
});
//создаем подключение к базе
connection.connect(function(err) {
if (err) {
log('error connecting: ' + err.stack);
return;
}
log('connected as id ' + connection.threadId);
}); `
Выдает ошибку:
! javascript.0 script.js.My.sql: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/mysql' at script.js.My.sql:1:13
! javascript.0 script.js.My.sql: TypeError: Cannot read property 'createConnection' of undefined at script.js.My.sql:3:23 ` втнастройках js добавь пакет mysql -
Установлен драйвер MySQL.
Данные пишутся во внешнюю БД.
Скрипт
! ` > var mysql = require('mysql');
var connection = mysql.createConnection({
host: '192.168.1.110',
user: 'iobroker',
password: 'iobroker',
database: 'iobroker',
//socketPath: '/var/run/mysqld/mysqld.sock'
});
//создаем подключение к базе
connection.connect(function(err) {
if (err) {
log('error connecting: ' + err.stack);
return;
}
log('connected as id ' + connection.threadId);
}); `
Выдает ошибку:
! javascript.0 script.js.My.sql: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/mysql' at script.js.My.sql:1:13
! javascript.0 script.js.My.sql: TypeError: Cannot read property 'createConnection' of undefined at script.js.My.sql:3:23 `
Во-первых не установлен модуль mysql для js. В настройках драйвера javascript укажите mysql, драйвер сам установит модуль.Во-вторых, проще установить драйвер history, у него в настройках указать параметры доступа к базе, после чего можно запросы выполнить через sendto ('history.0', "select…") ;.
-
Повторю вопрос, так как не могу найти решение:
Есть ли возможность подписаться на открытие(загрузку) web-страницы, созданной в vis?
Другими словами как при открытии определённой страницы (/vis/index.html#mypage) принудительно запустить определённую функцию, созданную в "Скриптах" админки ( на стороне сервера)?
-
Повторю вопрос, так как не могу найти решение:
Есть ли возможность подписаться на открытие(загрузку) web-страницы, созданной в vis?
Другими словами как при открытии определённой страницы (/vis/index.html#mypage) принудительно запустить определённую функцию, созданную в "Скриптах" админки ( на стороне сервера)? `
А jquery не сработает? .ready -
Повторю вопрос, так как не могу найти решение:
Есть ли возможность подписаться на открытие(загрузку) web-страницы, созданной в vis?
Другими словами как при открытии определённой страницы (/vis/index.html#mypage) принудительно запустить определённую функцию, созданную в "Скриптах" админки ( на стороне сервера)? `
При открытии станицы устанавливается 2 состоянияvis.0.control.data на имя страницы и
vis.0.control.command на changedView
Описание здесь: https://github.com/ioBroker/ioBroker.vi … -interface
-
Повторю вопрос, так как не могу найти решение:
Есть ли возможность подписаться на открытие(загрузку) web-страницы, созданной в vis?
Другими словами как при открытии определённой страницы (/vis/index.html#mypage) принудительно запустить определённую функцию, созданную в "Скриптах" админки ( на стороне сервера)?
А jquery не сработает? .ready
А что внутри то писать? -
Здравствуйте! Подскажите возможный ли написать скрипт для Megad на диммирование.
Пробовал делать так:
__on({id: 'megad.0.p0_Кнопка_long', change: 'any'}, function (obj) {
if(getState("megad.0.p0_Кнопка_long").val === true)
{
while(true)
{
if(getState("megad.0.p0_Кнопка_long").val ===true)
{
setState("megad.0.p10_Свет",getState("megad.0.p10_Свет").val+15);
}
else break;
}
}
});__
драйвер висни, возможно не правильно написал или есть какие то другие способы, не через циклы?
-
Здравствуйте! Подскажите возможный ли написать скрипт для Megad на диммирование.
Пробовал делать так:
__on({id: 'megad.0.p0_Кнопка_long', change: 'any'}, function (obj) {
if(getState("megad.0.p0_Кнопка_long").val === true)
{
while(true)
{
if(getState("megad.0.p0_Кнопка_long").val ===true)
{
setState("megad.0.p10_Свет",getState("megad.0.p10_Свет").val+15);
}
else break;
}
}
});__
драйвер висни, возможно не правильно написал или есть какие то другие способы, не через циклы? `
То есть пока кнопка нажата то увеличивать яркость? -
Повторю вопрос, так как не могу найти решение:
Есть ли возможность подписаться на открытие(загрузку) web-страницы, созданной в vis?
Другими словами как при открытии определённой страницы (/vis/index.html#mypage) принудительно запустить определённую функцию, созданную в "Скриптах" админки ( на стороне сервера)?
А jquery не сработает? .ready
А что внутри то писать? `
Надо просто написать скрипт в javascript драйвере и подписаться на vis.0.control.commandИ если значение changedView то что то сделать. Если непонятно, то завтра за компьютером могу скрипт накидать