ioBroker и Мега

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Haus
Сообщения: 227
Зарегистрирован: 28 апр 2015, 13:13

Re: ioBroker и Мега

Сообщение Haus » 03 ноя 2016, 14:11

Evgeny_nd писал(а):Что касается драйвера для новой меги. У меня есть новая мега в эксплуатации и ее драйвер (Mega-D Adapter) ioBroker считал без проблем.
Вы па пробуйте настроить все возможные настройки на сегодняшний день на Megad-2561 (7 шим портов, DS2413, WBUS....), и считать. Драйвер Megad-328 как и прошивка будут правится незначительна, а драйверу Megad-2561 предстоит развиваться параллельно развитию проекта. Буду рад любым наблюдениям и замечаниям пользователей Megad-2561 в ioBroker http://forum.iobroker.net/viewtopic.php?f=16&t=4076

Evgeny_nd
Сообщения: 132
Зарегистрирован: 07 ноя 2015, 06:59
Откуда: г. Красноярск

Re: ioBroker и Мега

Сообщение Evgeny_nd » 03 ноя 2016, 20:18

Andrey2509 писал(а):
Evgeny_nd писал(а):Andrey2509, а вы давно используете систему в работе?
Могли бы скрипты выложить для примера? Я думаю что тем кто только разбирается они бы сильно помогли....
Скрипты чего? У меня была цель удалённое управление дачей. Часть функционала понятна по скриншотам...
Скрипты по которым например отопление включается или те которые обрабатывают события сигнализации.

Haus
Сообщения: 227
Зарегистрирован: 28 апр 2015, 13:13

Re: ioBroker и Мега

Сообщение Haus » 03 ноя 2016, 21:28

Evgeny_nd писал(а):
Andrey2509 писал(а):
Evgeny_nd писал(а):Andrey2509, а вы давно используете систему в работе?
Могли бы скрипты выложить для примера? Я думаю что тем кто только разбирается они бы сильно помогли....
Скрипты чего? У меня была цель удалённое управление дачей. Часть функционала понятна по скриншотам...
Скрипты по которым например отопление включается или те которые обрабатывают события сигнализации.
Готовых под вас найти будет трудно, но на основе множества примеров подправив под себя можно.
Там даже есть скрипт контроля отопления сделанный(сырой и с взаимодействием с базой demo) на основе demo Андрея. Новую версию выложу позже чисто под ioBroker.
http://forum.iobroker.net/viewforum.php?f=26
http://forum.iobroker.net/viewforum.php?f=21
http://www.iobroker.net/?page_id=2786&lang=de

Evgeny_nd
Сообщения: 132
Зарегистрирован: 07 ноя 2015, 06:59
Откуда: г. Красноярск

Re: ioBroker и Мега

Сообщение Evgeny_nd » 07 ноя 2016, 06:26

Спасибо большое!

Evgeny_nd
Сообщения: 132
Зарегистрирован: 07 ноя 2015, 06:59
Откуда: г. Красноярск

Re: ioBroker и Мега

Сообщение Evgeny_nd » 10 ноя 2016, 17:08

Bluefox писал(а):
Evgeny_nd писал(а):Уважаемые коллеги,
кто может подсказать как в ioBroker сделать кнопку, аналогично как это сделано в OpenHAB?
Т.е. управляется она через http запросы?
Switch Out_Heat_Sw1 "Обогрев канализационных труб" <switch> (Heat_Switches, Switches_Set) {http=">[ON:GET:http://192.168.4.21/sec/?sw=5-1] >[OFF:GET:http://192.168.4.21/sec/?sw=5-0]"}

И если сформулировать вопрос более в общем.
То как в ioBroker работать (через какие драйвера и виджеты) с оборудованием через http запросы? Считывать и отображать статус, включать, выключать и т.д.
Надо создать скрипт в драйвере Javascript:

Код: Выделить всё

var request = require('request');

