Сервер для Мегадевайса (Платформа домашней автоматизации/Програмное обеспеченье умного дома/iobroker; Мажордомо; openHAB

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Bluefox
Сообщения: 150
Зарегистрирован: 03 мар 2014, 20:02

Re: Сервер для Мегадевайса (Платформа домашней автоматизации/Програмное обеспеченье умного дома/iobroker; Мажордомо; ope

Сообщение Bluefox » 14 окт 2016, 14:05

OlegJktu84 писал(а):Что-то я туплю.
1) Импорт/экспорт виджетов вижу.
2)Вижу имп/экспертов проектов. Но там у меня не обычный экспорт, не анонимный нормально не отрабатывают. Добегает скачка файла 2016-10-14-megad.zip где-то до 50% и виснет.
3) UPD: Ооо!!! Нашел "импортировать страницы (на вкладке страницы)". Спасибо!!!
UPD2:
PS: импорт/экспорт проектов только у меня не работает? Или особенности демо входа?
На очень больших проектах импорт целого проекта судя по всему не работает. Наверно мне придётся переписать эту часть.
Скажи какой проект, я пришлю его тебе по почте.

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

Re: Сервер для Мегадевайса (Платформа домашней автоматизации/Програмное обеспеченье умного дома/iobroker; Мажордомо; ope

Сообщение Bluefox » 14 окт 2016, 14:25

GruNT писал(а):Bluefox, чем больше изучаю node.js, тем сильнее выступают мои зубы, а улыбка подтягивается к ушам... :D Где ж я был? Ух красота то какая.
Почитал тех. документацию, протестил, сравнил - ВЕСЩЧ!!! После PHP/MySQL, я теперь понимаю почему вы NodeJS / JavaScript выбрали. Лучше раз увидеть так сказать.....
Socket.IO используете?
Да. И его тоже. А так же RESTful API. Но в основном Socket.IO.
GruNT писал(а): А интерфейс как у вас верстается? Можно краткую справочку о применяемых технологиях/методах? angularJS я так понял не используете....
Когда начинался проект ангуляр только зарождался и у него не было темплейтов. Так и остался на canJS.

Было бы неплохо поконкретней вопросы задавать, т.к. если речь идёт о ioBroker в целом, то у него сейчас более 100 драйверов и каждый использует что то своё.
Но я не думаю, что тебя (можно на ты) не интересует протокол коммуникации Simatic S7 или что то подобное. Скорей всего речь идёт о vis.

Коммуникация с vis происходит только по Socket.IO. Описание команд здесь: https://github.com/ioBroker/ioBroker.so ... of-concept
Пример использования здесь: https://github.com/ioBroker/ioBroker.so ... er/example

Но это только нужно, если охота писать свой драйвер визуализации, как например mobile: https://github.com/ioBroker/ioBroker.mo ... okermobile или даже так:
http://forum.iobroker.net/viewtopic.php ... =20#p35482
web.png
web.png (52.09 КБ) 7482 просмотра
В виз рендеринг происходит через canJS (https://canjs.com/), а для темплейтов используется https://canjs.com/docs/can.ejs.html (Вот это то и надо понимать для написания виджетов)

Если же интересует написание драйвера (сейчас каждый месяц появляется по одному), то описание здесь https://github.com/ioBroker/ioBroker/wi ... umentation и здесь https://github.com/ioBroker/ioBroker/wi ... nvironment

Для драйвера есть template (https://github.com/ioBroker/ioBroker.template) его можно взять и расширить до необходимого функционала.

Коммуникация между драйвером и контроллером (центральная система) происходит тоже по socket.io. Но можно активировать noSQL базу redis и тогда коммуникация будет идти по протоколу этой базы. Полезно, если проект разрастается до 10000 переменных и самописная база начинает подтормаживать.
GruNT писал(а): P.S. Уйду пока что на время я от php))) Покарать новые горизонты.
Я ушёл и нисколько не жалею. :)


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

Re: Сервер для Мегадевайса (Платформа домашней автоматизации/Програмное обеспеченье умного дома/iobroker; Мажордомо; ope

Сообщение Bluefox » 14 окт 2016, 18:08

GruNT писал(а):А angularJS в будущем намечается? Или нет смысла?
Нет. И смысла тоже :) Фреймворки появляются каждый месяц. За всеми не угонишься.

