Pull to refresh

Comments 88

Imho, добавьте возможность лёгкого подключения своих модулей-самоделок к вашей системе.
Простейшие варианты подключения девайсов к общей сети:
1. ARM based (практически любой роутер с USB — начиная от DIR-320; всякие RaspBerry, CubieBoard и аналогичные платы для гиков) девайс, к которому подключен шлюз или собственный контроллер умного дома, при этом подключение может быть как по RS-232 (точнее — USB=>TTL переходник), так можно подключить обычную ардуинку, имеющую выход во внутреннюю сеть (там уже дальше может быть что угодно — RS-485, 1-wire, беспроводные модули со своими протоколами).
Девайс довольно производителен, софт контроллера/шлюза к вашей платформе может крутиться на нём,… или даже вся платформа помещается целиком.

2. Собственный контроллер с тупым Ethernet/Wifi «переходником», который умеет UDP/SNMP, а, возможно, даже TCP/HTTP.

3. Какие-то стандартные протоколы подключения «умного дома» к сети.

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

Вот тогда будет бомба… ладно, будет очень узкоспециализированная бомбочка для гиков, но гики скажут множество «спасибо».
Лично я сейчас раздумываю над созданием своего собственного велосипеда со сбором информации (температура, влажность, давление, счётчики) и некоторым управлением (вентиляторы, лампочки)… в качестве шлюза в сеть будет плата с A20 на борту (CubieBoard).
И красивый удобный интерфейс, который можно запустить на недорогом планшете для управления всем этим делом будет очень кстати.
3. Какие-то стандартные протоколы подключения «умного дома» к сети.

Пока мы сосредоточились на этом.

Чтобы просто взял, потратил пару вечеров и написал свой контроллер.

Все на JS. Ну куда уж проще. :) У меня уходит 2 вечера на написание драйвера чего нибудь. Например, недавно интегрировал HomePilot. Следующим сделаю Harman/Kardon.
Я вижу с какими «половинчатыми» решениями живут энтузиасты автоматизации домов и хочу предложить законченное решение

Простите, но я с этим немного не согласен. Не знаю как объяснить даже. Вот Android это «половинчатое» решение? Вроде есть ОС и ей можно по разному пользоваться. Только пару программ установить, заточить немного под себя…
А Xiaomi его взяли и вынесли на новый уровень: купи с MiUi смартфон и сразу пользуйся. Хотя можно покопаться и будет удобнее… Законченное решение, это если ко мне в общагу придут крутые ребята в спецовках, установят сенсоры, розетки, выключатели и загрузят на все мои устройства программы по управлению, заодно заточив под мой распорядок жизни. Это будет законченное решение. Или вот 1С. Законченное решение?
Тысячи программеров по всей стране бьются над ней уже больше десятка лет в полный рабочий день без сна и отдыха, тратятся сотни и тысячи человеко-часов, куча бабла уходит и на покупку и на сопровождение. Но хоть у кого-нибудь работает все «из-коробки» без обработки напильником, терзания саппорта и ****** с настройкой?

Я не хочу уменьшить ваши заслуги: это круто и достойно уважения. Но пока нет полностью «законченных» решений в моём представлении, я буду упиваться фаном от разработки своей «половинчатости», но использовать её по полной, а не треть вашего решения.
Удачи вам! (А лучше успехов) Надеюсь, что когда-нибудь я решу использовать именно ваше решение (лёгкость внедерения перевесит фан от прогинга)
P.S. а жена то смирилась?
Я вижу с какими «половинчатыми» решениями живут энтузиасты автоматизации домов и хочу предложить законченное решение

Это конечно смелое заявление. :) Но я оставлю его, до тех пор пока не найду, что то лучшее за те же деньги. :)

Простите, но я с этим немного не согласен. Не знаю как объяснить даже. Вот Android это «половинчатое» решение? Вроде есть ОС и ей можно по разному пользоваться. Только пару программ установить, заточить немного под себя…

Android, на мой взгляд, законченное решение.
Я не хочу уменьшить ваши заслуги: это круто и достойно уважения. Но пока нет полностью «законченных» решений в моём представлении, я буду упиваться фаном от разработки своей «половинчатости», но использовать её по полной, а не треть вашего решения.
Удачи вам! (А лучше успехов) Надеюсь, что когда-нибудь я решу использовать именно ваше решение (лёгкость внедрения перевесит фан от прогинга)