createState('heating', {type: "boolean", name: "обогрев"}, function  () {
    on({id: "heating", change: 'ne', ack: false}, function (obj) {
      request('http://192.168.1.214/sec/?cmd=a:' + (obj.state.val === 'false' || obj.state.val === false ? '0' : '1'));
    });
});
И потом можно везде использовать javascript.0.heating переменную.
BlueFox, это работает, спасибо за помощь. А как быть со статусом или температурой например?
Когда получаем значение строкой:
http://192.168.4.21/sec/?js=:300000:REGEX(.*?pst......................(....).*)
или
http://192.168.4.16/sec/?pt=6&cmd=get:60000:REGEX(.*?([0-9]+).*)
Как полученный ответ передать в переменную ioBroker?

bondrogeen
Сообщения: 4
Зарегистрирован: 19 май 2016, 23:17

Re: ioBroker и Мега

Сообщение bondrogeen » 10 ноя 2016, 18:18

BlueFox, это работает, спасибо за помощь. А как быть со статусом или температурой например?
Когда получаем значение строкой:
http://192.168.4.21/sec/?js=:300000:REGEX(.*?pst......................(....).*)
или
http://192.168.4.16/sec/?pt=6&cmd=get:60000:REGEX(.*?([0-9]+).*)
Как полученный ответ передать в переменную ioBroker?

Код: Выделить всё

var request = require('request');
createState('Test.test1', '');         //создаем переменную test1 в iobroker 

request("http://192.168.1.14/sec/?pt=6&cmd=get", function(error, response, body){  
    if(error) { 
        log(error);  // если ошибка
  } 
    else{
      var test1 = body; 
      setState("javascript.0.Test.test"/*Test.test*/, test1,true/*ack*/);  // записывает значения test1 в переменную iobroker
    log (body);
        
    }
}); 

Evgeny_nd
Сообщения: 132
Зарегистрирован: 07 ноя 2015, 06:59
Откуда: г. Красноярск

Re: ioBroker и Мега

Сообщение Evgeny_nd » 10 ноя 2016, 19:52

Получилось!
Спасибо большое.
А как все-таки решается вопрос по тому чтобы переменные в базе хранить не в привязке к объектам (например Megad.0.p17), а к их названиям?
Вот о какой ситуации идет речь:
У меня сейчас временный датчик температуры в доме будет привязан к переменной (которую я создал из скрипта): javascript.0.HomeTemp
Я настрою в ее свойствах сохранение ее значений в базу. Затем позже датчик будет привязан к порту меги, которая придет и будет установлена чуть позже. И будет она установлена на переменную типа Megad.15.P2.
А как быть с теми значениями, которые будут хранится месяц или более? Потом их использовать не получится и статистика начнется с начала...
Я пока вижу один способ, не работать напрямую с портами меги, а заводить значения (свои) и скриптом считывать значения с портов меги в них и хранить их, но это при наличии драйверов меги с нормальным функционалом неправильно.
Кто-нибудь задумывался над этим вопросом или нет?

bondrogeen
Сообщения: 4
Зарегистрирован: 19 май 2016, 23:17

Re: ioBroker и Мега

Сообщение bondrogeen » 10 ноя 2016, 20:17

Evgeny_nd писал(а):Получилось!
Спасибо большое.
А как все-таки решается вопрос по тому чтобы переменные в базе хранить не в привязке к объектам (например Megad.0.p17), а к их названиям?
Вот о какой ситуации идет речь:
У меня сейчас временный датчик температуры в доме будет привязан к переменной (которую я создал из скрипта): javascript.0.HomeTemp
Я настрою в ее свойствах сохранение ее значений в базу. Затем позже датчик будет привязан к порту меги, которая придет и будет установлена чуть позже. И будет она установлена на переменную типа Megad.15.P2.
А как быть с теми значениями, которые будут хранится месяц или более? Потом их использовать не получится и статистика начнется с начала...
Я пока вижу один способ, не работать напрямую с портами меги, а заводить значения (свои) и скриптом считывать значения с портов меги в них и хранить их, но это при наличии драйверов меги с нормальным функционалом неправильно.
Кто-нибудь задумывался над этим вопросом или нет?

