РЕКЛАМА НА ФОРУМХАУС Спойлер: Сорри, внизу будет много слов. А я использую. Потому что по опыту могу отделить зерна от плевел. ПЛК - это аппаратно-программная платформа и ее надежность зависит от надежности железа и софта, который на этом железе крутится. То же самое и в случае с OH. OH - это всего лишь софт, который может крутиться на разном железе, начиная от простых железок типа RPi или домашнего десктопа и заканчивая промышленными серверами. Поэтому следует сразу разделить железо и софт и рассматривать их по отдельности. По поводу железа все очень просто - ПЛК отличается от обычного компьютера тем, что соответствует более строгим требованиям по ЭМС, климатике и безопасности. Т. е. устойчивый к вибрации, температурам, влажности, статическому электричеству и еще десятку воздействий, задаваемых стандартами ИЕК 61000. Но кто сказал, что обычный компьютер не может соответствовать этим требованиям тоже? Да пожалуйста - десятки фирм выпускают такие компьютеры в корпусах на дин рейку без вентиляторов для промышленных применений. И стоят они, в отличии от ПЛК, не так дорого. Ну и применяются десятками лет в промышленности также - в качестве серверов и HMI. Мало того, тот же RPi в домашних условиях благодаря отсутствию движущихся частей и низкой потребляемой мощности прекрасно работает 24/7 в качестве сервера годами. И это реальные отзывы. То есть с этим разобрались. Теперь по софту. На ПЛК стоит операционная система реального времени (RTOS) + рантайм типа Codesys или TwinCAT. Да, понятно, что Codesys и Twincat написаны программистами, которые в курсе, что такое реал-тайм, и поэтому вероятность сбоя такого софта достаточно маленькая. Но с другой стороны RTOS - это не сахар в программировании. Для более быстрых вычислений там выкинули достаточно важные вещи, типа защиты памяти для разных процессов или фаерволы для сетевых интерфейсов. Т. е. простыми словами хакеру взломать ПЛК - раз плюнуть. Или юзеру убить систему экспериментами с софтом тоже. Лично я знаю, что в ПЛК Beckhof в качестве ОС стоит обычная Windows. Что имеем с OH - операционку Linux + софт, написаный на Java. Смотрим на Linux - весьма юзабельный и надежный софт для серверов. Да не реал-тайм, хотя есть и такие версии, но тем не менее в применимости и надежности его в ответственных применениях я не сомневаюсь. Плюс линукса - защита памяти и файерволы, т. е. теоретически такая система более надежна в защите от неправильных программ и хакеров. Ну и получается, что в сухом остатке имеем надежность собственно самого OH. И тут первый вопрос - ну написан он на Джаве, но много разного софта написано на ней. Основной вопрос часто ли падает OH? У меня - ни разу. У других, у кого ручки не кривые при настройке, тоже. Те кто не использует бета релизы - тоже. Можно подождать, конечно, пока наберется статистика. Но есть два нюанса. Первый - OH - опен-соурс. Если у кого-то он упадет, это поднимется на форуме и вопрос будет решен в том числе и для вас очень быстро. Т. е большая вероятность, что баги будут вылизаны до того, как вы их встретите. Второй - в отличии от ПЛК, где софт идет в комплекте, OH не исключителен. Не устраивает OH, в том числе по надежности - есть два десятка других аналогичных софтов для домашней автоматизации. Как результат: OH можно запустить на домашнем, еле дышащем шумящем десктопе с ломаной Windows, парой вирусов и глючащим драйвером сетевой карты. Потом поставить этот компьютер в холодный сарай и всем кричать, что система на Джаве не может быть надежной. Только в этом будет очень мало вины OpenHAB и даже Джавы.
@lingvo, Спустя 3 года эксплуатации я сменил свое мнение относительно надобности переходить на ПЛК 3-ей серии под управлением Linux. В ПЛК 110 нет операционной системы как таковой. И ломать там нечего. Тем более, что выставлять его в интернет не было причин. Я не противник OH. Выбор мой в его пользу как раз и основывался, что это opensource проект, а значит будет развиваться и поддерживаться. Но пока программирование/отладка в OH очень сильно проигрывает по сравнению с Codesys. Ну или я пока не научился отлаживать. В Codesys можно просто пошагово выполнить всю программу и тем самым вычислить ошибки. В OH я не нашел такого средства. И что бы прекратить этот спор - я использую OH и мне он нравится Отказываться от него не планирую. Но для себя решил, что управление жизненно важными ресурсами в доме ему не доверю пока. На ПЛК меня все устраивает.
Надеюсь, что не слишком запутаю Вас, но я не использую OH для программирования/отладки управляющих алгоритмов, так как мне он тоже в этом плане не нравится. Вместо этого я использую Node-RED для этих целей, который намного проще Codesys. В нем с отладкой все в порядке. Но там основное отличие - он работает на основе событийной модели, а не циклов, как в Codesys, что я выше пытался объяснить. В хорошем плане это сильно облегчает программирование действий - реакций на определенные события типа: сработал датчик движения - включи свет, выключи по таймеру. Или нажал выключатель - запусти сцену. Таких "правил" в доме полно. В плохом плане это усложняет создание "а-ля реалтайм" алгоритмов. Например тупой алгоритм термостата работает на основе периодической генерации события часами каждую минуту, которое уже запускает компараторы и прочие вещи. А иначе ничего никогда не сработает.
Хорошая дискуссия Не будем вдаваться в детали, что событийно-ориентированная большинства систем высокого уровня ничего общего с реальными событиями не имеет, в большинстве случае эмуляция событий путем опроса чего-то по таймеру. Но вот ПЛК-110 отлаженное решение с возможностью расширения по i/o каналам. Что имеем с малиной - конструктор. Я не против малины, у меня уже полгода на столе стоит новый зонт с малиной внутри. Уже один раз съездил в НН на перепрограммирование сопроцессора. С программой тоже не все просто - но движутся. А теперь я представляю все тоже самое, но с каким-то китайским расширением по i/o для малины. Да это в доме будет просто праздник, правда скорее всего без света и тепла. А добавочный ценник плк в дополнение к простым модулям 5-6 тыр. Стоит это потенциального гемора - не уверен. Еще хотел спросить - @lingvo, а почему Вы не стали биндить империхоум с ОН? вроде поинтереснее будет.
Z-wave - это не китайское расширение. KNX-IP шлюз тоже. RS485 конвертеры тоже используются в промышленности и не обязательно их брать на Али.
Тут, наверное, на вкус и цвет...Я еще iRidium Mobile пробовал. Выбор GUI достаточно большой, так что каждый может выбрать что ему нравится. В моем случае я поставил пару требований к такому софту: - только MQTT в качестве протокола обмена панели с автоматизацией, чтобы не менять софт на планшете, если я захочу слезть с OH. REST API мне не понравился. - панель в виде не Dashboard, а чтобы можно было сделать полностью по своему. - ну и халявность желательна.
я пробовал веру эдж+imperihome pro. Все весьма замечательно. Очень удобная программа и простая в настройке, использовании. По количеству скачиваний больше родной ОН. Вчера в гугле посмотрел, что с ОН тоже юзают.
OH имеет множество коннекторов (bindings). Это его основное преимущество и в то же время недостаток Багов много можно насобирать объединяя в один проект различные подходы. А по поводу визуализации я пришел к выводу, что в 99,99% случаев это вовсе не требуется. Только при возникновении каких-то ошибок или аварий нужно. Поэтому чем проще интерфейс визуализации - тем удобнее. Все же не термоядерным реактором управляем. Сейчас большинство аварий перевел на звуковые (синтезированные) сообщения и потребность в визуализации еще меньше стала. Хотя, что бы показать гостям какой крутой "умный" дом - визуализация нужна
@kam711, вставлю 5 копеек... В свое время тоже пытался выбрать среду визуализации- у меня архитектура подобная @Smith2007 - логика на ПЛК, визуализация на малине. Сначала пытался освоить ОН, но так и не осилил. В итоге перешел на iobroker, где был готовый драйвер SNAP для моего ПЛК (s7-1200), где можно рисовать интерфейс под себя...
Добрый день. Обсуждаете очень интересные темы, несколько дней назад начал заниматься проектом на openHab и пока не могу разобраться вроде в элементарных вещах, так как подробную документацию по rules так и не нашёл. Есть куча примеров, но в них нет того что мне нужно. Например есть глобальная переменная массив интов, но как с ним работать не могу понять. пишу a = 1 в итоге массив заполнен нулями. Подскажите как правильно с ними работать, объявлять, очищать. И где можно увидеть подробную документацию? Спасибо
А можно немного подробнее о более подходящей среде? У меня всё общение с устройствами основано на mqtt, в openhab описал все items, управляю ими средствами rules и с интерфейса habpanel
Node-RED Я написал вводную статью, как там можно создавать и отлаживать различные сценарии домашней автоматизации вкупе с интеграцией в OH. Он очень легко привязывается к OpenHAB через MQTT Event-bus Binding - т. е. один раз прописали настройки в openhab. cfg и тогда в items ничего MQTT-специфичного прописывать не надо. У меня уже куча сценариев на Node-RED реализована: - Освещение по датчикам движения - как в статье выше - Гистерезисный термостат для теплых полов с расписанием на день/ночь - Управление электро-жалюзями c точным позиционированием - Управление рождественскими огнями на террасе и еще по мелочи.
@lingvo, спасибо, обязательно посмотрю. Если кто-то будет искать, разобрался со всем, это Xtend, вся дока здесь https://www.eclipse.org/xtend/documentation/203_xtend_expressions.html