Часто сам путь и является целью. Как и у многих из нас.
Я не сам разработал систему. Одному такое не осилить. Я подсел к другому и вместе мы смогли хоть что то сделать.

P.S. а жена то смирилась?

Я свёл всё взаимодействие жены и дома к минимуму. :) Самое главное, чтоб дверь по брелку открывалась. Что б локально можно было включить свет.
Я не присылаю ей десятки email в день с сообщениями (только если кто-то звонит в дверь) и так как расходы на систему прекратились, то и проблем больше нет.

Ну иногда, конечно происходят недопонимания. Последний раз был вопрос: почему батарея отопления в ванной не нагревается, хотя я кнопку рядом нажала?.. Все перепроверил и выяснил, что ТЭЦ отключила отопление (это в июле то). Виноват не дом, но, как говорится, а осадочек то остался. :)
А у меня сосед отказывается от пульта и упрямо использует выключатели, которые оставлены для экстренного отключения устройств (тупо отрубает электричество)
Это значит, система не очень продумана. Выключатели на стенках должны работать как обычно (в идеале должно быть возможно выключить прибор выключателем и включить с пульта и наоборот)
Ну Android возможно пример не очень удачный.
Я имел в виду, что я не могу взять «купить» Андроид и использовать его.
Мне нужны некие навыки, чтобы подогнать его под железо и всё такое…
А вот винда уже более «законченное» решение. Её можно поставить почти без навыков на большинство решений.
Ну что ж. Нет предела совершенству.
The Thing Sytsmes пошли дальше, они при установке софта сканируют дом и систему (dlna, MQTT) на наличие устройств и автоматически их интегрируют. И мы так сделаем. Но это ребята с полным рабочим днём, а я ещё и поспать иногда хочу. :)
Реально быстрее просто ткнуть в кнопку. Кроме того, в современном мире, где работа в основном сидячая, наоборот думаешь о том как бы выполнять больше действий. Сильно напомнило мультик «Нехочуха»
UFO just landed and posted this here
Я бы вот хотел, чтобы Ардуино мог «из коробки» общаться с мультиваркой, но дьявол кроется в деталях: мне нужно искать библиотеку для передатчика, библиотеку для протокола, внедрять в общий код, обновлять GUI.
Может у меня получится сделать мега крутую и удобную систему, но вот нарисовать красивый GUI я не в силах.
CCU.IO это такая штука, которая поможет вам работать со всеми датчиками/устройствами без лишней мороки и снабдит вас красивым интерфейсом. «Умность» (логику) вам предстоит программировать самому. Посмотрите пункт Script Engine.
UFO just landed and posted this here
Да насчет драйвера в 100 срок, это вы правы. Ошибки учтены и сейчас пишем обновление, но прежде чем что-то появится, пройдет пол-года.

Это сервер, который принимает подключения, от ограниченного набора датчиков, по заранее заготовленным параметрам, и как я понял, оно воспринимает только ON\OFF
Воспринимает любые данные. Строковые, логические, целочисленные и с плавающей запятой. Ну и если очень надо, то объекты и массивы, только вот элементы визуализации не умеют с ними (объектами и массивами) работать.

Я склоняюсь к тому, что каждый «умный дом» уникальный, и единое законченное решение сделать невозможно, кроме разве что примитивных датчиков света\температуры и замков.

Да согласен. Дом слишком индивидуален, что б принести домой коробочку и всё. Но облегчить работу можно.
Я не стал очередной раз описывать, что отопление, свет и жалюзи и у меня управляются автоматически, т.к. это описано в прошлой статье и сосредоточился на дейстиветельно новых вещах. Но уж если до того дошло, то перечислю:
— Жалюзи открываются в 6:45 по будним дням и в 8:30 по выходным, причем в детской в 9:30
— Закрываются, когда датчик освещения показывает вечер.
— Если температура на улице выше 30° и ещё не вечер. то закрыть жалюзи со стороны где солнце и открыть их вечером, когда жара спадет (после 19:00)
— Если ни кого нет дома, то сбросить отопление до 18° и обогревать, если кто зашел.
— Мониторить присутствие людей дома: по IP телефона, по датчику движения, по открытой входной двери.
— Сообщать голосом при уходе из дома (если нажата кнопка: «все ушли»), что окна не закрыты.
— Мониторить открытую дверь дольше, чем Х минут и присылать фото на почту при каждом открытии двери (Я могу позвонить соседям, что бы они закрыли)
— Вечером по датчику движения включать в коридоре свет на полную, а ночью только слабую подсветку.
— Выключать в 1:00 весь свет дома в комнатах, где нет движения (мы часто не выключаем свет вечером сами, зная, что он выключится)
— Присылать сообщения обо всех событиях (датчики окон и двери), если никого нет дома.
— При открытии окна в любой комнате дольше, чем на минуту, останавливается отопление в этой комнате и включается обратно при закрытии