Как по мне так это дополнительные сложности, когда все настроено будет у Вас на постоянной основе, тогда и на начинайте хранить историю.

Evgeny_nd
Сообщения: 132
Зарегистрирован: 07 ноя 2015, 06:59
Откуда: г. Красноярск

Re: ioBroker и Мега

Сообщение Evgeny_nd » 10 ноя 2016, 20:27

Вы от части правы, но в любом случае по ходу строительства и эксплуатации оборудование и подключение к ним датчиков может изменится. И данные терять очень не хотелось бы.

Haus
Сообщения: 227
Зарегистрирован: 28 апр 2015, 13:13

Re: ioBroker и Мега

Сообщение Haus » 10 ноя 2016, 20:37

Evgeny_nd писал(а):Получилось!
Спасибо большое.
А как все-таки решается вопрос по тому чтобы переменные в базе хранить не в привязке к объектам (например Megad.0.p17), а к их названиям?
Вот о какой ситуации идет речь:
У меня сейчас временный датчик температуры в доме будет привязан к переменной (которую я создал из скрипта): javascript.0.HomeTemp
Я настрою в ее свойствах сохранение ее значений в базу. Затем позже датчик будет привязан к порту меги, которая придет и будет установлена чуть позже. И будет она установлена на переменную типа Megad.15.P2.
А как быть с теми значениями, которые будут хранится месяц или более? Потом их использовать не получится и статистика начнется с начала...
Я пока вижу один способ, не работать напрямую с портами меги, а заводить значения (свои) и скриптом считывать значения с портов меги в них и хранить их, но это при наличии драйверов меги с нормальным функционалом неправильно.
Кто-нибудь задумывался над этим вопросом или нет?
Как вариант, если конкретно знаете порт меги к которому будет привязан датчик то установив драйвер вручную сконфигурируйте и сохраните настройки, всё теперь драйвер можно отключать и в эти переменные любым для вас удобным способом вписывать значение. Внимание очерёдность портов очень важна
Также можно создать свои переменные и в них вписывать значение с меги

Код: Выделить всё

createState('tempOutside','');
on({id: 'owfs.0.wires.temp_out', change: 'any'}, function (obj) {
         setState('javascript.0.tempOutside', parseFloat(obj.newState.val).toFixed(0));
});

Andrey2509
Сообщения: 141
Зарегистрирован: 22 июн 2015, 13:24

Re: ioBroker и Мега

Сообщение Andrey2509 » 11 ноя 2016, 08:02

Альтернативный вариант - узнать ID старого (OLDID) и нового (NEWID) объектов в sql таблице БД :
SELECT * FROM iobroker.datapoints;
Затем в таблице iobroker.ts_number поменять старый ID на новый ID:
UPDATE iobroker.ts_number SET ID="NEWID" WHERE ID ="OLDID";
Не проверял, но должно сработать.

Bluefox
Сообщения: 150
Зарегистрирован: 03 мар 2014, 20:02

Re: ioBroker и Мега

Сообщение Bluefox » 11 ноя 2016, 11:39

