Но мир, к счастью, не спит и усердно занимается этой проблемой. Существуют как бесплатные решения достойного качества, так и платные (не факт, что хорошего качества).
Как и миру, мне не спится тоже и я также, как и весь мир вот уже много лет подряд, а последние три года особенно усердно, занимаюсь интеграцией всевозможного оборудования в умный дом.
В данной статье хочу осветить автоматизацию дома и как с помощью Open Source проекта освещать (и не только) свое уютное жилище. Ах да, чуть не забыл сказать, что вся автоматизация происходит на JavaScript!
Для всех любителей JS прошу под кат
Для начала, немного сухой теории и демагогии на тему умного дома.
Каждый понимает под этим термином что то своё. Кто-то включает свет в ванной с помощью датчика движения и считает дом уже умным, а для кого-то и дом из IronMan (J.A.R.V.I.S.) не достаточно умён, потому что этот дом в конце концов разнесли в пух и прах, а значит он не смог себя защитить от каких-то людишек на вертолётах.
Но шутки в сторону — все эти люди правы. Просто уровень «разума» дома тоже разный, как IQ у людей. Есть маленькие «дети», которые умеют включать лампочку, а есть, закончившие университет, «академики» и способные не только включать свет, но и выключать его :)
В доме можно вычленить несколько направлений автоматизации:
— чаще всего это свет
— потом отопление
— мониториг среды обитания: температура внутри и снаружи, влажность
— безопасность и сигнализация
— мультимедиа (телевизор, музыка)
— роль-ставни, окна, ворота, двери, навесы
— вентиляция и кондиционирование
— управление остальной домашней техникой
— протоколирование и графики
— уведомление
Список можно продолжить, но я хотел бы остановится на наиболее используемых направлениях. Для каждой области автоматизации существует своя система устройств, каждая со своими протоколами, приложениями и способами управления. На данный момент не существует ни одного производителя способного предоставить устройства в каждой из областей автоматизации. Но есть некоторые, которые продвинулись особенно далеко: Samsung, Google, Apple.
Каждый из производителей при этом, обязательно изобретает свой велосипед протоколов взаимодействия и никто не хочет уступать другому. Хотя протокол взаимодействия от google Weave кажется наиболее продуманным.
Существуют также попытки создать протокол независимо от производителя. В этом направлении дальше всех продвинулись IBM с MQTT. Но, к сожалению, там отсутствует стандартизированный канал о получении описания об устройствах, таких как единицы измерения, расположение/комната, функциональная группа (жалюзи или свет) и прочая мета информация.
А что понимаю под умным домом я или как было сказано выше, какой уровень автоматизации устраивает меня?
Я много экспериментировал и пришел к выводу, что все эти управления с телефона, управление голосом или построение графиков температуры — это всего лишь игрушки.
Настоящий умный дом должен быть незаметным. Должно быть лишь заметно, когда умный дом перестает работать.
Умный дом должен наблюдать через датчики за людьми и подстраивать среду обитания под них (нет, конечно он не должен отсылать эту информацию гуглу). Регулировать температуру, при этом экономя тепло на обогрев; включать, при входе человека в комнату, подсветку не ослепляя его или прикрывать жалюзи на окнах, если включен телевизор и окно бросает блики на изображении. Сценариев — бесконечное множество. Особенно интеллигентные дома должны сами распознавать последовательности и зависимости событий и предлагать новые правила автоматизации.
Я знаю, что говорю. Я повесил и планшет возле входной двери и реализовал голосовое управление и построил все возможные и невозможные графики и могу открыть дверь квартиры телефоном, но это всё для того, что бы показать один раз гостям, какой у меня умный дом и услышать в ответ «Вау». Я и моя семья этим не пользуемся почти никогда.
Нет, это конечно важно, иногда посмотреть на состояние датчиков в доме по телефону, плавая при этом по средиземному морю или получить уведомление с фото о том, что в дом кто-то зашел, хотя не должен был, открыть дверь почтальону и проследить, что бы он не вынес пол-дома с собой. И, в конце концов, услышать от друзей то самое «Вау» тоже не последний аргумент. :) Всё это должно быть, хотя бы для того, что бы понять, что это на самом деле не так уж и важно :)
Лучше всего поддается автоматизации квартира, в которой живет холостяк-технофил, ходящий каждый день на работу в одно и то же время и имеющий постоянное количество праздничных и выходных дней (Россия, к сожалению не попадает под этот критерий. Одни новогодние выходные в мае чего стоят :) ).
Потом идёт бездетная молодая семья с умеренной любовью к техническим средствам. Важно что бы каждый из них не разлучался с сотовым телефоном.
Самым сложным случаем является семья с детьми (чем большее, тем сложнее). Дети просто не поддаются автоматизации. «Ну и что папа, что я забыл(а) телефон. Он мне во дворе не нужен.». И все скрипты распознавания нахождения людей в помещении и основанные на них правила включения сигнализации, оказываются бесполезными. (Мой случай)
Но давайте вернёмся всё же к тому как сделать всё это у себя дома и сделать своё место обитания комфортнее.
Что такое ioBroker?
Это интеграционная платформа для интернета вещей и служит центральным сервером для:
- умного дома
- автоматизации зданий
- assisted living
*Кстати буду благодарен за перевод последнего термина.
ioBroker это система способная соединить весь салат протоколов и устройств между собой.
Какая-то строительная фирма решила строить умное жильё в Гамбурге и они собрали все возможные устройства в одной квартире и предлагают для управления всем этим зоопарком восемь приложений для телефона (кстати только apple).
С ioBroker это было бы не нужно.
ioBroker имеет очень модульную структуру. Каждый модуль бежит в отдельном процессе и при падении просто перезапускается и вся система работает дальше.
Отличие ioBroker от других систем автоматизации это модуль web визуализации в браузере — vis. На его разработку была затрачена половина времени необходимого для разработки всего ioBroker.
Также преимущество ioBroker заключается в огромном количестве доступных npm пакетов — 286000.
*Информация взята с http://www.modulecounts.com/.
Конечно качество пакетов не всегда на высоте, но как правило для одной и той же проблемы существует несколько разных пакетов и количество в данном случае перерастает в качество. Нужно лишь выбрать нужный пакет. Таким образом подключение новых протоколов лишь дело техники.
Я таким образом реализовал подключение OPC UA, Sonos, MQTT, Telegram, Pushover, Homematic, Z-Wave, Simatic и ещё большого количества других систем.
Большой упор сделан на возможность удобной настройки и конфигурации и это съедает львиную долю времени в отличие от FHEM и, например, OpenHAB, где настройки происходят посредством конфигурационных файлов.
Open Source Альтернативы.
— OpenHAB — популярная Java платформа автоматизации. На данный момент насчитывается до 160 драйверов или модулей.
— FHEM — распространенная в Германии, система автоматизации на Perl с огромным количеством драйверов — 340. Вот только настройка системы оставляет желать лучшего и отсутствие стандартизированной мета-модели затрудняет расширение системы.
— MajorDomo — довольно зрелая платформа автоматизации на PHP. Можно найти множество статей об этой системе здесь на geektimes.
— Domoticz — система написанная на C/C++ с очень достойным графическим интерфейсом. Но за счет того, что на C/C++ трудно писать быстро, то с ограниченным набором драйверов/модулей.
Вообще много интересных систем автоматизации дома можно найти здесь. В основном разделение систем происходит по языкам программирования (Java, C/C++, Python, Javascript, PHP, ...) и по железу (Vera, Raspberry PI, Synology, Mediola, ...). Все они заслуживают право на существование хотя некоторые могут больше, а некоторые меньше.
На данный момент уровень технической подкованности людей, внедряющих систему автоматизации, довольно высок и они не падают в обморок от слов: линукс, консоль, apt-get. Но когда на форуме появился вопрос: «я установил систему, но не могу сменить папку home на папку ioBroker. Помогите!». Это был звоночек, что начинают подтягиваться не информатики и что систему могут использовать простые пользователи компьютеров.
Все интерфейсы настроек переведены на 3 языка, за исключением специфичных для германии драйверов. Ну зачем русскоговорящему пользователю драйвер поставляющий данные о ценах на бензин в Германии или предупреждения о непогоде от немецкой службы погоды?..
Также без перевода остались драйвера для сугубо русскоговорящего рынка, например драйвер автосигнализации starline.
Документация тоже по мере сил пишется на 3х языках, но тут ещё очень много работы. Хотя за последний месяц появилось много хороших описаний.
Для написания интерфейса, сервиса и скриптов используется JavaScript. Один из широко распространённых и популярных языков программирования. Сейчас большую популярность набирает Python, но на питоне графическую оболочку для браузера не напишешь. (Да, я знаю о существовании py2js, но ещё не видел ничего достойного созданного этим)
Немного об Open Source проектах.
Как человек, участвующий в open source проекте, могу сказать: раньше я думал, что open source проекты пишутся тысячами людей со всего мира и что им легко написать всё, что угодно. Сейчас могу сказать, что за каждым open source стоит один (иногда в особо крупных проектах — группа людей) и что активны из сообщества лишь один процент пользователей. Просто у больших проектов количество пользователей миллионы и один процент от миллиона это десять тысяч людей. А вот у проектов поменьше это десятки или единицы индивидуумов. Также могу сказать, что один заинтересованный пользователь может сделать больше, чем десять незаинтересованных программистов и важно просто набрать массу пользователей и вероятность появления человека, способного внести весомую лепту становится больше.
Возможности
Я могу сказать, что возможности… безграничны. Помножите количество npm пакетов на количество железа и получится миллион возможностей включить лампочку:
— через telegram
— голосом
— rest API
— web визуализация
— android приложение
— интерфейс для телефонов и планшетов (mobile)
— 340 драйверов из FHEM
— MQTT
Да и ещё проект активно развивается и растёт на 3х языках.
Для заинтересовавшихся — google в помощь. И впредь — я попытаюсь описать не как работает вселенная, а как происходит сообщение между modbus устройством и атомной электростанцией.
Комментарии (107)
Bluefox
23.07.2016 00:08-3Мне просто интересно. Я писал статью месяц, а до этого ioBrokrer — 3 года каждый вечер по 3-4 часа. Более 6000 коммитов на github. Вот какой… ставит -1 на статью не поясняя ничего при этом?
Может он написал что-то лучшее? Так расскажи! Я по-учусь. Или за грамматические ошибки заботливо не указанные в приватных сообщениях?edd_k
23.07.2016 02:46+1Просто прекратите задавать себе глупый вопрос «За что?» Раз есть кнопка — ее обязательно нажмут.
А уж тем более — задавать этот вопрос в первые минуты/часы после публикации!
Кто-то поставил минус. Не объяснил его. Человек может даже в комментарии не заглядывал и не будет. Он не прочтет вашего «За что?! Это не справедливо!». Зато прочтут остальные и подумают, что вы первый день в интернете ))Bluefox
23.07.2016 15:24Да прекратил уже. Наверно день вчера был напряженный.
А так я и не скрываю, что я первый день в интернете (как минимум в социальной его части). Обычно я сижу и работаю над проектом и все мои сайты ограничены сайтами с документацией и stackoverflow. :)
Привыкну, перестану реагировать. :)
Nizametdinov
23.07.2016 14:31>>>Вот какой… ставит -1 на статью не поясняя ничего при этом?
А что еще ждать, если поднимать\опускать статью позволяется кому угодно с одинаковым весом?
Как и любой человек, написавший статью на 100% тебя понимаю. Считаю, что оценивать труд должен только равный, то есть оцивают статьи только те кто что то сами написали, а не как сейчас — любой «Не читал, но осуждаю!» (с).Vespertilio
23.07.2016 14:54Разве не так работает? У меня нет статей и я не могу влиять на их рейтинг.
Nizametdinov
23.07.2016 15:00Неа не так :), право голосовать зависит от кармы https://geektimes.ru/info/help/karma/
А она набирается и без статей насколько понимаю.
mrMidas
24.07.2016 18:33Равенства нет, тем более что это субъективный критерий, а выравнивание биологической системы к единому значению приводит к коллапсу и стагнации. Так что проблема не в качестве голосующих а в непонимании системы голосования. Статья — информация, которая изменяется от 0(нет информации) до +1(есть информация). Информация не имеет отрицательного значения и поэтому качество статьи невозможно оценить ничем кроме + (можно конечно кивать головой на энтропию, но это уже производная к процессу а не сам объект). Так что если интересует именно оценка качества/нужности/полезность, то имеет смысл обращать внимание только на плюсы относительно нулей. Минус же является социальным регулятором не имеющем прямого отношения к качеству статей. Образно говоря он является инквизитором для инакомыслящих (фактически реализует отрицательную обратную связь). Именно в силу этого на сегодня основания для "-" принципиально не формализуются, как впрочем любое явление из категории нравится-не_нравится. Тем более что нужно быть неординарной личностью что бы публично заявить о своём минусе… Это сразу выделит из общей массы и сделает инакомыслящим. Масса всегда безлика и памятлива...;)
OlegXD
23.07.2016 00:44+1Знаете, уважаемый, уже за такое Ваше отношение можно ставить «минус» (это был не я, не дорос ещё), надо стойко воспринимать подобные вещи.
Сам работаю в сфере автоматизации, прочитал бегло ибо голова не настроена уже. Однако чисто интуитивно (внутренне) не верится в связь всего со всем.
Видимо от понимания того, что подружить две железяки (устройство knx, например, и пк с этим ioBroker) всегда не просто. А здесь предлагается после этого процесса подружить ещё два компонента разных ioBroker друг с другом.
Верно?Bluefox
23.07.2016 01:03-5Просто это не первый комментарий и не на первом ресурсе. Да я уже в течении 2х лет держу такие нападки и если бы я был фирмой состоящий из меня и хотя бы одной секретарши, то, возможно, такие сообщения доходили бы до меня отфильтрованными мозгами той самой воображаемой секретарши, но пока секретарши не предвидится.
Ставьте минус «за такое Ваше отношение». Ничего переживу.
Bluefox
23.07.2016 01:10На данный момент присутствует 1600 постоянных пользователей (из них 100 русскоговорящих).
KNX драйвер переписывается сейчас во второй раз.
А может стоит попробовать? Я ужасаюсь каждый раз, когда люди делают выбор в пользу openhab.h45242
24.07.2016 12:32ну выбор в пользу мажордомо и домотикс вполне понятен — они из коробки работают.
Bluefox
26.07.2016 18:07Вот это называется из коробки?
http://majordomo.smartliving.ru/Main/SetupLinux
Да я даже до конца страницы устал мотать. :)
Вот это уже короче:
http://www.openhab.org/getting-started/
Но всё равно я понимаю под "из-коробки" максимум 2-3 команды.
iorboker на Linux, если стоит node меньше пятого, ставится 4мя командами:
sudo mkdir /opt/iobroker sudo chmod 777 /opt/iobroker cd /opt/iobroker sudo npm install iobroker --unsafe-perm
h45242
26.07.2016 21:42так толсто, что даже скучно…
вообще я говорил про «работает», но если хочется про установку поговорить…
в инструкции мажордомо речь про установку всех зависимостей, редактора, ссх. смотреть зависимости ноде лень.
в инструкции опенхаба теже несколько команд.
чтоже до сабжа, сначала надо выяснить какая версия ноды нужна, потом версия нпм. ни из логов ни из инструкции это не понять. потом выяснить что инструкция как не совсем инструкция. найти решение на форуме. слегка поправить и вот оно встало.
но не работает :)
а вот мажордомо и домотикс менеджером пакета ставятся одной командой и работают :)lingvo
26.07.2016 22:10Ну да.
Я тоже могу сказать, что OH на RPi устанавливается 4 командами:
wget -qO — 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add — echo «deb http://dl.bintray.com/openhab/apt-repo stable main» | sudo tee /etc/apt/sources.list.d/openhab.list
sudo apt-get update
sudo apt-get install openhab-runtime
Только после этого еще нужно установить драйвера под нужные протоколы: Z-wave, KNX и т.д. Это по команде на каждый. Лично у меня их 6
sudo apt-get install openhab-addon-persistence-rrd4j
sudo apt-get install openhab-addon-binding-z-wave
sudo apt-get install openhab-addon-binding-mqtt
sudo apt-get install openhab-addon-binding-http
sudo apt-get install openhab-addon-binding-ntp
sudo apt-get install openhab-addon-binding-weather
А потом еще создать свою конфигурацию. А в ioBroker как?Bluefox
27.07.2016 00:16То есть ты даже не знаешь, как в ioBroker и что то доказываешь? :)
Ну не поленился я и достал 3ю малину и ввёл команды сверху.
pi@raspberrypi:~ wget -qO — 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add — echo "deb http://dl.bintray.com/openhab/apt-repo stable main" | sudo tee /etc/apt/sources.list.d/openhab.list gpg: no valid OpenPGP data found. pi@raspberrypi:~ $ sudo apt-get update .... .... pi@raspberrypi:~sudo apt-get install openhab-runtime Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package openhab-runtime
В погоне уменьшить количество команд, ты неправильно их соединил. Ну ничего.
Установил openhab так:
На малине raspbian jessie lite нет java, так же и как node.js. Ставлю java
sudo apt-get install oracle-java7-jdk
потом
wget -qO — 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add — echo "deb http://dl.bintray.com/openhab/apt-repo stable main" | sudo tee /etc/apt/sources.list.d/openhab.list
потом
echo "deb http://dl.bintray.com/openhab/apt-repo stable main" | sudo tee /etc/apt/sources.list.d/openhab.list
потом
sudo apt-get install openhab-runtime sudo /etc/init.d/openhab start
по адресу http://ipaddress:8080/openhab.app
HTTP ERROR 500 Problem accessing /openhab.app. Reason: Sitemap 'default' could not be found
А теперь, я так понимаю, надо лезть в конфиги.
Вот полная инсталляция на ioBroker
Установка 4го нода
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - sudo apt-get install -y build-essential python-rpi.gpio nodejs
и установка iobroker. Причём его можно поставить в любую папку (с наличием прав)
sudo mkdir /opt/iobroker sudo chmod 777 /opt/iobroker cd /opt/iobroker sudo npm install iobroker --unsafe-perm
В итоге на http://ipaddress:8081
Bluefox
27.07.2016 00:49
После этого мышкой нажать на плюсик напротив тех драйверов, что нужны и настроить их через браузер на 3х языках, включая на русском
И всё из браузера, не заходя в консоль. Хотя из консоли тоже можно устанавливать драйвера.
Потом рисуется интерфейс
Или просто приборам присваиваются (кликаньем) свойства (свет/жалюзи/..) и/или комната и готов мобильный интерфейс.
Вот создание интерфейса
Вот ещё (правда на немецком)
lingvo
27.07.2016 12:50Это все понятно. Я ничего не доказываю, я просто говорю, что все аналогичные системы устанавливаются и настраиваются более менее одинаково — где-то больше проблем, где-то меньше. И ради этого перелазить с одной опенсоурсной системы на другую, например, с OH на ioBroker, я не вижу смысла, пока первый справляется и не выносит мозги. Надо будет — перелезу.
С другой стороны насчет перелазить — следует учитывать риск, что с любым софтом можно столкнуться с тем, что он вдруг перестанет выполнять свои функции — то ли поддержка community исчезнет, то ли при очередном обновлении появится критический баг именно в данной системе, а откат невозможен. То ли просто задолбает стабильность. Выход будет, скорей всего, в переходе на другую систему УД, но тут-то и кроется проблема — стоимость перехода может быть достаточно высокой, так как придется много вещей переделывать с нуля и потратить на это много времени — инсталляция и первоначальная настройка только часть из них. Именно поэтому в этих случаях рекомендуется переходить на модульные архитектуры со стандартизированными интерфейсами, чтобы в случае чего можно было поменять один софтверный или хардварный модуль без необходимости замены или модернизации всей системы.
В конкретном случае с УД я вижу две особенности:
— Интерфейс пользователя — если реализовать все эти Web и мобильные интерфейсы средствами ioBroker, то при переходе на другую систему УД наработки, скорей всего потеряются и их придется рисовать обратно. С этой точки зрения в OH проще — там есть только гаджетный вид, который рисовать не надо. Поэтому в моей системе я стараюсь разъединить эти вещи — по крайней мере мой планшетный GUI для настенных панелей сделан на другой проге и коннектится к УД по MQTT — так я могу спокойно переключиться на любой другой контроллер УД без изменений в этой части.
— вторая особенность — сценарии и правила. Графические они или нет, при переходе на другую систему опять все придется рисовать заново, так как будет, скорей всего, другой язык программирования. Именно поэтому движек правил в моей системе будет независим от системы УД и связан с ней опять таки стандартным интерфейсом. В этом случае, опять же, переход с на другой контроллер УД позволит мне спокойно продолжать использовать мои уже написанные правила.Bluefox
27.07.2016 17:10Это всё абсолютно верно, что очень трудно слезть с одной системы. Но что ж мне теперь останавливаться, только потому, что openhab популярнее, хотя iobroker удобнее?
У OH своё сообщество, у IoB своё. Я же не призываю сжечь OH :)lingvo
27.07.2016 18:56+1Нет, просто… не пытайтесь реализовать в своем приложении все и вся и не усложняйте систему лишний раз в ущерб надежности и удобству настройки. Сделайте из ioBroker, то, о чем свидетельствует его название — лучшую систему для связи различных I/O протоколов между собой. А остальное, типа Web-серверов, серверов сценариев и пр. отдайте другим. Лучше через стандартные интерфейсы. Пользователи сами привяжут, что им нужнее и вам скажут.
Тогда вы получите множество довольных пользователей, а точнее интеграторов, включая меня, конечно, и сможете развиваться в конкретном направлении.
Просто охватить все и вся сейчас с вашими разработченскими ресурсами не получится, и лучше сделать одну функцию, но сделать ее хорошо, чем пытаться угодить сотне человек, не понимающих, зачем им этот УД не из коробки, реализовывая разные хотелки, которые можно было бы сделать на другом продукте лучше.
Bluefox
27.07.2016 01:03В погоне уменьшить количество команд, ты неправильно их соединил. Ну ничего.
Судя по всему, это geektimes их так соединяет. Сори.
lingvo
25.07.2016 12:10>>Я ужасаюсь каждый раз, когда люди делают выбор в пользу openhab.
Странно почему? Он гораздо более популярен — всегда можно найти помощь.
А также ставится практически из коробки и работает месяцами без сбоев и перезагрузок. А вот как со стабильностью у ioBroker?Bluefox
25.07.2016 15:37То есть, если следовать твоей логике (я с вашего позволения на ты :) ). То в начале прошлого века никто не должен был переходить на автомобили с лошадей, т. к. лошади гораздо более распространены и помощь можно найти у любого конюха. :)
stDistarik
25.07.2016 20:29Следуя Вашей логике, различия между опенхаб и айброкер должны быть как между 286 и Quantum Computer.
Bluefox
26.07.2016 18:23Читайте внимательнее комментарии пожалуйста. Я не написал, что это сравнение сегодняшнего дня, а указал время.
Тогда разница была непонятная.
Если бы я спросил людей, чего они хотят, они бы попросили более быструю лошадь. (Г. Форд).
Bluefox
25.07.2016 15:40Стабильность на хорошем железе стабильная. :)
Но из-за того, что ioBroker запускается даже на Raspi1B c 512MB, где памяти катастрофически не хватает (если больше чем 4-5 драйверов), страдает имидж, т.к. на них коммуникация между драйверами тормозит и отваливается.
Nizametdinov
23.07.2016 14:42Труд титанический, добавить нечего.
Сижу на OpenHab, но уже местами рамки зажимают, а графики так вообще грусть печалька, хоть костыль чего сбоку.
По MQTT в режиме брокера — правильно понимаю, что по умолчанию он транслирует все свое дерево устройств? По каким правилам?
У меня например сейчас «ручное дерево», например для ночника у кровати:
home/lamp_A/0 — нулевой канал лампы, на него подписан сервер, сюда шлет лампа при изменении состояния
home/lamp_A/0/set — ветка установки состояния, на него подписана лампа, сюда шлет любое устройство, которое хочет поменять состояние этой лампы.
Как в случае ioBrocker это будет работать из документации я не понял, проясни по возможности.Bluefox
23.07.2016 15:36Графики писались пол года и переписывались 3 раза и только после этого ими стало нормально пользоваться. Хотя ещё есть много чего, что можно улучшить.
Топики создаются автоматически из топологии устройств. Но есть возможность создать собственные названия и обновлять их через скрипты. Хочу только сказать, что это редко используется.
Имя топика используется и для сообщения о статусе и для управления. При изменении состояния, сервер получает уведомление. Если необходимо переключить состояние, то при записи в топик оно воспринимается, как команда.Nizametdinov
23.07.2016 15:46>>>Имя топика используется и для сообщения о статусе и для управления.
Такая топология имеет минус — оконечное устройство не имеет канала для сообщения об отработки команды, не всегда set = get. Команда может быть не отработана (устройство отключено), может быть отработана с ощутимой задержкой (долгая операция, сервопривод например)Bluefox
23.07.2016 17:12Ну для начала, речь идет о доме. Там из сервоприводов только ворота и жалюзи. Плюс можно создать два брокера, и по одному слать сообщения, а по другому получать. И в третьих я уже вечером перепишу драйвер, что бы можно было поставить галочку в настройках, что писать только через set. Спасибо за идею.
В самом брокере у каждой переменной есть флаг, говорящий о том что это — команда или состояние.Nizametdinov
23.07.2016 18:41>>>В самом брокере у каждой переменной есть флаг, говорящий о том что это — команда или состояние.
Хм, очень похоже на openhab, каждая переменная биндится на две ветки — одну для состояния, вторая — для отправки команд.
Может тебе так же сделать — у каждой переменной атрибут для биндинга на mqtt ветку.
Если переменная состояние — она подписывается на эту ветку: home/lamp_A/0, если команда — шлет в home/lamp_A/0/set
>>>можно было поставить галочку в настройках, что писать только через set
Это топорно в лоб, пользователь может не использовать set, вариант как выше описал более гибкий ИМХО.instalator
23.07.2016 19:13если устройство выполнило команду то можно отослать подтверждение и не нужно плодить кучу топиков.
Nizametdinov
23.07.2016 19:26Не понял — куда отослать? В какой топик?
Если делать единый топик для подтверждений — то будет помойка и что бы ее разобрать будет огромный switch case, то есть та же "куча топиков", только в другой обертке.
Сейчас любое устройство, подписавшееся на home/lamp_A/0 будет реагировать на ИЗМЕНЕНИЕ состояния объекта, а не пожелания Мастера, которые еще не факт что исполнятся.Bluefox
23.07.2016 19:33На самом деле происходит так:
- Клиент шлёт команду "on" =>
- mqtt брокер в ioBroker шлёт команду лампе "on" и рассылает всем другим клиентам "лампа" = "on" =>
- Внутреннее состояние переменной "лампа" меняется на "on/command", =>
- потом лампа шлёт подтверждение =>
- Внутреннее состояние переменной "лампа" меняется на "on/state", =>
- mqtt брокер в ioBroker отсылает всем клиентам по тому же топику "лампа" = "on".
Проблема только в том, что другие клиенты не знают какой из двух полученных "on" команда, а какой состояние.
С решением "лампа" и "лампа/set" последовательность будет выглядеть так:
- Клиент шлёт команду "on" =>
- mqtt брокер в ioBroker шлёт команду лампе "on" и рассылает всем другим клиентам, что "лампа/set" = "on" =>
- Внутреннее состояние переменной "лампа" меняется на "on/command", =>
- потом лампа шлёт подтверждение =>
- Внутреннее состояние переменной "лампа" меняется на "on/state", =>
- mqtt брокер в ioBroker отсылает всем клиентам по тому же топику "лампа" = "on".
И все довольны :)
Nizametdinov
23.07.2016 19:58>>>Проблема только в том, что другие клиенты не знают какой из двух полученных "on" команда, а какой состояние.
Вопрос — может ли у тебя Лампа внутри себя обработать команду на включение (например по кнопке), и только проинформировать Мастера?
Так понимаю — нет, по твоей логике Мастер воспримет сейчас любую запись в ветку home/lamp_A/0 как команду на включение.
Nizametdinov
23.07.2016 20:21Еще одну фигню не понимаю, если у тебя сейчас один топик и на команды и на подтверждение то как это работает? почему в цикле не умирает?
Если мастер подписан на home/lamp_A/0 и шлет в нее сообщение 1, то он через мсек в обратк получит от MQTT брокера сообщение — в топике home/lamp_A/0 новое сообщение и получит свое же "1".
Так как у тебя не падает — тут стопудова какой то костыль, ты похоже не шлешь Мастеру сообщения с топика home/lamp_A/0, если он сам туда его отправил. Москито точно шлет в обратку, ему пофиг кто отправил — все подписанты должны получить и это правильно, я ведь могу использовать MQTT как внутреннюю шину (один модуль отправил, другой считал)Bluefox
23.07.2016 20:39Ты правильно догадался, что клиент не получает собственного сообщения.
А зачем?
MQTT брокер не является сердцем ioBroker и в ioBroker своя шина (socket.io или redis).
Но даже если клиент получит своё сообщение обратно, зачем клиенту отсылать это снова к брокеру?
Nizametdinov
23.07.2016 21:04А зачем?
Так устроен стандарт MQTT. Теперь понятно почему народ пишет, что с левыми MQTT брокерами ioBrocker не дружит.
Ребята — такой костыль надо писать красным жирным текстом в описании mqtt брокера, для вас это нормально, но весь остальной мир(после Москито и HiveMQ) будет долго понимать почему не работает.
Но даже если клиент получит своё сообщение обратно, зачем клиенту отсылать это снова к брокеру?
Потому что клиент MQTT — лампа (у тебя на рисунке redis замени на mqtt). Она обработает сообщение, включит свет и вернет состояние в ту же ветку по текущей твоей логике ioBrocker.
У тебя по архитектуре — выключи ioBrocker и все встанет, у меня — пока жив москито — все будет включаться\выключаться, только сложные скрипты Openhab сдохнут.
Поэтому бестпрактис — разделять топики на командный и состояния — так работает с любым MQTT брокером и появляется гибкость работы без Openhab\ioBrocker\ т.д.
Вообще меня три уровня логики:
1) рефлексы — то что закодено в контролере, например включение лампы от кнопки. Это будет работать при погашенном mqtt и openhab
2) связи — это подписки на set топики, таким образом команды могут прилетать между устройствами без работы "высшего разума"
3) мозги — openhab, дает историю, веб морду, мобильного клиента, сложные скрипты учитывающие состояние нескольких датчиков.
Так что и при сдохшем MQTT свет включу :), так ИМХО надежнее и правильнее. Думал что у всех так, хоть статью пиши.Bluefox
23.07.2016 22:43Да не буду я лампу по MQTT подключать. Обычно тут всё, кроме MQTT: serial, xml-rpc/tcp, wireless 433Mhz, modbus, opc,…; но только не mqtt.
В том и удобство ioBroker, что он самодостаточен. Не надо mosquitto или баз данных. Базы данных можно опционально подключить.
Мир не состоит только из MQTT устройств (которые тоже прекрасно подключаются).
Кстати можешь назвать готовые MQTT устройства? Розетку например? Давно ищу.
У меня тоже 3 уровня логики:
- локально на устройстве я могу нажать кнопку (открыть жалюзи или включить свет)
- устройства соединены между собой (например беспроводная кнопка соединена с выключателем по своему протоколу).
- ну и ioBroker для лога и графиков, скриптов, визуализации и высшего разума :)
И что ты привязался к этому москито. Я уже давно код написал, а ты всё костыль, костыль… :)
Nizametdinov
23.07.2016 22:50Кстати можешь назвать готовые MQTT устройства? Розетку например? Давно ищу.
На esp8266 смотри, например https://www.itead.cc/smart-socket-eu.html
Bluefox
24.07.2016 00:09https://github.com/ioBroker/ioBroker.mqtt#changelog
1.1.0 (2016-07-23)
add new setting: Use different topic names for set and get
lingvo
26.07.2016 11:14MQTT вполне может быть сердцем домашней автоматизации. Лично я стараюсь все привести к нему. Это удобно:
— удобная отладка: подписавшись на все топики в MQTT вы полностью видите обмен между устройствами во всех направлениях и можете легко проследить какие команды были получены и какие статусы обновлены. У меня такой подписчик пишет все принятые сообщения в файл вместе с временными штампами и потом этот файл можно спокойно открыть в екселе и отфильтровать нужные топики для анализа. Я даже event log OpenHABа просматриваю таким образом, так как MQTT в этом случае его просто копирует.
— удобное подключение своих девайсов: У меня из готовых MQTT устройств к стене прибит андроидный планшет с кастомным GUI для отображения погоды и управления освещением, диммерами и жалюзями в комнате. Там крутится бесплатная аппликуха с MQTT интерфейсом.Jaromir
26.07.2016 15:38> Лично я стараюсь все привести к нему
Ключевой момент в том, что вы приводите по-своему. Другой разработчик сделает иначе (другой формат данных, другая иерархия в топиков и т. д.) Так что MQTT в своем изначальном виде для домашней автоматизации малопригоден.
А вот если обвешать его допольнительными спеками и заставить всех эти спеки соблюдать — то тогда вполне. По крайней мере для малых проектов. Для распределенных, в которых много брокеров соединены в бриджи, между ними будет гоняться слишком много лишнего трафика
Bluefox
26.07.2016 16:34MQTT, как я уже писал в статье, не обладает встроенным интерфейсом для считывания и записи конфигурации.
Да можно создать топики, которые отвечают за параметрирование устройства, но это будет работать только у тебя дома. И только ну с максимум ста устройствами. А потом ты просто запутаешься в салате топиков.
Edit: Не обновил страницу и написал тоже самое, что предыдущий комментатор.
lingvo
26.07.2016 18:42+1Встроенными интерфейсами считывания и записи конфигурации, насколько я помню, обладают EtherCAT, IEC61850, да OPC-UA. Да вот только для связи устройств УД они будут тяжеловаты.
Под сердцем УД я имел ввиду то, что MQTT может заменить все простые популярные сегодня протоколы обмена данными между контроллером и удаленными узлами, подключенными через интернет, например, Modbus TCP — лично для меня MQTT заменяет его полностью и предлагает намного более продвинутые возможности: отсутствие необходимости поллинга, отсутствие привязки к адресам и необходимости их конфигурации, аутентификация, возможность работы в сетях с большой латентностью и фаерволами, передача любых типов переменных и даже файлов.
Поэтому я и отказываюсь от других протоколов обмена данными в сторону негою
h45242
26.07.2016 21:54>Да не буду я лампу по MQTT подключать
а я буду, ибо контроллер должен уметь все вменяемые протоколы.
а девай должен уметь популярный протокол.Bluefox
26.07.2016 23:12А кто сказал, что ioBroker не умеет MQTT?
Вот только я видел всего одно семейство MQTT устройств, которые к тому же надо перепрошивать.
А вот других протоколов я видел ГОРАЗДО больше.
Varkus
23.07.2016 17:14прекратил читать на «вся автоматизация происходит на JavaScript».
— жрёт память как каннибал
— понятие «тайминг» оооочень растяжимое
— «упадёт» от «чиха» и узнаешь об этом, когда уже котел в подвале взорвался
— много, очень много претензий к JavaScript.
Вероятно я не прав, мнение субъективно, но оно таково.
Если есть желание и возможность его оспорить — пожалуйста, я всегда готов услышать адекватное мнение.Bluefox
23.07.2016 17:27Это палка о двух концах. И всё зависит, от того, что автоматизируется. Для чего-то и 2Х H-CPU за 80к евро не достаточно, а где то и ардуино достаточно.
Насчёт realtime: зачем мне дома это? А так на обычной Windows тоже нет realtime. Ну включится лампа на 100 мс позже. И что?
Память это действительно ахилесова пята. Но слава прогрессу, мини компьютеров уже достаточно с 2мя Gb и как раз на них ioBroker показывает отличную стабильность.
Но зато, как положительная черта у JS имеется огромная гибкость и разнообразие готовых модулей.lingvo
25.07.2016 12:04На самом деле время отклика очень важно для домашнего управления, светом например. Задержка 100-200мс уже заметно. А когда клацаешь выключателем, а свет только через секунду загорается — вообще неудобство.
Проблема всех этих систем типа OpenHAB и IO Broker — они написаны часто людьми, которые не понимают, как писать реалтайм приложения. Например могут запросто вызвать какую-нибудь функцию динамического выделения памяти в драйвере. И в итоге 20 раз все нормально, а на 21-ый приехали — ОС решила, что надо что-то подчистить и задержала выделение памяти на 300мс. Такие вещи — зло для таймингов.Bluefox
25.07.2016 15:27На самом деле время отклика очень важно для домашнего управления
99% отклика не дольше 50мс, если железо не тормозное.
Проблема всех этих систем типа OpenHAB и IO Broker — они написаны часто людьми, которые не понимают, как писать реалтайм приложения
У меня за плечами VxWorks (эта, та что в марсаходах), Win RTX (это Real Time eXtensions for Windows — применяется например в Software PLC), и просто разработка на микроконтроллерах — например MSP 430 или ATmega.
И я прекрасно знаю, где надо усердствовать до конца, что бы контейнер с крана тебе на голову не упал или руку не отрезало, а где 99% достаточно.
Ты, надеюсь, не собираешься станок с чпу на OpenHAB автоматизировать?lingvo
25.07.2016 16:29Нет, но например, в случае с электрожалюзями угол ламелей регулируется путем включения мотора открытия/закрытия в обратном направлении. Лично у меня угол меняется на 180° за 1,5с работы мотора. Поэтому важно, чтобы контроллер УД выдавал команды с определенным интервалом, а не +-2 секунды.
Varkus
25.07.2016 18:53а вот здесь напрашивается костылеще из атмел(пик) или ардуинки для «реалтайм-драйвера» жалюзей, а брокер уже общается с этим «драйвером» :)
lingvo
26.07.2016 11:33«Костыли» можно было бы исправить путем переписки драйвера нормальным программистом, так как в платных системах УД такого эффекта нет при тех же интерфейсах — значит там более грамотно подощли к вопросу.
Bluefox
26.07.2016 16:53Я писал подобные системы.
Ничего ты не сможешь сделать, если сетка перегружена, эфир замусорен, источник питания слишком слаб или просто "хардварный" баг в чипе (было действительно, что marvell switch чип портил примерно каждый миллионный пакет).
И может случиться, что дверь склада весом в тонну раз в 100 закрытий со всей дури будет въезжать в стену, только потому, что какое нибудь устройство в той же самой сетке в это время с ошибочным приоритетом решит обновится по сети.
У каждого устройства возникают задержки с той или иной вероятностью!
Какая вероятность на отказ или задержку у твоих "платных систем УД"?
Дело улучшают тысячи часов тестов и такая же тысяча костылей.
Или ты полагаешь, что в "платных системах УД" нет костылей? :)Varkus
28.07.2016 03:53+1согласен на 100%, в платных системах костыли загоняются в бинарник, обфусцируются и преподносятся как плоды тяжелого труда, а потому с закрытыми лицензиями :(
По моему субъективному мнению ОС и Real-time не совместимы, разве что RTOS.
И в конечном счёте всё упирается в приоритеты прерываний даже на микроконтроллерах.
И фаталити: не бывает 100% универсальных решений.
И в заключение:
я очень рад, что существуют проекты подобные Вашему.
Очень сожалею, что Вам приходится «выхватывать» столько минусов, но это хабр:
в этой песочнице сегодня ты царь горы, а завтра машинкой по спине выхватываешь :)
Больше чем уверен, что однажды мне понадобятся спеки протокола от какой-нибудь железки, а рабочий код будет только в Ваших open-драйверах.
OpenSource is future.
Chervon
23.07.2016 22:28Много рекламы, что подключить к ioBroker можно всё, а в первой части статьи автор говорит что ему(автору) много не нужно для семьи и автор сам не определился, что можно сделать с этим всем.
Это как, есть конструктор из которого могу собрать всё, но мне мало что нужно!
В наше время, идей и железок для «Умного дома» полно, а пользуются этим не многие. Интернет вещей как грязи, а подходит это всё не всем и не важно на каких протоколах это всё соединяется.
Хотелось бы понять мнение автора, что же реально нужно...? а потом принимать решение и делать вывод ioBroker подходит для этого или не очень.Bluefox
23.07.2016 22:53Мне нужно что то одно, моему соседу второе, а гику третье. И это есть в ioBroker и первое (например управление с планшета в коридоре) и второе (иногда управление с телефона) и третье (управление голосом).
Мне нужны скрипты, не знающему JS — blockly, а кто то и сценами обойдётся.
ioBroker это конструктор на котором можно много что сделать.
Это же нормально, что: вот есть язык программирования и на нём можно писать что угодно и тот, кто этот язык написал, не знает — будет ли язык применяться для клепания серверов или для распознавания картинок. Задача языка подключить интерфейсы (сеть, диск, шифрование, ...), предоставить инструменты (array, sort, for), а вот задача пользователя сваять что нибудь на этом языке.
И это должен решать ты, что ты будешь ваять.
h45242
24.07.2016 11:47ставится на любую версию node? с любой версией npm?
можно сходу инструкцию нагуглить по установке?
права 777 уже не нужны?
графики работают из коробки?
Bluefox
24.07.2016 11:53Node: желательно 4.x.
Npm: желательно 2.x
Права: если человек разбирается в правах, то можно запустить и с меньшими правами. Просто основная часть пользователей падает в обморок при надписи доступ запрещён и проще сказать: используйте 777
Графики работают из коробки. Вот только если нужно сохранять большое количество данных, то SQLite и JSON драйвера слабоваты. На этом месте нужно установить нормальную базу: MySQL, MS-SQL, PostgreSQL или InfluxDB. Они тоже подключаются в 3 клика.
можно сходу инструкцию нагуглить по установке?
http://www.iobroker.net/?page_id=2630&lang=ruh45242
24.07.2016 12:29не работают графики из коробки. тема у вас на форуме уж месяца два висит.
на счет прав — система должна их выставит, а не пользователь.
вот только чтобы взлетело пришлось нагуглить http://forum.iobroker.net/viewtopic.php?f=17&t=2526&p=22655#p22467
и да, mqtt уже соответствует rfc?Bluefox
24.07.2016 16:35не работают графики из коробки.
Может у нас разные понятия термина "из коробки". Или я что то пропустил. Можешь линк прислать?
и да, mqtt уже соответствует rfc?
Я так понимаю, что речь идёт о LWT?
Мне везде приходится расставлять приоритеты. Эта функция не имеет для меня высшего приоритета. При 90 драйверах приходится это делать. Какое это имеет практическое применение (substitute values) в домашней автоматизации?h45242
26.07.2016 21:49из коробки — это поставил и заработало.
http://forum.iobroker.net/viewtopic.php?f=27&t=2889
про mqtt ответили выше.Bluefox
26.07.2016 23:13Это так что ли?
http://majordomo.smartliving.ru/forum/viewtopic.php?t=1652h45242
27.07.2016 14:18вы опять ссылку на установку/настройку операционки даете?
Bluefox
27.07.2016 17:20Ну от вас, я так и не увидел ссылки на linux.
Вот минимальная последовательность для установки (с учётом, что Apahce, PHP, MySQL, wget, phpmyadmin уже установлены и настроены):
mkdir /home/majordomo cd /home/majordomo wget http://majordomo.smartliving.ru/download/_majordomo_linux_100b.tar.gz tar xvfz _majordomo_linux_100b.tar.gz sudo cp -rp /home/majordomo/html/* /var/www sudo cp -rp /home/majordomo/html/.htaccess /var/www sudo chmod -R 777 /var/www
Потом:
Заходим по адресу http://majordomo_IP/phpmyadmin (http://localhost/phpmyadmin4) Создаем базу данных db_terminal и импортируем в нее db_terminal из папки с дистрибутивом. Создаем пользователя и даем ему права на базу данных.
sudo nano /var/www/config.php
Запуск основного цикла
crontab -e -u majordomo
добавляем строки
@reboot /usr/bin/php /var/www/cycle.php
Все, теперь вы можете зайти на веб интерфейс Majordomo
http://majordomo_IP/ (http://localhost/)
Взято с офф сайта: http://majordomo.smartliving.ru/Main/SetupLinux
Ну если я не прав, то покажите же наконец, как ставить MJD из коробки...
h45242
28.07.2016 18:39вот мне интересно как из моего утверждения о нерабочих графиках вышло так, что я должен дать ссылку на linux.
stDistarik
24.07.2016 16:36А где инструкция по применению?
Bluefox
24.07.2016 16:37Даже на русском: http://www.iobroker.net/?page_id=4268&lang=ru
stDistarik
24.07.2016 18:47Там вроде как установка, а где инструкция по тому, что делать дальше? Я установил на обычный комп (debian) дойдя до этого:
>После перезагрузки в браузере наберем адрес: http://localhost:8081
>Вы должны будете увидеть окно приветствия.
Зашёл по адресу, увидел картинку, а что делать дальше? У меня есть ардуина, как её подключить и помигать светиком?Saenco
24.07.2016 21:14Может помогу советом, так как у меня опыт работы аж пол часа(может чуть больше).
Поставил систему на Raspberry Pi 1 model B (http://www.iobroker.net/?page_id=3489&lang=ru)
Далее поставил MQTT брокер (http://www.iobroker.net/?page_id=4643&lang=ru)
Взял esp8266 + bme180 (датчик температуры + барометр), написал небольшую программку, которая отправляет данные на Raspberry
Линк на либу и пример (https://github.com/knolleary/pubsubclient)
Сейчас хочу прикрутить график по этой инструкции (http://www.iobroker.net/?page_id=4034&lang=ru)
Как-то так.
Буду рад, если смогу чем то помочь.stDistarik
24.07.2016 22:17Дык как ардуину то припакать к это системе?
Bluefox
24.07.2016 22:36Зайдите на форум. Там уже есть такой топик:
http://forum.iobroker.net/viewtopic.php?f=16&t=714
Jaromir
24.07.2016 23:33+1> Хотя протокол взаимодействия от google Weave кажется наиболее продуманным
Похоже этот протокол будет сильно завязан на платформу Brillo от гугл. Если это так, то «общим знаменателем» для всех новых и существующих технологий и протоколов ему не быть. Ведь кто-то захочет сервер на OpenWrt, кто-то на Windows-десктопе…
> Каждый из производителей при этом, обязательно изобретает свой велосипед протоколов взаимодействия и никто не хочет уступать другому.
А вы не смотрели на полностью открытые Alljoyn и IoTivity?
Alljoyn это линуксовый dbus, расширенный для работы в распределенных системах. А IoTivity ближе к REST-сервисам. Оба поддерживают «PlugAndPlay» устройств, рефлексию API, стандартные профили (свет, кондиционеры, етц) и всё-всё чтобы носить звание протокола IoT (в отличие от MQTT, который больше паттерн pub/sub для сырых данных)
Судя по последним новостям эти группы собираются объединить свои усилия в пользу IoTivityBluefox
25.07.2016 10:28Интересная наводка. Спасибо.
Протокол ещё новый (они тоже начали в летом 2014) и я не знал о нём. Ну будет ещё один драйвер. :)
Похоже этот протокол будет сильно завязан на платформу Brillo от гугл
У меня тоже такие подозрения.
Alljoyn это Qualcomm и они уже с 2011 года. Как только будут появляться приборы, надо будет подключить.
Вот ещё один "для-всего-протокол": http://www.lemonbeat.com/
Обязательно почитаю о IoTivity. Ещё раз спасибо.
Jaromir
25.07.2016 12:09Незачто. Lemonbeat впервые слышу. Ознакомлюсь.
Подскажите, а как вы делаете сишные биндинги (всяких modbus и прочего) к ноде? Не вызывает ли этот процесс затруднений? Я в свое время отказался от ноды, осознав что придется использовать C++ и V8 API. Перешел на чистый libuv и lua. Может зряBluefox
25.07.2016 15:48На линуксе не возникает никаких проблем. Там только надо написать "sudo apt-get install build-essential".
А вот с windows приходится включать бинарники в пакет.
Причём для x64/x86 и для ходовых версий ноды.
И я не делаю сам "сишные биндинги", хотя отлично знаю C/C++ (точнее "отлично" знал. Сейчас просто "знаю"), а использую готовые.
OPC, Modbus — написаны на чистом JS, а вот для S7, serial port нужны C++.
LEKAPb
25.07.2016 08:50«Я таким образом реализовал подключение OPC UA» — а какое именно устройство подключали по OPC UA? Вроде OPC UA больше для АСУ подходит чем для домашнего использования.
Bluefox
25.07.2016 10:17Есть идея реализовать визуализацию для пром. применения. Проверял работоспособность. При 100000 переменных и секундном обновлении начинает тормозить.
А OPC просто проверял (так сказать proof of concept). Там ещё клиента писать надо. Пока только сервер.
lingvo
25.07.2016 13:01С помощью OPC UA можно легко привязать какой-нибуль ПЛК к IOBroker — даже тот же Codesys на Распберри. А это уже хороший вариант написания правил и сценариев на одном из языков IEC 61131-3, отладка в реальном времени и хоть какой-никакой риалтайм. Правда софт автора статьи все равно этот риалтайм убивает.
Bluefox
25.07.2016 15:56Ну я, вообще-то, тестировал с Simatic WinCC.
ioBroker не ПЛК. И его нельзя применять для realtime. Он не для этого.
Для realtime надо бы хотя бы SIL 2. Ну или хотя бы с соблюдением норм SIL 1.
techmike
25.07.2016 12:13Еще есть «олдскульный» OpenScada, пытаюсь его «пощупать» но пока без результатно. Хорошо в нем. что есть живой форум и разработчик, но новичку помогают неохотно. Пока мне событийность нужно, а не графика на планшете.
stilet69
25.07.2016 17:36Минус в вашей системе в том, что действительно непонятно что делать с установленной системой. Быстрый старт + How To.
Я вот установил вместо OpenHAB, подключил Мегу с датчиками температуры и влажности, но а дальше то что? На сайте нет каких то значимых примеров, как и куда двигаться дальше. Описание взаимосвязей системы и пр… Есть отрывочное описание разных драйверов, но как это может помочь.Bluefox
26.07.2016 00:36Пишут уже :) Москва не сразу строилась.
На всё нужны люди. А пока можно зайти на форум или присоединится к группе в телеграмм.
stDistarik
26.07.2016 03:22+1Дайте конкретную ссылку на то, где можно прочесть о подключении ардуны к Вашей системе или напишите сами. Не надо посылать «туда не знаю куда», это неприлично.
Bluefox
…
JohnnySmart
Что ж вы так нервничаете-то… И что вас в openhab ужасает?
Bluefox
Тем, что все настройки там в конфиг-файлах и скриптах.