Если это не умный дом, то что тогда это?

2) не увидел, ничего «умного». Видя датчики температуры в каждой комнате, поневоле вспоминается буханка хлеба и троллейбус.

А как ещё можно организовать отопление индивидуально в каждой комнате? У нас просчитывается сколько тепла зашло в квартиру и сколько ушло и за разницу температур я плачу деньги. Так что каждый ватт на счету.

3) исходя из второго, а как ваш CCU.IO решает проблему выключения кондиционера, если температура опустилась ниже 25 градусов, в окно светит солнце, а дома только жена? как по мне — это есть автоматизация, а не датчики и выключатели света

Если бы был кондиционер, то он бы управлялся через IR Lirc.

Больше интересна ваша аппаратная реализация, передачи данных, проводные, беспроводные. А алгоритмы и ГУЙ — это уже дело десятое.

Про аппаратную реализацию, я уже писал в прошлой статье довольно подробно.
Простите, но с подобными системами не доводилось сталкиваться, поэтому извините за возможно глупые вопросы. Стало интересно, как устроена архитектура связи с датчиками. Я так понимаю нода у вас выступает клиентом для некого софта `HomeMatic`. A `HomeMatic` — это соответственно вендорный софт для управления датчиками и чтением их параметров и нода общается с ним через `http` протокол. Я правильно понимаю? Или `HomeMatic` это микроконтроллер с датчиками и веб сервером для управления на борту. Как настраиваются/подключаются датчики к `HomeMatic`; он поддерживает только датчики определённого типа?
Подытожу вопрос: Как и какие датчики подключаются и каким образом они управляются из под nodejs? Спасибо.
HomeMatic это всего лишь исполнительная часть. Она может быть любая. Если действительно интересно почитать про HM то вот здесь:
habrahabr.ru/post/149716/
www.megasensor.com/gotovye-resheniya/avtomatizaciya-zdanij/sistema-umnyj-dom-HomeMatic

Но, как я уже писал, статья не о железной составляющей. Это слава богу уже не проблема. (Z-Wave, HomeMatic, KNX, NooLite, FS20, ...) решают эту проблему на ура.
Ага. Теперь понятно почему так много скриншотов с немецким языком.
Спасибо, понял, нода подключается к этой «исполнительной части» и запись/чтение производит по http транспорту. Пробежав код по диагонале, настоятельно рекомендую отрефакторить приложение. Используйте es6 — код станет чище. И с архитектурой немного беда, даже вот те же адаптеры — здесь можно действительно сам паттерн `Adapter` использовать, а не только само название. Работа с сокетом и вся другая техническая логика должна быть вынесена в базовый класс, скажем `Source` с однотипным интерфейсом. Дальше расширяем его на `CcuSource`, `HttpSource` и т.д. А потом уже адаптеры наследуются от нужного типа и реализуют абстрактные методы. В идеале gismeteo адаптер должен состоять лишь из определения каналов и метода который трансформирует полученные данные. И более того, хороший AdapterProvider следует парадигме `convention over configuration`.
А так отличный проект, на этом желаю вам успехов!
Отличный совет. Постараемся перенять по возможности. Спасибо.
Громадный респект за качественно проделанную гигантскую работу!
Очередной умный дом ради умного дома. Пока что для меня самый яркий пример одного из аттрибутов умного дома — термостатический смеситель. Были проблемы — долгая настройка температуры воды, возможность обжечься, нестабильная температура. Теперь их нет. Я просто высталяю температуру и моюсь. Но это, наверно, не IT и не модно. Модно было бы, наверно, выставлять температуру на iPhone, чтобы он через облако связывался с RaspberryPi, который, в свою очередь, посылал сигнал Arduino, который через сервопривод крутил бы кран.

Извините, просто больно смотреть на сегодняшний прогресс. Кажется, что в 200x году что-то пошло не так. Люди перестали решать задачи, и делают странные решения ради самих решений, а другие их воспевают.
В развитых странах (США, Европа) решения для умных домов есть уже более 30 лет и они работают, но цена на эти решения очень высока. Поэтому сейчас многие пытаются придумать свой велосипед, удобный и доступный всем и выйти на рынок, не у всех это конечно получается, но то что прогресс есть — это уже явный плюс.