OlegJktu84
Сообщения: 651
Зарегистрирован: 16 фев 2016, 19:52

Re: Сервер для Мегадевайса (Платформа домашней автоматизации/Програмное обеспеченье умного дома/iobroker; Мажордомо; ope

Сообщение OlegJktu84 » 16 окт 2016, 13:18

Bluefox писал(а):...
На очень больших проектах импорт целого проекта судя по всему не работает. Наверно мне придётся переписать эту часть.
Скажи какой проект, я пришлю его тебе по почте.
Мне хотелось поковырять megad#DemoView https://iobroker.biz:8080/vis/edit.html?megad#DemoView . Но кажется можно отдельно выгрузить страницу, виджеты и изображения... Пока попробую так, но буду благодарен и за проект. Почту скинул в личке. В качестве временного решения можно на странице https://iobroker.biz:8080 добавить "загрузить" к каждому примеру. Будет: "MEGA-D 328 (редактировать) ЗАГРУЗИТЬ". С другой стороны если вопрос возник впервые, то может это никому нафиг и ненужно...

OlegJktu84
Сообщения: 651
Зарегистрирован: 16 фев 2016, 19:52

Re: Сервер для Мегадевайса (Платформа домашней автоматизации/Програмное обеспеченье умного дома/iobroker; Мажордомо; ope

Сообщение OlegJktu84 » 21 окт 2016, 17:26

Продолжаю играться с ioBroker. Немного затянул - поднял еще один ioBroker на linux (ubuntu).
Базовое упражнение закончил. Хвалиться совсем нечем ioBroker и Bluefox сделали все однокнопочным.
То есть совсем простым - взял все виджеты (грамотнее наверно сказать импортировал код и проекта/страницы) из примера Bluefox, не пришлось даже указывать объект управления - само все привязалось к единственной Меге.
Один муторный момент - установка драйверов с виджетами и иконками из WebUI ioBroker.admin (без них импортированный проект/страница не показывал значки - что в общем совершенно понятно). Муторно т.к. из WebUI я их ставил по одному и пока один ставиться нужно сидеть и пить кофе любуясь логом, а потом ставить следующий... А Bluefox красавчик - их там под штук 25. От изобилия прям глаза разбегаются.
Один нюанс заставивший хоть как-то напрячься - добавление температуры внутреннего сенсора температуры МегаД. Ну в настоящей инсталляции он нафиг не нужен (хмм... пожар в элетро шкафу заметить?) и объекта по умолчанию для него в драйвере МегаД ioBroker нет. Добавляется в два щелчка на странице драйвера.
Вообще iobroker Visualisation очень-очень понравился. Прям и стрелочка назад (отменить последнее действие) есть. И скопировать объекты в три щелчка.

electric
Сообщения: 57
Зарегистрирован: 16 сен 2013, 00:36

Re: Сервер для Мегадевайса (Платформа домашней автоматизации/Програмное обеспеченье умного дома/iobroker; Мажордомо; ope

Сообщение electric » 25 окт 2016, 00:58

OlegJktu84 писал(а):Вообще iobroker Visualisation очень-очень понравился. Прям и стрелочка назад (отменить последнее действие) есть. И скопировать объекты в три щелчка.
Это только начало))
Вы еще с драйвером javascript (текст и блокли) и node-red познакомьтесь поближе - вот где затягивает то...

OlegJktu84
Сообщения: 651
Зарегистрирован: 16 фев 2016, 19:52

Re: Сервер для Мегадевайса (Платформа домашней автоматизации/Програмное обеспеченье умного дома/iobroker; Мажордомо; ope

Сообщение OlegJktu84 » 25 окт 2016, 11:35

Да я уже клыки точу. Пока только как всегда медленно и извращенно.
Очень понравилась статья https://geektimes.ru/post/279814/ . Ну после того как я пытался разобраться с правилами в OpenHab мне все беды автора были знакомы.

Поэтому решил выстроить схему IoBroker - MQTT - Node-red.
Продвинулся пока до следующего:
1) Поднял на IoBroker драйвер брокера MQTT http://www.iobroker.net/?page_id=4643&lang=ru
2) Установил на IoBroker драйвер Node-Red
3) Установил на Android телефон IoT MQTT Dashboard . Установил на Win7 https://kamilfb.github.io/mqtt-spy/ .
4) Подписался на топики megad.0/# (это все с первого Мегад); megad.0/p16_P16 (это я в драйвер Мегад засунул температуру внутреннего сенсора); megad.0/p8_P8 (это соответственно релюшка).

