NEWS
Вопросы по написанию скриптов
-
Есть ли возможность подписаться на открытие(загрузку) web-страницы, созданной в vis?
Другими словами при открытии определённой страницы (/vis/index.html#mypage) надо запустить определённую функцию, созданную в "Скриптах" админки ( на стороне сервера).
-
Код
! ````
sendTo('sql.0', 'query','SELECT SenderNumber, ReceivingDateTime, TextDecoded FROM smsd.inbox WHERE ID = ' + id, function(res) {
if (res.error) {
log(res.error);
}
a = {"phone" : res.result[0].SenderNumber,
"time" : formatDate(new Date(res.result[0].ReceivingDateTime), 'DD.MM.YYYY hh:mm'),
"text" : res.result[0].TextDecoded
};
setState('sms.in.phone', res.result[0].SenderNumber);
setState('sms.in.time', formatDate(new Date(res.result[0].ReceivingDateTime), 'DD.MM.YYYY hh:mm'));
setState('sms.in.text', res.result[0].TextDecoded);
//setState('sms.in.json', a);
setState('sms.in.json', JSON.stringify(res));
setState('sms.in.id', id);
}); -
Поделитесь кто то скриптом управления шаговым двигателем или ссылкой на форуме где почитать.
Планирую с MegaESP через драйвер ULN2003.
Спасибо.
-
Поделитесь кто то скриптом управления шаговым двигателем или ссылкой на форуме где почитать.
Планирую с MegaESP через драйвер ULN2003.
Спасибо. `
А причем тут скрипт? Пиши прошивку для есп, а из иоб будешь задавать только угол поворота или скорость и шаги -
Поделитесь кто то скриптом управления шаговым двигателем или ссылкой на форуме где почитать.
Планирую с MegaESP через драйвер ULN2003.
Спасибо. `
Или посмотрите в сторону прошивки wifi-iot, там шаговый реализован, а с iob можно через mqtt связать. -
А причем тут скрипт? `
Через скрипт нереально?Просто хотелось какой то унификации, и не выделять одно устройство только для двигателя.
Я конечно не программист, но как то не вижу принципиальной разницы ноги будет дергать прошивка, или внешняя прога.
Поправьте если ошибаюсь
-
А причем тут скрипт? `
Через скрипт нереально?Просто хотелось какой то унификации, и не выделять одно устройство только для двигателя.
Я конечно не программист, но как то не вижу принципиальной разницы ноги будет дергать прошивка, или внешняя прога.
Поправьте если ошибаюсь ` а задержки?
-
а задержки? `
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…") ;.