Пример: Неделю назад я зашел в строительный магазин Касторама, кое что нужно было купить, случайно забрел в отдел сад-огород где продают разного рода поливалки, посмотрел, пощупал, цены конечно кусачие. Через пару дней дома щелкая теликом увидел фильм Бетховен (внимание! фильм снят в 1992 году, то есть 22 года назад) и там я увидел что газон поливает распылитель который у нас в России в продаже появился буквально лет 5 назад, я такой увидел в магазине только этим летом.
Вот теперь подумайте насколько мы отстали от запада. А что говорить про системы автоматизации дома, если бональный разбрызгиватель у нас на рынке появляется через 15 лет.

Мы в глубокой жо… е по поводу автоматизации домов и то что сейчас делаются попытки выйти из неё — это очень радует.
Я тоже думаю сейчас над конструкцией смесителя, хочу сделать его на ардуине. Вы свои наработки никуда не выкладывали?
Можно добавить еще несколько опенсорсных систем домашней автоматизации:

Freedomotic — новое опенсорсное программное обеспечение для автоматизации дома, распространяемое под лицензией GPL2, написанное на Java (что позволяет запускать его на Linux, Mac или Windows). Основная задача ПО — предоставить энтузиастам возможность самостоятельно создать систему умного дома, объединив самодельное оборудование или используя для этого готовые решения популярных архитектур. Также Freedomotic позволяет интегрировать умный дом с социальными сетями, интернет-сервисами и сторонними приложениями посредством развитого API.

Agocontrol — www.agocontrol.com/

Ninja Blocks — shop.ninjablocks.com/pages/open-source

Domoticz — www.domoticz.com/