MQTT клиенты изменение состояния показывают. Дальше пока не двигался.

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

Re: Сервер для Мегадевайса (Платформа домашней автоматизации/Програмное обеспеченье умного дома/iobroker; Мажордомо; ope

Сообщение Haus » 25 окт 2016, 12:08

OlegJktu84 писал(а):Да я уже клыки точу. Пока только как всегда медленно и извращенно.
Очень понравилась статья https://geektimes.ru/post/279814/ . Ну после того как я пытался разобраться с правилами в OpenHab мне все беды автора были знакомы.

Поэтому решил выстроить схему IoBroker - MQTT - Node-red.
Продвинулся пока до следующего:
1) Поднял на IoBroker драйвер брокера MQTT http://www.iobroker.net/?page_id=4643&lang=ru
2) Установил на IoBroker драйвер Node-Red
3) Установил на Android телефон IoT MQTT Dashboard . Установил на Win7 https://kamilfb.github.io/mqtt-spy/ .
4) Подписался на топики megad.0/# (это все с первого Мегад); megad.0/p16_P16 (это я в драйвер Мегад засунул температуру внутреннего сенсора); megad.0/p8_P8 (это соответственно релюшка).

MQTT клиенты изменение состояния показывают. Дальше пока не двигался.
Megad полноценный драйвер, не понял зачем столько сложностей. Температура внутреннего сенсора
megad.png
megad.png (295.26 КБ) 7230 просмотров

OlegJktu84
Сообщения: 651
Зарегистрирован: 16 фев 2016, 19:52