Haus писал(а):
Evgeny_nd писал(а):Получилось!
Спасибо большое.
А как все-таки решается вопрос по тому чтобы переменные в базе хранить не в привязке к объектам (например Megad.0.p17), а к их названиям?
Вот о какой ситуации идет речь:
У меня сейчас временный датчик температуры в доме будет привязан к переменной (которую я создал из скрипта): javascript.0.HomeTemp
Я настрою в ее свойствах сохранение ее значений в базу. Затем позже датчик будет привязан к порту меги, которая придет и будет установлена чуть позже. И будет она установлена на переменную типа Megad.15.P2.
А как быть с теми значениями, которые будут хранится месяц или более? Потом их использовать не получится и статистика начнется с начала...
Я пока вижу один способ, не работать напрямую с портами меги, а заводить значения (свои) и скриптом считывать значения с портов меги в них и хранить их, но это при наличии драйверов меги с нормальным функционалом неправильно.
Кто-нибудь задумывался над этим вопросом или нет?
Как вариант, если конкретно знаете порт меги к которому будет привязан датчик то установив драйвер вручную сконфигурируйте и сохраните настройки, всё теперь драйвер можно отключать и в эти переменные любым для вас удобным способом вписывать значение. Внимание очерёдность портов очень важна
Также можно создать свои переменные и в них вписывать значение с меги

Код: Выделить всё

createState('tempOutside','');
on({id: 'owfs.0.wires.temp_out', change: 'any'}, function (obj) {
         setState('javascript.0.tempOutside', parseFloat(obj.newState.val).toFixed(0));
});
Не советую использовать toFixed так как выходным типом является строка. Лучше Math.round

Bluefox
Сообщения: 150
Зарегистрирован: 03 мар 2014, 20:02

Re: ioBroker и Мега

Сообщение Bluefox » 11 ноя 2016, 11:43

Evgeny_nd писал(а):Вы от части правы, но в любом случае по ходу строительства и эксплуатации оборудование и подключение к ним датчиков может изменится. И данные терять очень не хотелось бы.
Вот тут обсуждается как раз такое решение http://forum.iobroker.net/viewtopic.php?f=26&t=4111

Я даже подумал, что это один и тот же человек спрашивает.

Evgeny_nd
Сообщения: 132
Зарегистрирован: 07 ноя 2015, 06:59
Откуда: г. Красноярск

Re: ioBroker и Мега

Сообщение Evgeny_nd » 11 ноя 2016, 19:27

Bluefox писал(а):
Evgeny_nd писал(а):Вы от части правы, но в любом случае по ходу строительства и эксплуатации оборудование и подключение к ним датчиков может изменится. И данные терять очень не хотелось бы.
Вот тут обсуждается как раз такое решение http://forum.iobroker.net/viewtopic.php?f=26&t=4111

Я даже подумал, что это один и тот же человек спрашивает.
Изображение почитал, действительно интересный и логичный подход разделить логику и физические устройства, но я воспользуюсь способом обновления данных в MySQL предложенный выше. Т.к. делать это придётся в единичных случаях Изображение.

Evgeny_nd
Сообщения: 132
Зарегистрирован: 07 ноя 2015, 06:59
Откуда: г. Красноярск

Re: ioBroker и Мега

Сообщение Evgeny_nd » 19 ноя 2016, 20:42

Haus, а этот скрипт в первом сообщении функциональный?
http://forum.iobroker.net/viewtopic.php ... 2df6138d2b

Haus
Сообщения: 227
Зарегистрирован: 28 апр 2015, 13:13

Re: ioBroker и Мега

Сообщение Haus » 19 ноя 2016, 23:25

Evgeny_nd писал(а):Haus, а этот скрипт в первом сообщении функциональный?
http://forum.iobroker.net/viewtopic.php ... 2df6138d2b
Там скорей полуфабрикат на javascript на основе demo Андрея, то есть даже не копия. В скрипте используются запросы в базу параллельно работающую у меня на другом сервере (основном) сильно переделанная demo Андрея. Сейчас потихоньку переделываю чисто под ioBroker с его базами, новую версию выложу позже.
У Андрея в demo за счёт CMS можно настроить несколько разнообразных контуров, под различные системы. В ioBroker аналогичное(универсальность) можно сделать наверно через драйвер (настройки разных контуров, подвязка датчиков, насосов, актуаторов, трёх ходовых....) но это пока мысли в слух.