Вроде все из них активно развиваются, так что выбор всегда есть и это хорошо!
Долго вспоминал, и наконец, утром вспомнил. Есть ещё The Thing System (http://thethingsystem.com/). Отлично подходит для автоматизации, но нет визуализации.
Добавил в статью. Спасибо.
Domoticz кстати на плюсах написан, а не на C#. И внутри там ужас.
MIT лицензия разьве предусматривает ограничения на комерческое использование?
Там есть части под CC NC BY. (Creative Common, Non commercial)
Респект автору, проект очень интересный! Но возник вопрос (возможно, по невнимательности): можно ли к системе подключать «нативные» драйверы (написанные на Си/С++ под хост-платформу)?
Из nodeJS можно вызывать любой бинарник и принимать выходные данные. Так например работает драйвер Ping. Либо же бинарник предоставляет TCP / IP интерфейс и тогда его без проблем можно подключить к системе.
У меня нет умного дома, я снимаю квартиру и часто переезжаю. Но про умный дом всякий раз задумываюсь. Есть ли реализации переносимых умных домов? Который можно за пол часа собрать в коробку, увезти в новую квартиру и за пол часа развернуть систему? Такой умный дом я бы хотел использовать.
Который можно за пол часа собрать в коробку, увезти в новую квартиру и за пол часа развернуть систему?


За пол часа можно разве что датчик температуры/влажности/задымленности/открытости-закрытости окон-дверей прикрутить. То есть то что легко лепиться на скотч и при этом не нужна отвертка. Все остальное же нуждается в установке с помощью как минимум отвертки, даже такая простая система управления светом как Ноолайт.

Но датчики бесполезны без конечных испольнительных устройств, а без них это уже не умный дом, а простой сбор информации. А что с этой информацией Вы будите делать — не понятно.
Понимайте «пол часа» в переносном смысле. Другими словами: оптимально быстро. Понятно, что функциональность такой системы будет ограничена, и все же, это лучше чем ничего.
Тогда набор датчиков, пультов и силовых блоков Ноолайт. Если все изначально настроено, то установить их можно достаточно быстро. Единственное что портебуется для установки силовых блоков — это установить их на люстру (под люстру), это делается тоже довольно быстро, у меня это занимает максимум 5 минут на 1 люстру.
У меня взгляд немножко субъективный, так как я много лет работаю в области промышленной автоматики и машинного зрения, но тем не менее. Вообще если разобраться, то «умный дом» — это просто классическая задача автоматизации. Есть набор датчиков (температура, влажность, ветер, контакты дверей и окон, свет, детекторы движения и т.д.), набор исполнительных механизмов (жалюзи, термостаты, освещение, и т.п.), шина, которая их все соединяет, контроллер, который всем этим управляет, ну и визуализация, конечно — СКАДА, иными словами. Степень «умности» дома у всех разная — кто-то просто ставит датчики температуры в каждой комнате и на андроид планшете это дело визуализирует и объявляет это «умным домом», кто-то идёт дальше. Полностью умный (в футуристическом смысле) дом, к сожалению построить не позволяет современное развитие технологий и инфраструктуры. Я имею ввиду дом, который сам вам приготовит завтрак (по выбору дома), уберёт посуду и закажет продукты, которые магическим образом переместятся в умный холодильник, постирает и погладит бельё, и т.д. — ну типа умного дома у шерифа в сериале «Эврика» Это дело далёкого будущего (но, надеюсь мои внуки или правнуки будут жить именно в таком).

Есть ещё один аспект — это стоимость. Это прежде всего бытовое использование и применение промышленных наработок тут будет неоправданным. ОК, у меня есть возможность получить на работе списанные ПЛК и модули, которые практически идеально подходят для автоматизации (хотя и не идеально для домашней). Сейчас у меня стоит GE Fanuc и СКАДА написана на LabVIEW, а коллега автоматизировал всё и вся на Сименсе, но стоимость одного такого контроллера приближается к стоимости хорошего автомобиля, что для дома неприемлемо (да и ПО для разработки отнюдь недешёвое). Отсюда рождается огромное количество решений на Ардуино или «малинках», которые делают то же самое, но стоят на порядок меньше.

Энергопотребление — тоже важный параметр. С ростом количества устройств растёт энергопотребление. В моём случае контроллер прожорлив сам по себе, плюс компьютер, на котором крутится скада, плюс камеры и т.д… — и в результате мне это удовольствие вылилось в 600 евро в год только по электричеству. Теперь дом поумнел и старается сам экономить, отключая устройства, которые ему не нужны, но в общем он потребляет больше чем экономит.

Ещё один аспект — это интеграция в существующий дом. Если все розетки, выключатели и т.п. уже проложены и сделана чистовая отделка, то не каждый начнёт штробить стены для прокладки новых кабелей — это имеет смысл делать на этапе строительства. Я вот давно хочу сделать автоматические жалюзи, но раздолбить полкомнаты, чтобы проложить силовые кабели к моторам пока руки не поднимаются. Мой коллега сделал умный дом при постройке — и у него ушло около восьми километров кабелей на всё про всё (он KNX использовал c Eisbär).

Резюмируя — пока что «умные дома» — это, как мне кажется, больше для гиков, которые что-то могут сделать сами с той или иной степенью «наколенности» и «умности». Об этом опять-же говорит явный перекос в сторону веб-технологий — там PHP, JS всякие и иже с ними — в промышленной автоматизации я себе такое даже представить не могу, так что в ближайшем будущем мы увидим ещё немало статей «как я включил свет с планшета».

Вообще как мне кажется (возможно я и ошибаюсь) — сейчас самое время мутить стартапы, которые будут автоматизировать дома для «богатеньтких буратино». Я вижу на рынке большое количество устройств для автоматизации, а вот интеграторов, делающих «под ключ» — что то не очень (тех, кто не только ПО предоставит, но и стены продолбит, и всё настроит, подключит и предоставит сервисное обслуживание).
так как я много лет работаю в области промышленной автоматики

Я из этой же области. И в данный момент просто упиваюсь возможность писать правила на Js, PHP и т.д. Не могу себе представить, что нужно использовать S7-300, пожирающую 50 Вт и SIMATIC.NET или TIA Portal или доисторический WinCC. И писать программы на AWL, SCL.
Именно область домашней автоматизации позволяет делать здесь допущения, что если что-то пойдет не так, то корабль или конвеер не встанет и 1000 людей не будут рассержено ждать у пропускного пункта, только из за того, что контроллер решил сделать перекур.
И в обратную сторону, я только в страшном сне могу представить управление газовой турбиной по arduino или на малине, пусть даже у нее больше производительность:)
Для каждой задачи свои инструменты.