Re: Сервер для Мегадевайса (Платформа домашней автоматизации/Програмное обеспеченье умного дома/iobroker; Мажордомо; ope

Сообщение OlegJktu84 » 25 окт 2016, 12:35

Haus - со всем согласен. Сенсор температуры МегаД подцепил давно, только скриншоты ленился сделать. Я думаю, что если не цеплять температуру внутреннюю Мегад, как вы показали выше, то в MQTT будет дырка от бублика, а не топик с температурой. У меня стенд. Мало с чем можно поиграться. Поэтому дальше температуру МегаД и таскаю везде. Как пример сенсора.

MQTT - Node-red В первую очередь для фана, во вторую для кросс-платформенности.

Я вот по другому вопросу сильно туплю. Если мне нужно без драйвера подключить устройство к IoBroker, управляемое по http . Всякие ESP управляемые "192.168.0.15/?open", "192.168.0.15/?close", "192.168.0.15/?stop" (это пример рольштора viewtopic.php?f=1&t=795&start=80#p22840 ). Ткните плиз меня носом. А то не понимаю, это через что затягивать? Simpe API? Или напрямую из визуализации? Просто укажите направление...

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

Re: Сервер для Мегадевайса (Платформа домашней автоматизации/Програмное обеспеченье умного дома/iobroker; Мажордомо; ope

Сообщение Haus » 25 окт 2016, 15:32

OlegJktu84 писал(а):Haus - со всем согласен. Сенсор температуры МегаД подцепил давно, только скриншоты ленился сделать. Я думаю, что если не цеплять температуру внутреннюю Мегад, как вы показали выше, то в MQTT будет дырка от бублика, а не топик с температурой. У меня стенд. Мало с чем можно поиграться. Поэтому дальше температуру МегаД и таскаю везде. Как пример сенсора.

MQTT - Node-red В первую очередь для фана, во вторую для кросс-платформенности.

Я вот по другому вопросу сильно туплю. Если мне нужно без драйвера подключить устройство к IoBroker, управляемое по http . Всякие ESP управляемые "192.168.0.15/?open", "192.168.0.15/?close", "192.168.0.15/?stop" (это пример рольштора viewtopic.php?f=1&t=795&start=80#p22840 ). Ткните плиз меня носом. А то не понимаю, это через что затягивать? Simpe API? Или напрямую из визуализации? Просто укажите направление...
А так не пойдёт http://ab-log.ru/forum/viewtopic.php?f=1&t=1130 с драйвером megaESP http://forum.iobroker.net/viewtopic.php?f=16&t=3525

OlegJktu84
Сообщения: 651
Зарегистрирован: 16 фев 2016, 19:52

Re: Сервер для Мегадевайса (Платформа домашней автоматизации/Програмное обеспеченье умного дома/iobroker; Мажордомо; ope

Сообщение OlegJktu84 » 25 окт 2016, 16:25

Haus писал(а):...
А так не пойдёт http://ab-log.ru/forum/viewtopic.php?f=1&t=1130 с драйвером megaESP http://forum.iobroker.net/viewtopic.php?f=16&t=3525
Нет. Так не выйдет. Хотя здоров что у IoBroker этот драйвер есть и megaESP привяжется с полпинка.

В текущей реализации девайса для рольштор там шаговый двигатель и им прошивка МегаД рулить не умеет (насколько я понимаю).

Да и как отдать команды типа "выключить все порты" типа http://192.168.0.14/sec/?cmd=a:0 . А там много вкусного в Api Мегад http://ab-log.ru/smart-house/ethernet/megad-328-api .
Когда ковырял Мажордомо тоже до этого не дошел, делал команду выключить все перебором. Эффект киношный - как из ужастика, когда лампы гаснут по очереди.

Я где то в очевидном месте туплю с IoBroker... Как сделать произвольную команду типа http://192.168.0.14/sec/?cmd=a:0 ?

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

Re: Сервер для Мегадевайса (Платформа домашней автоматизации/Програмное обеспеченье умного дома/iobroker; Мажордомо; ope

Сообщение Haus » 25 окт 2016, 17:58

OlegJktu84 писал(а):
Haus писал(а):...
А так не пойдёт http://ab-log.ru/forum/viewtopic.php?f=1&t=1130 с драйвером megaESP http://forum.iobroker.net/viewtopic.php?f=16&t=3525
Нет. Так не выйдет. Хотя здоров что у IoBroker этот драйвер есть и megaESP привяжется с полпинка.

В текущей реализации девайса для рольштор там шаговый двигатель и им прошивка МегаД рулить не умеет (насколько я понимаю).

Да и как отдать команды типа "выключить все порты" типа http://192.168.0.14/sec/?cmd=a:0 . А там много вкусного в Api Мегад http://ab-log.ru/smart-house/ethernet/megad-328-api .
Когда ковырял Мажордомо тоже до этого не дошел, делал команду выключить все перебором. Эффект киношный - как из ужастика, когда лампы гаснут по очереди.

Я где то в очевидном месте туплю с IoBroker... Как сделать произвольную команду типа http://192.168.0.14/sec/?cmd=a:0 ?
api megaESP поддерживает команды a:0;a:1.
По моему двигатель там управляется питанием как и трёх ходовой, не вижу проблемы.
Скриптом как то так

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

var request = require('request');
var url = 'http://192.168.1.16/sec/?cmd=a:0';

on('megad.0.p13_P13', function (obj) {
      if (obj.newState.val === 'true' || obj.newState.val === true) {
      request(url);
    }
});
Переменная megad.0.p13_P13 может быть создана для vis
createState('Disable_All',''); и к ней подвязана кнопка vis

OlegJktu84
Сообщения: 651
Зарегистрирован: 16 фев 2016, 19:52

Re: Сервер для Мегадевайса (Платформа домашней автоматизации/Програмное обеспеченье умного дома/iobroker; Мажордомо; ope

Сообщение OlegJktu84 » 25 окт 2016, 20:54

Угук. Спасибо Haus. В целом работает.

Нашел, где BlueFox описывал, что вообще со скриптами делать (куда совать и пр.):
http://forum.iobroker.net/viewtopic.php ... cf98#p1349
"...
1. Сначала нужно установть javascript драйвер
2. Перейти на вкладку скрипты и создать один скрипт типа JavaScript или Coffescript
3. Написать скрипт в окне и сохранить.
4. Активировать скрипт и выставить engine, как system.adapter.javascript.0
5. Активировать javascript драйвер "

А то без выше описанного вилы, новичкам не понятно нефига.

UPD:
Понял, что должно решаться и через Nod-red
http://forum.iobroker.net/viewtopic.php ... 4832#p1625
Буду пробовать и через него.

MSapogov
Сообщения: 312
Зарегистрирован: 13 май 2015, 08:44
Откуда: г. Томск

Re: Сервер для Мегадевайса (Платформа домашней автоматизации/Програмное обеспеченье умного дома/iobroker; Мажордомо; ope

Сообщение MSapogov » 26 окт 2016, 07:46

OlegJktu84 писал(а):Угук. Спасибо Haus. В целом работает.

Нашел, где BlueFox описывал, что вообще со скриптами делать (куда совать и пр.):
http://forum.iobroker.net/viewtopic.php ... cf98#p1349
Я бы посоветовал со скриптами идти сюда http://forum.iobroker.net/viewforum.php?f=26
"Вопросы по написанию скриптов" или "Простейшая логика"
Я там для себя с помощью форумчан решил несколько задач.
Оказывается ничего невозможного - нет.

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

Re: Сервер для Мегадевайса (Платформа домашней автоматизации/Програмное обеспеченье умного дома/iobroker; Мажордомо; ope

Сообщение Evgeny_nd » 27 окт 2016, 08:19

Уважаемые коллеги,
кто может подсказать как в 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 запросы? Считывать и отображать статус, включать, выключать и т.д.

OlegJktu84
Сообщения: 651
Зарегистрирован: 16 фев 2016, 19:52

Re: Сервер для Мегадевайса (Платформа домашней автоматизации/Програмное обеспеченье умного дома/iobroker; Мажордомо; ope

Сообщение OlegJktu84 » 27 окт 2016, 10:48

Evgeny_nd писал(а): ...
То как в ioBroker работать (через какие драйвера и виджеты) с оборудованием через http запросы? Считывать и отображать статус, включать, выключать и т.д.
Получается, что через скрипты, пока проовал 2 вида. Node :
UPD Причесал/обновил
1.0 Нужно установить драйвер Javascript/Coffescript Script Engine . Запустить драйвер Javascript/Coffescript Script Engine. В ioBroker.admin появиться вкладка Скрипты. Дальше копипаст (ну или написать) и запустить скрипт. Возможно нужно пере запустить драйвер Javascript/Coffescript Script Engine. В примере предварительно создана фейковая p17 в драйвере megad.0 логика создания viewtopic.php?f=1&p=24479#p24446 , только выбрано "не используется".
1.1 Решение от Haus работает viewtopic.php?p=24476#p24456 . Правда на объект ругается . И аналогично в Node-red у меня не прокатило. UPD2: о прокатило!
1.2 Не смог засунуть в один скрипт. Сделал два. Один на вкл. другой на выкл.

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

var request = require('request');
var url = 'http://192.168.1.214/sec/?cmd=a:0';

on('megad.0.p17_P17', function (obj) {
      if (obj.newState.val === 'false' || obj.newState.val === false) {
      request(url);
    }
});

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

var request = require('request');
var url = 'http://192.168.1.214/sec/?cmd=a:1';

on('megad.0.p17_P17', function (obj) {
      if (obj.newState.val === 'true' || obj.newState.val === true) {
      request(url);

    }
});
Ругательства в Логе

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

mqtt.0	2016-10-27 09:55:39.541	warn	mqtt.0 Cannot resolve topic name for ID: megad.0.p17_P17 (object not found)
megad.0	2016-10-27 09:55:39.538	error	megad.0 Unknown port ID megad.0.p17_P17
mqtt.0	2016-10-27 09:55:37.565	warn	mqtt.0 Cannot resolve topic name for ID: megad.0.p17_P17 (object not found)
megad.0	2016-10-27 09:55:37.560	error	megad.0 Unknown port ID megad.0.p17_P17
mqtt.0	2016-10-27 09:55:35.688	warn	mqtt.0 Cannot resolve topic name for ID: megad.0.p17_P17 (object not found)
megad.0	2016-10-27 09:55:35.682	error	megad.0 Unknown port ID megad.0.p17_P17
mqtt.0	2016-10-27 09:55:33.655	warn	mqtt.0 Cannot resolve topic name for ID: megad.0.p17_P17 (object not found)
megad.0	2016-10-27 09:55:33.648	error	megad.0 Unknown port ID megad.0.p17_P17
mqtt.0	2016-10-27 09:55:33.154	warn	mqtt.0 Cannot resolve topic name for ID: megad.0.p18_P18 (object not found)
megad.0	2016-10-27 09:55:33.146	error	megad.0 Unknown port ID megad.0.p18_P18
megad.0	2016-10-27 09:55:31.445	error	megad.0 Unknown port ID megad.0.p18_P18
mqtt.0	2016-10-27 09:55:31.437	warn	mqtt.0 Cannot resolve topic name for ID: megad.0.p18_P18 (object not found)
node-red.0	2016-10-27 09:49:55.712	info	node-red.0 Save /opt/iobroker/iobroker-data/node-red/flows.json
mqtt.0	2016-10-27 09:49:55.304	info	mqtt.0 publishOnSubscribe
mqtt.0	2016-10-27 09:49:55.304	info	mqtt.0 Client [mqtt_8c0ab572.73f548] subscribes on "mqtt.0.megad.0.p18_P18"
mqtt.0	2016-10-27 09:49:55.304	info	mqtt.0 publishOnSubscribe
mqtt.0	2016-10-27 09:49:55.304	info	mqtt.0 Client [mqtt_8c0ab572.73f548] subscribes on "megad.0.p2_P2"
mqtt.0	2016-10-27 09:49:55.303	info	mqtt.0 publishOnSubscribe
mqtt.0	2016-10-27 09:49:55.303	info	mqtt.0 Client [mqtt_8c0ab572.73f548] subscribes on "megad.0.p1_P1"
mqtt.0	2016-10-27 09:49:55.285	info	mqtt.0 Client [mqtt_8c0ab572.73f548] connected
mqtt.0	2016-10-27 09:49:55.281	info	mqtt.0 Client [mqtt_ee5fdb1e.11a028] closed
mqtt.0	2016-10-27 09:49:55.216	info	mqtt.0 Client [mqtt_ee5fdb1e.11a028] disconnected

2.0 Node-red. Установить драйвер Node red. Появиться вкладка Node red. Как копипастить код в картинках http://forum.iobroker.net/viewtopic.php ... 4832#p1625 .
2.1 Node-red может выполнить http .
2.2 UPD 2 Фейковая кнопка P18 , заработала!!!
Моя песочница с Node-red (доработана из примера Bluefox ).

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

[
    {
        "id": "f9221477.273e48",
        "type": "mqtt in",
        "z": "227ea6cc.f44022",
        "name": "MQTT P18",
        "topic": "megad/0/p18_P18",
        "qos": "0",
        "broker": "412f623c.2e144c",
        "x": 60,
        "y": 1040,
        "wires": [
            []
        ]
    },
    {
        "id": "be063e4a.8e9ed8",
        "type": "debug",
        "z": "227ea6cc.f44022",
        "name": "",
        "active": true,
        "console": "false",
        "complete": "false",
        "x": 730,
        "y": 1080,
        "wires": []
    },
    {
        "id": "e288df3e.4419b",
        "type": "http request",
        "z": "227ea6cc.f44022",
        "name": "Включить  все",
        "method": "GET",
        "url": "http://192.168.1.214/sec/?cmd=a:1",
        "tls": "",
        "x": 417,
        "y": 1039.9999990463257,
        "wires": [
            [
                "be063e4a.8e9ed8"
            ]
        ]
    },
    {
        "id": "41d5e384.c21c4c",
        "type": "comment",
        "z": "227ea6cc.f44022",
        "name": "http://192.168.1.214/sec/?cmd=a:1",
        "info": "",
        "x": 477,
        "y": 1075,
        "wires": []
    },
    {
        "id": "c1ac98e0.c55778",
        "type": "switch",
        "z": "227ea6cc.f44022",
        "name": "",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "true",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "false",
                "vt": "str"
            }
        ],
        "checkall": "true",
        "outputs": 2,
        "x": 230,
        "y": 1080,
        "wires": [
            [
                "e288df3e.4419b"
            ],
            [
                "3b1f7656.c7803a"
            ]
        ]
    },
    {
        "id": "3b1f7656.c7803a",
        "type": "http request",
        "z": "227ea6cc.f44022",
        "name": "Выключить все",
        "method": "GET",
        "url": "http://192.168.1.214/sec/?cmd=a:0",
        "tls": "",
        "x": 420,
        "y": 1120,
        "wires": [
            [
                "be063e4a.8e9ed8"
            ]
        ]
    },
    {
        "id": "e9371796.07d04",
        "type": "comment",
        "z": "227ea6cc.f44022",
        "name": "http://192.168.1.214/sec/?cmd=a:0",
        "info": "",
        "x": 478,
        "y": 1162,
        "wires": []
    },
    {
        "id": "ee7e80c9.badab",
        "type": "debug",
        "z": "227ea6cc.f44022",
        "name": "P18",
        "active": true,
        "console": "false",
        "complete": "payload",
        "x": 230,
        "y": 980,
        "wires": []
    },
    {
        "id": "20c372c7.c5ca5e",
        "type": "debug",
        "z": "227ea6cc.f44022",
        "name": "false debag/true debag",
        "active": true,
        "console": "false",
        "complete": "payload",
        "x": 320,
        "y": 1220,
        "wires": []
    },
    {
        "id": "fa7abf9e.3e6b08",
        "type": "inject",
        "z": "227ea6cc.f44022",
        "name": "true debag",
        "topic": "",
        "payload": "true",
        "payloadType": "str",
        "repeat": "",
        "crontab": "",
        "once": false,
        "x": 80,
        "y": 1120,
        "wires": [
            [
                "c1ac98e0.c55778",
                "20c372c7.c5ca5e"
            ]
        ]
    },
    {
        "id": "987c7b8e.ccd148",
        "type": "inject",
        "z": "227ea6cc.f44022",
        "name": "false debag",
        "topic": "",
        "payload": "false",
        "payloadType": "str",
        "repeat": "",
        "crontab": "",
        "once": false,
        "x": 80,
        "y": 1160,
        "wires": [
            [
                "c1ac98e0.c55778",
                "20c372c7.c5ca5e"
            ]
        ]
    },
    {
        "id": "fb1fd82a.2820d8",
        "type": "ioBroker in",
        "z": "227ea6cc.f44022",
        "name": "IoBroker P18",
        "topic": "megad.0.p18_P18",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "x": 70,
        "y": 980,
        "wires": [
            [
                "c1ac98e0.c55778",
                "ee7e80c9.badab"
            ]
        ]
    },
    {
        "id": "412f623c.2e144c",
        "type": "mqtt-broker",
        "z": "227ea6cc.f44022",
        "broker": "localhost",
        "port": "1883",
        "clientid": "",
        "usetls": false,
        "compatmode": true,
        "keepalive": "60",
        "cleansession": true,
        "willTopic": "",
        "willQos": "0",
        "willPayload": "",
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": ""
    }
]

3. Надо разобраться, как сделать объект для привязке в Vis без приема с фейковой кнопкой megad.0 .

4. PS: Node-red понравился, я от него прям пищу. Классное визуальное програмирование.
Ресурсы по Node-red на русском, что нашел
https://geektimes.ru/post/279814/ классная вводная статья на хабре
http://www.ibm.com/developerworks/ru/li ... index.html разбор в 3 частях (PI, полив растений, и пр.)
http://flows.nodered.org (гора примеров на англ.)

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

Re: Сервер для Мегадевайса (Платформа домашней автоматизации/Програмное обеспеченье умного дома/iobroker; Мажордомо; ope

Сообщение Evgeny_nd » 27 окт 2016, 15:20

ОГО! Не ужели нет готового драйвера? Ведь по сути это один из самых распространенных способов.
Разбираться с MQTT точно не хотелось бы...
Я использую OpenHAB 1, в котором крайне не хвататет графики и визуального оформления.
Почитав ветку эту решил попробовать ioBroker, к меге подключил без проблем и другие пару драйверов, интерфейс и способ и простота его создания очень впечатлили. С главным - автоматизацией (скриптами и правилами) еще не разбирался, но это чуть позже.
Сейчас вот уткнулся в устройства, которые у меня управляются по HTTP и сильно удивлен, что одна строка в OpenHAB должна быть заменена кучей кода :).
Кстати ведь должна быть еще и обратная связь с входами меги. Интерфейс в ioB настроим, привязав кнопки к выходам OUT, а с кнопками физическими как быть? Тоже Java скриптами пользоваться нужно?


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

Re: Сервер для Мегадевайса (Платформа домашней автоматизации/Програмное обеспеченье умного дома/iobroker; Мажордомо; ope

Сообщение Bluefox » 27 окт 2016, 15:24

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 переменную.

Ответить