Bluefox
Сообщения: 150
Зарегистрирован: 03 мар 2014, 20:02

Re: ioBroker и Мега

Сообщение Bluefox » 20 ноя 2016, 12:00

За последний месяц в iob появилось много новых драйверов:

- Radar, для слежения за устройствами по пингу или Bluetooth
- probemon для слежения за устройствами по wifi пакетам
- upnp для управления и получения информации от устройств поддерживающих UPnP
- km200, xs1 понятия не имею для чего они :)
- rflink управление и принятие информации через ардуину с датчиков и устройств по 433,868 MHz
- foobar2000 управление плеером
- Lgtv управление телевизором lg
- pushsafer как pushover для отсылки сообщений на мобильный,
- lightify управление лампочками
- wm-bus, Wireless M-Bus
- wifilight, управление лампочками
- hid HID devices e.g. Apple Remote
- find-my-iphone служба apple
- tr-064 для рутеров fritz.box
- nuimo для устройств nuimo

И из них я написал только один. Все остальные от сообщества.

В разработке homekit2, ScriptGui, мега 2561 и, наверное, ещё десяток о которых я не знаю.

Evgeny_nd
Сообщения: 132
Зарегистрирован: 07 ноя 2015, 06:59
Откуда: г. Красноярск

Re: ioBroker и Мега

Сообщение Evgeny_nd » 20 ноя 2016, 20:05

Haus писал(а):
Evgeny_nd писал(а):Haus, а этот скрипт в первом сообщении функциональный?
http://forum.iobroker.net/viewtopic.php ... 2df6138d2b
Там скорей полуфабрикат на javascript на основе demo Андрея, то есть даже не копия. В скрипте используются запросы в базу параллельно работающую у меня на другом сервере (основном) сильно переделанная demo Андрея. Сейчас потихоньку переделываю чисто под ioBroker с его базами, новую версию выложу позже.
У Андрея в demo за счёт CMS можно настроить несколько разнообразных контуров, под различные системы. В ioBroker аналогичное(универсальность) можно сделать наверно через драйвер (настройки разных контуров, подвязка датчиков, насосов, актуаторов, трёх ходовых....) но это пока мысли в слух.
Буду тогда потихоньку пилить свою Изображение

Evgeny_nd
Сообщения: 132
Зарегистрирован: 07 ноя 2015, 06:59
Откуда: г. Красноярск

Re: ioBroker и Мега

Сообщение Evgeny_nd » 20 ноя 2016, 20:06

Bluefox писал(а):За последний месяц в iob появилось много новых драйверов:

- Radar, для слежения за устройствами по пингу или Bluetooth
- probemon для слежения за устройствами по wifi пакетам
- upnp для управления и получения информации от устройств поддерживающих UPnP
- km200, xs1 понятия не имею для чего они :)
- rflink управление и принятие информации через ардуину с датчиков и устройств по 433,868 MHz
- foobar2000 управление плеером
- Lgtv управление телевизором lg
- pushsafer как pushover для отсылки сообщений на мобильный,
- lightify управление лампочками
- wm-bus, Wireless M-Bus
- wifilight, управление лампочками
- hid HID devices e.g. Apple Remote
- find-my-iphone служба apple
- tr-064 для рутеров fritz.box
- nuimo для устройств nuimo

И из них я написал только один. Все остальные от сообщества.

В разработке homekit2, ScriptGui, мега 2561 и, наверное, ещё десяток о которых я не знаю.
BlueFox, а почему после переноса данных на другой физический сервер часть драйверов отображается так как на картинке?
Изображение

aurodionov
Сообщения: 212
Зарегистрирован: 16 авг 2011, 14:07
Откуда: Россия,Тюмень
Контактная информация:

Re: ioBroker и Мега

Сообщение aurodionov » 20 ноя 2016, 22:26

Нажать кнопку обновить

Пишу с пульта....

Ответить