Кстати, из за меня уже задерживали открытие аэропорта (система доставки чемоданов) и совсем недавно (слава богу, не только из-за меня) отложили на пол-года сдачу лайнера на 3000 человек. Ощущения не из приятных. Хоть там и S7-400 по 40килоевров пара и софта ещё на столько же, однако с пол пинка не завелось.
Так что да здравствует: 2 пользователя, JS и всего 100 устройств. :)
А я наоборот, хотел бы видеть, например имплементацию LAD для умного дома для наглядного использования блоков И-ИЛИ-НЕ и таймеров и т.д :)
Еще у меня вопрос насчет «быстродействия»: например, какая-то кнопка в системе может быть нажата быстро, либо датчик сработает (выдаст короткий импульс) слишком быстро, а опрос настроен, например, раз в секунду — можно и потерять нажатие!
Или двойной клик по выключателю?..
Вопрос.
Наконец появилась своя квартира. Начинается стадия постепенного ремонта (сначала одну комнату, потом может другую).
Сейчас первой на очереди детская. Ваша статья родила мысль — почему бы сейчас не заложить в стены некие датчики (например для 1-wire), чтобы потом можно было задействовать в умном доме (которые вероятно буду затевать, в том или ином виде).
То есть вопрос вот какой — что имеет смысл закладывать сейчас в виде например трасс связи и датчиков, для дальнейшего использование в системе типа «умный дом»?
Спасибо
Я планирую в качестве транспорта использовать LAN кабель 5е категории. Все равно локальную сеть тянуть. А так можно будет некоторые точки входа распотрошить на жилы для датчиков и исполнителей. Все собирать на патч-панели в одном месте, где магистральный роутер и свитч.
А питание таким датчикам как подавать? Не имеет ли смысл предусмотреть подсветку по полу? Датчики движения возле двери, чтобы двери не переделывать потом?
Питание по тем же проводам. PoE называется.
На самом деле концепция умного дома очень актуальна для людей, страдающих разного рода расстройствами памяти. В России эта проблема более актуальна, чем за рубежом, потому что в тех же США отправлять стариков дома престарелых — это нормально, а у нас — это считается нехорошим поступком со стороны детей. Поэтому дети либо берут к себе престарелых родителей, либо приезжают к ним помогать по дому. А очень много можно было бы делать в онлайне.
Можно сказать, что это — подсказка для организации реального бизнеса :)

Что касается существа вопроса, то хотелось бы понять всё-таки, как соотносится полученная экономия от выключения лампочек (особенно если это светодиоды по 7-10 вт) и прочего оборудования со стоимостью управляющего оборудования и затратами на его эксплуатацию (электричество, человеко-часы на настройку)… Просто хоть какая-то статистика?
Делали автоматизацию для слепого человека (Управление голосом). Но опыт был негативным. Да всё заработало, но клиент оказался очень привередливым… Хотя, наверно, не привередливый клиент редкость. :)
Согласен, инвалиды вообще своеобразно воспринимают мир. Но здесь потенциальная клиентская аудитория — это не сами пользователи, а их близкие, которые таким образом покупают не услуги для себя, а своё спокойствие за родных.
Сообщаю в комментах. Система на стадии разработки. Голова на Raspberry Pi. PERL+JavaScript+JQuery. Датчики беспроводные NRF24L01. Протокол самописный с шифрованием XXTEA и обменом одноразового ключа (паранойя прогрессирует). Датчики/исполнители на msp430 и atmega
У меня был интересный случай: дочери на пятилетие подарили сертификат на катание на лошади. И вот дарители рассказывают, как это классно, какие там лошадки и пони. Ребёнок слушал, слушал и спрашивает: А где лошадь то!?

Так вот и я. А где код то? :) Дайте посмотреть. :)
что именно интересует? фрагменты кода датчиков/исполнителей могу показать. Общая концепция вроде устаканилась, но допиливается по-ходу пьесы. Повторюсь, система на стадии разработки.
Интересует архитектура и GUI. Так как написано JQuery, могу сделать вывод, что GUI есть.
А как на PERL обрабатывать socket соединения и постоянно их поддерживать?
сознАюсь, ГУЯ в ближайших планах. с Вами кстати недавно беседовал по-поводу визуальных конструкторов скриптов автоматизации. Жалился на немецкий.
А по-поводу перла — не сложно. у меня RPi общается через uart с дополнительным контроллером, на котором висит пара nrf-ок. PERL использует библиотеку Device::SerialPort. Но если нужно сокет поднять, то есть IO::Socket. Можно форкаться при получении пакета для обработки, если большая нагрузка.
Кстати, ScriptGUI перевели на 90%. Так что там сейчас почти всё по русски и по английски.
паранойя прогрессирует
Если бы она действительно прогрессировала, вы бы в сторону любой беспроводки даже не взглянули. Получение доступа еще не вся проблема.
ну на текущий момент XXTEA не разломан пока еще, если верить интернетам. А так, для тренировки решил поковырять шифрование. Потом, если система не распространена широко, считаю довольно сложно с 0 её взломать.
Зачем ее ломать?
Знаете как спички в замочную скважину вставляют? Это же делают не для того, чтобы войти…
согласен, можно и помеху поставить.
критические вещи, типа открыть входной замок — можно проводами сделать.
Я подозреваю, что вместо решения этой проблемы будут использовать всякого рода костыли типа ППРЧ по нелицензируемому диапазону, но этого тоже не на долго хватит если заняться.
ну тут главное вовремя остановиться. ППРЧ можно сделать и средствами NRF-ки(128 каналов, правда диапазон 2.4ГГц), но надо ли. Думал сделать сканер диапазона периодический с целью выбора наименее загруженных частот, но это уже совсем когда будет нечего делать.
Пришёл к выводу, что самый удобный для меня вариант это vera в связке с arduino. Vera в качестве головы, arduino nano в качестве шлюза между vera и на бором беспроводных датчиков на базе arduino+nrf24l01. Впринцепи на этом и остановился бы, но vera дорога стоит и есть малина без дела. Поэтому нужна ось которая становится без проблема на малину и можно без бубнов приделать arduino gateway. Если ССUI это может то хотелось бы увидеть пост на эту тему. СПС.
Что то я не нашел у Веры европейских розеток. Наверно туда можно подключать и другие Z-wave приборы, а если это так, то Vera Controller не нужен. Эту роль может исполнять и малина с USB стиком и openzwave на борту.
С другими системами, тут такое дело: что б их встраивать, нужно железо, а железо стоит денег, а проект опенсурсный… Я вот недавно купил набор юного z-вейвера (набор датчиков и свисток). Ну просто потратил своих денег на 200 евро. Товарищ купил KNX железа на 300 евро… Но все системы не скупишь. Вот тут то и нужна помощь commnity, что бы реализовали драйвера под всё что подключается… А без коммьюнити тяжело. :(
я поначалу тоже z-wavом был ахмурен, а потом когда начал разбираться в этом железе, понял что это просто протокол обмена информации и всё это понты. А vera рассматривал просто как мозги, и коробочка красивая)
Не хватает варианта ответа «У меня нет своего дома, но хотелось бы»
Срочно нужна интеграция с ПЛК по Modbus TCP !;)
Сейчас коллега рассматривает вариант получения данных из S7-400 в CCU.IO.

Какой use-case у вас?
Либо ПЛК S7-1200, либо модули ввода-вывода на RS485 Modbus RTU…
Перечислите, пожалуйста, в отдельном комментарии все фукнции (сценарии) вашей системы.
Интересует, как вы реализовали «стирка окончена»?
Также интересует, как реализовали голосовое управление, точнее как этот модуль выглядит в системе.
Есть модуль, который мониторит расход энергии:
www.elv.de/homematic-funk-schaltaktor-1fach-mit-leistungsmessung-zwischenstecker.html
Я получаю сообщения о расходе энергии. Если расход 0.1 W, то машина работает, если расход в течении 3 мин < 0.1, то стирка закончилась.

Есть несколько решений: можно подцепить датчик на лампочку, но для этого надо разбирать машинку. Можно использовать реле:
image
Но оно стоит столько же, сколько мой модуль.

Я уже описал в комментариях: habrahabr.ru/post/227435/#comment_7779015
могу только добавить:
— включать усилитель, если SONOS проигрывает музыку и выключать, если не проигрывает дольше 3 минут.
— при нажатии на кнопку звонка 3 раза подряд с определенным интервалом, открыть подъездную дверь.
Ни в коем случае не умаляю достоинств описанной системы — работа проделана огромная и результат впечатляет. Нельзя ли немного подробнее про вот это:
— MajorDoMo — визуализация и автоматизация. Недостатки: PHP и polling событий. Нет возможности писать сложные драйвера, т.к. нет таймера. Cron не в счет.

PHP это недостаток в принципе?
Насчёт «нет возможности» тоже не очень понятно… Что значит нет таймера? Почему только polling событий? Не хотелось бы вводить народ в заблуждение, поэтому, если объясните, что именно имеете в виду, то я смогу либо это подтвердить, либо опровергнуть, а то как-то однобоко выходит.
Вообще-то я надеялся, что такое заявление придёт намного раньше (ещё вчера) и даже хотел написать рядом, что это Холивар и давайте не будем. :)
Я убрал из статьи слово «недостатки» и объясню, что я имел ввиду:
— «polling событий» означает, что новые события на GUI опрашиваются с интервалом 5 секунд
eventTimer=window.setTimeout ('getNextEvent();', 5000);

Это означает, что между событием и его отображением на экране может пройти до 5 секунд.
Node.JS использует socket.io задержка между событием и отображением около 100-200 ms.
— писать сложные драйвера:
PHP is not meant to be run for extended amounts of time. Many will argue with me here, but the language by default is set to terminate itself once it has been running for 30 seconds, or if it reaches a certain amount of memory usage. This can be disabled, and apps can be built to run for a long time successfully, but this is not where PHP shines.

Выборка с https://thomashunter.name/blog/php-vs-nodejs/
Да конечно, можно и микроскопом гвозди забивать… Но зачем?
Насчёт «polling» согласен в части GUI — действительно ряд вещей запрашивается интервально, но приведённый выше пример немного некорректен, т.к. в системе не один механизм создания GUI и пример взят из наименее используемого и наиболее медленного. Но не суть — в главном я согласен, что socket.io лучше, чем polling. Только ещё одно важное замечание — всё это касается интерфейса, т.к. реакция на оборудование идёт по событийной модели (кроме тех случаев, когда оборудование это не поддерживает), т.е. без опросов вовсе. Ну и до кучи — таймеры там присутствую и активно используются (без участия cron-а).

Насчёт PHP vs Node.JS — это действительно холивар и я знаю аргументы по-лучше (в пользу Node.JS), но пока не сталкивался с тем, что PHP, как инструмент, не позволял реализовать то, что мне нужно или делал это как-то хуже.
т.е. без опросов вовсе. Ну и до кучи — таймеры там присутствую и активно используются (без участия cron-а).

Это я уже тоже выяснил. :)
Не хватает примеров использования.
Хотя может не там рою.

У меня задачка простая собрать показания термодатчиков с 1-wire и отобразить из на web морде. Возможно с графиками.
Ну и в последствии подключить управление насосом отопления.

Кстати, кто подскажет безпроводное исполнительное реле для выключения насоса?
1-wire можно подключать по OWFS (One-Wire-File-System).
Здесь есть человек, который попытался подключить OWFS.
forum.iobroker.com/viewtopic.php?f=6&t=14
Можно его спосить, как далеко он продвинулся.
«Потыкал» DASH UI — Круто!
голосом из старкрафта: «Необходимо больше мануалов» — давайте мануалы «шаг за шагом создаем виджеты» или вообще «шаг за шагом строим умный дом» — как создаются каналы, виджеты и т.д. и т.п!
Очень неплохо!
Для Модбас есть библиотека NBodbus, написанная для .NET от компании ICPDAS — у них на FTP серверах есть. Это я так, на всякий случай)
А ModBus over TCP IP или через Com Port?
RTU наверное, лучше. Чем? — Тем, что модули дешевле))
Много производителей пром. оборудования ( у того же овена — много недорогих модулей, в китае — еще дешевле) выпускают модули входов-выходов на Modbus RTU. Есть как модули цифрового, так и аналогового ввода-вывода.
UFO just landed and posted this here
Скажите, система сейчас проектируется и дальше и будет развиваться?

Стоит ли её применять или есть что-то новое (другое)?
А есть место, где этот вопрос не был задан? :)

Да ioBroker (последователь CCU.IO) развивается ОЧЕНЬ активно и рост пользователей составил за прошлый год 400%.

t.me/iobroker
Пограммирование для меня хобби, но вот что я сделал: NodeJS на Raspberry в качестве ядра. UI — Телеграм. Периферия по TCP: Ip-камеры, сигнализация через модули Laurents как проводные, так и без, управление Wi-Fi контроллерами Espruino. Сделан шлюз с Fibaro HC (z-wave контроллер), можно отдавать TCP команды и получать информационные уведомления от контроллера.
Это к чему комментарий?
Ну вы же сами в опросе написали «Другое (Сообщите в комментах)». К чему вы это написали?

 обратно человек, отказавший мне в кооперации, был вынужден слушать 

Так он не отказал, он просто предложил удобный ему метод общения.

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

Вероятно, ему это не нужно (было), поэтому он и не искал.

Если было бы нужно, нашёл бы.

Sign up to leave a comment.

Articles