Русский
Русский
English
Статистика
Реклама

Zigbee

О чем спорят строители Умных Домов, Бань, Дач и Гаражей

29.04.2021 08:22:29 | Автор: admin

Я Community Manager и у меня есть зависимость. Ну хорошо, не зависимость, но хобби: я увлекаюсь автоматизацией собственной квартиры с помощью того, что принято теперь называть Умным Домом. Начинал я пару-тройку лет назад с чистого Apple HomeKit, затем расширил его возможности с помощью Homebridge и далее полностью погрузился в дебри HomeAssistant.

Но поскольку я Community Mananger, мне интересна та часть моего хобби, которая касается вопроса коммуникации сообщества людей, имеющих такое же увлечение, как и моё.

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

Статья также о том, как я попал в секту строителей Умных домов и что я о ней узнал. Для начальной ориентации новичков, в общем.

Предыстория

Предупреждая все возможные разговоры о целесообразности Умного Дома, скажу сразу: в настоящее время, в домашних любительских условиях, автоматизация собственного жилища действительно, всего лишь хобби для большинства участников сообщества. Причем весьма дорогостоящее хобби, которое не приносит никаких материальных выгод. Говорить об экономии расходов на тепло, электричество и воду, при использовании весьма дорогостоящих комплектующих для этой экономии, совершенно не приходится. Все это лишь ради собственного удовольствия и для создания некоторых удобств существования в личном пространстве. Новичкам, вступающим на этот путь, нужно четко себе это понимать и быть готовым к существенным расходам.

Мой путь начался с того, что в один прекрасный момент я внезапно осознал, что имеющийся в хозяйстве AppleTV 4K может служить шлюзом для построения Умного Дома на базе Apple HomeKit. Было приобретено и успешно подключено несколько HomeKit ready устройств. Все было прекрасно, стабильно, но дорого. Хотелось дальнейшего расширения, но за меньшие деньги.

И тут я сделал открытие, что существует, оказывается, множество сообществ людей, подобных мне. И что многие устройства можно делать самому и при этом ничуть не хуже, а главное, дешевле. И что вездесущая Xiaomi, со своими инкарнациями вроде Aqara и прочих, делает устройства для Умного Дома значительно менее затратные для моего кошелька.

Так, с помощью внимательного чтения и вопросов к коллективному разуму я влился в обширное и очень эффективное русскоязычное сообщество строителей Умных Домов, Бань, Дач и прочих Гаражей. Мир DIY и OpenSource решений захлестнул меня и, нужно заметить, я был к этому подготовлен. Я уверенно обращался с паяльником и имел очень долгий опыт работы с Linux. Мне было легко и приятно быть среди единомышленников.

С каждой новой итерацией своего продвижения по этому пути все новые и новые ресурсы открывались мне, с великими Гуру можно было спокойно общаться в телеграм группах практически на одном языке и порой даже осмеливаться их критиковать. Я узнал, что большинство самых ценных сообществ живет в профильных телеграм каналах, что сообщество на форуме 4PDA живет какой-то своей жизнью, что известный всем русскоговорящим умнодомщикам Спрут портал раскинул свои щупальца настолько широко, что даже проник на территорию подкастов и инстаграма, что адепты св.Квазиса повсюду и что AlexxIT, Jager, Илья Киров и Иван Бессарабов настолько же доброжелательны и приветливы в общении, насколько круты в своем профессионализме. А для владеющих английским открываются поистине бездонные кладези знаний на Reddit, YouTube и, например, официальном форуме HomeAssistant.

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

OpenSource против готовых решений

Xiaomi MiHome стал уже символом консьюмерской системы Умного ДомаXiaomi MiHome стал уже символом консьюмерской системы Умного Дома

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

На чем строить свой Умный Дом? На готовых решениях от Miija, Sonoff, Tuya, Apple, Aqara, Rubetek, Yandex, Google и прочих и прочих? Или же построить его самому на базе OpenSource решений типа HomeAssistant, NodeRed, OpenHub, IOBroker и так далее?

NodeRed очень популярное OpenSource решение для Умного ДомаNodeRed очень популярное OpenSource решение для Умного Дома

Тем, кто стоит перед таким выбором приходят на помощь авторитетные прожженные линуксоиды и начинают говорить о непревзойденной гибкости автоматизаций и отвязки от коварных "китайских облаков" в OpenSource решениях. Они будут говорить о том, что все будет контролироваться только лично тобой и что ты сможешь использовать почти весь доступный на рынке зоопарк устройств Умного Дома, да еще и DIY устройства. Стоит лишь купить "малинку", установить на нее Linux, потом поколдовать в командной строке, чтобы установить этот самый альтернативный Умный Дом, а потом еще потратить месяцы на настройку и понимание что вообще тут к чему.

И вот новичок, который про Linux только на уроках информатики слышал, а командную строку видел только в голливудских блокбастерах про геройских хакеров, обалдев от такого объема информации, мало ему понятной, принимает решение переплатить, но сделать свой Умный Дом легко и просто на базе существующих на рынке готовых решений. Или вообще ничего не делать. И правильно сделает, кстати.

Консьюмерские решения имеют полное право на существование, и принижать их адептов не стоит в сообществах ни в коем случае. Люди принимают решение, основываясь на собственном опыте, знаниях, ресурсах, и тащить их силком в OpenSource не нужно. Мучения таких людей, вставших на путь, на который их убедили вступить, их обескураживающие и порой наивные вопросы очень хорошо заметны, а попытки профессионалов им помочь выглядят удручающе. Но вызывают неподдельное уважение те, кто начинает с такого уровня вхождения в тему и успешно преодолевает его.

Поэтому отсюда мое наблюдение: не стоит тащить и убеждать не готовых людей. Пусть каждый будет в комфортных для него условиях его личного выбора. И выбор этот нужно уважать.

Малинка против Intel NUC, Gigabyte BRIX и прочих x86

Та самая знаменитая "Малинка" Raspberry Pi 4 Та самая знаменитая "Малинка" Raspberry Pi 4

Итак, новоявленного строителя Умного Дома затащили на темную сторону OpenSouce и перед ним встает первый из ключевых вопросов: а на что мне все это хозяйство устанавливать?

Популярность использования платформы Rapberry Pi для сервера Умного Дома я могу объяснить лишь пресловутыми "исторически сложившимися причинами", а так же, не в последнюю очередь, мощью авторитета Алекса Квазиса и его YouTube канала.

При всех своих недостатках, "малинка" остается самой популярной платформой и поныне. А недостатки у нее серьезные:

  1. Использование в качестве накопителя медленной и очень ненадежной SD карты

  2. Необходимость в хорошем охлаждении

  3. Склонность к троттлингу при недостаточно качественно обеспеченном питании

  4. Слабый встроенный Bluetooth

  5. Довольно слабая производительность ARM процессора, которой, впрочем, в большинстве случаев достаточен для систем Умного Дома

  6. Важная для многих необходимость в приличном корпусе

Для устранения части этих недостатков потребуется покупка SSD или eMMC накопителя, мощного корпуса-радиатора, внешнего Bluetooth донгла, корпуса вроде Argon One. Все эти дополнительные покупки приводят к значительному удорожанию вашего сервера Умного Дома на базе "малинки".

И тут на авансцену выходят опытные члены сообщества с вполне резонным вопросом: А почему бы вам сразу не купить компактное, бесшумное и быстрое решение на базе гораздо более производительных процессоров x86 с встроенным SSD диском, расширяемой памятью? Ну, например, что-нибудь подходящее по цене из обширного семейства миниатюрных компьютеров Intel NUC или Gigabyte BRIX?

Очень популярный Intel NUCОчень популярный Intel NUC

В действительности цены на подобные новые минисерверы довольно высоки и далеко не каждый будет готов потратится. Но на просторах интернет барахолок, вроде Avito, вполне можно найти приличные варианты за вменяемые деньги. Я, например, купил там немного устаревшую модель Gigabyte BRIX с процессором Celeron N3000, 4GB RAM, 120GB SSD и пассивным охлаждением всего за 5 тысяч рублей. И машинка эта прекрасно работает в круглосуточном режиме с HomeAssistant на борту вот уже больше года. Некоторые домовладельцы покупают на Авито даже подержанные HP Microserver Gen8 под свой домашний сервер, на котором, кроме системы Умного Дома, работает еще и медиасервер, торрент-качалка, NAS и что-нибудь еще. Многие используют в качестве сервера Умного Дома уже имеющиеся в хозяйстве NAS от Synology или реже Qnap с поддержкой Docker. Но в этом варианте много подводных камней, которые вызывают множество вопросов и дискуссий. Этот вариант сервера, на мой взгляд, подходит только уверенным пользователям Linux с достаточно глубокими знаниями Docker.

На мой взгляд, если говорить о сервере только для Умного Дома, наиболее целесообразным вариантом сейчас является использование миникомпьютеров на базе процессоров x86 (не Atom!). Это могут быть не обязательно Intel NUC или Gigabyte BRIX, а любой подходящий на базе Celeron и выше, и желательно с пассивным охлаждением, особенно для тех, кто строит Умный Дом в городской квартире и для кого уровень шума сервера является критическим параметром. Наличие именно SSD диска не обязательно, но крайне желательно для общего быстродействия. Памяти в большинстве случаев достаточно 2-4Gb. Подключать к сети такой сервер рекомендую по более надежному Ethernet, но и по WiFi 5Ггц у многих работает вполне стабильно.

Zigbee против WiFi (BLE mesh, Zwave, Thread пока не в счет)

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

У всех дома есть WiFi роутер и, как правило, Умный Дом начинает разрастаться за счет недорогих WiFi устройств от производителей вроде Sonoff, Yeelight, DIY устройств на базе ESP8266 и прочих. Действительно, WiFi прост, есть у всех, дополнительно что-то приобретать и настраивать не нужно. Отсюда в сообществе происходят иногда не то чтобы споры, но оживленные дискусси с основным посылом - зачем мне вообще этот ваш "зигбее" (варианты написания бывают порой очень забавными, "zig been" как-то попадался), мне и на WiFi хорошо и все отлично работает. Мне кажется это мнение происходит от недостаточно хорошего представления о преимуществах протокола Zigbee новичками. Давайте их перечислим:

  • Низкое энергопотребление конечных устройств (где вы найдете WiFi датчик двери или, например, датчик движения, датчик протечки, который работал бы от батарейки годами?)

  • Самоорганизующаяся Mesh сеть, в отличие от звездообразной WiFi сети, где роутер является центром звезды. Например, так выглядит моя домашняя Zigbee сеть, где хорошо видно, как устройства-роутеры (синие) являются точками подключения физически далеко расположенных устройств:

  • Наличие класса конечных устройств-роутеров с постоянным питанием позволяет строить сеть на очень большой территории. Да, WiFi тоже умеет строить Mesh сети, но не с помощью исполнительных устройств-роутеров, а с помощью дополнительных WiFi роутеров подключенных в mesh сеть.

  • Огромный выбор доступных устройств на рынке. На данный момент Zigbee Alliance насчитывает сотни членов, а на рынке существует тысячи разнообразных решений с заявленной поддержкой Zigbee.

  • Безопасность. С 128-битным алгоритмом AES, используемым для шифрования данных и аутентификации, и тремя типами ключей, используемых для управления безопасностью, конечным пользователям не стоит беспокоиться об опасности взлома.

  • Относительно низкие цены на устройства.

  • Можно упомянуть еще прямой биндинг между устройствами, когда они продолжают взаимодействовать при отключении центрального координатора. Но эта фича слишком мифологична и недостаточно широко распространена на данный момент.

Лично для меня преимущества Zigbee очевидны и я строю свой Умный Дом почти полностью на этой технологии. Конечно, у меня еще есть несколько WiFi устройств, например, кондиционер управляемый WiFi USB стиком на ESP8266, датчик потребления фильтрованной воды на Wemos D1 mini, настольная лампа Yeelight. Среди активных сторонников Zigbee такой неоспоримый авторитет в сообществе, как Алекс Квазис, который в подкасте Спрута однозначно высказывался о преимуществах Zigbee перед Wifi. Кстати, кто не слышал подкаст, то рекомендую:

Если говорить о Zigbee дальше, то всплывает еще одна горячая тема: USB Zigbee стик, шлюз Xiaomi Gateway 3 (возможно перепрошитый Sonoff шлюз) или SLS использовать в качестве координатора сети Zigbee. Или еще одна, касающаяся пользователей HomeAssistant: что лучше, Zigbee2mqtt или ZHA? Это настолько объемные темы, что заслуживают отдельной статьи. Скажу лишь за себя - я за использование Zigbee USB стика в союзе с Zigbee2mqtt. В двух словах почему: стабильность, количество поддерживаемого оборудования, независимость от прихотей производителей шлюзов или SLS, при необходимости возможность самостоятельно обеспечить поддержку неподдерживаемого устройства с помощью zigbee2mqtt external converter. Но если вы уже имеете Xiaomi Gateway 3 шлюз и хотите использовать его в качестве координатора вашей Zigbee сети, а также, возможно и для BLE mesh сети, то очень рекомендую вам послушать подкаст с AlexxIT, авторитетнейшим участником сообщества и автором интеграции этого шлюза в HomeAssistant, чтобы узнать все нюансы из первых рук:

Говорить о распространенности других протоколов для Умного Дома можно, но на мой взгляд, пока рано. Отличный протокол Zwave живет своей жизнью уже очень давно, но из-за дороговизны устройств и географического разделения рабочих частот протокола мало распространен в русскоговорящем сообществе. Хотя есть пользователи очень давних реализаций Умных Домов на Vera или Homey, у которых осталось Zwave оборудование, например от Fibaro, и которые в рамках HomeAssistant, где поддержка этого протокола очень развита, успешно используют эти устройства и поныне.

Протокол BLE mesh выглядит очень многообещающим и поддерживается последними версиями шлюзов Xiaomi. Кроме того, явно заметно разделение направлений, если устройства для Умного Дома от Aqara практически все выпускаются для протокола Zigbee, то последние новинки от Xiaomi выпускаются почти исключительно для BLE mesh. И уже сейчас вполне реально активно использовать этот протокол, покупая доступные на рынке устройства.

Что касается протокола Thread, то его в последнее время стали продвигать в Apple, включив его поддержку в HomePod Mini и новой версии AppleTV. Солидные производители вроде Eve или Nanoleaf тоже стали включать поддержку Thread в своих новых устройствах. Я думаю, маркетинговая мощь Apple может продвинуть популярность этого протокола достаточно далеко и стоит не упускать из вида этот очевидный тренд.

Но пока протокол Zigbee в Умных Домах безусловно доминирует. И меня это устраивает. Я за Zigbee, как самое сбалансированное решение на рынке на данный момент.

Красивый GUI против текстовых конфигов и чистых автоматизаций

Это очень обширная тема со множеством ответвлений и нюансов. Постараюсь быть кратким и замечу, что в моем изложении она больше относится к HomeAssistant, как к системе Умного Дома, которую я использую. В целом, эта горячая тема подразделяется на следующие два больших направления:

  • Как настраивать систему и писать автоматизации - через предоставленные возможности GUI или редактированием текстовых файлов конфигураций?

  • Зачем заморачиваться с красивым и удобным интерфейсом, делая его похожим на пульт управления космолета? Ведь настоящий Умный Дом тот, в интерфейс которого вообще не нужно заходить - все работает через точно и тонко настроенные многочисленные автоматизации.

Начнем с первого. В последних версиях HomeAssistant тренд на уход от правки yaml конфигурационных файлов в сторону настройки всего и вся через GUI был настолько очевиден, что многие старожилы сообщества загрустили о старых добрых временах, когда все настраивалось вручную. Кроме того, в свое время весомый вклад в популяризацию правки yaml конфигов внес не раз уже упомянутый Алекс Квазис со своими видео уроками по настройке HomeAssistant. Но его продвижение этого метода дало и обратный результат. Вместо того, чтобы вникать в код его примеров и пытаться в нем разобраться, начинающие, неопытные пользователи стали просто бездумно копипастить код из его уроков и слепо следовать его рекомендациям, как истине в последней инстанции. Я уверен, что Алекс не подразумевал изначально такого эффекта, но теперь в сообществе сложился устойчивый мем "так было у Квазиса в его уроке" или "я делал все по урокам Квазиса". Опытные участники сообщества лишь саркастически ухмыляются, отсылая вопрошающих с их проблемами к чтению документации и к пониманию того, что и как они делают.

Многие не любят HomeAssistant именно из-за его формата конфигураций yaml. Жесткая требовательность к форматированию, отступам многих раздражает. Написать вручную, к примеру, такую автоматизацию света на кухне с учетом датчиков движения, датчика освещенности и времени суток с множеством условий, без серьезной подготовки и опыта очень сложно:

alias: Kitchen Lighttrigger:  - platform: state    entity_id: binary_sensor.kitchen_motion_group    to: 'on'  - platform: state    entity_id: binary_sensor.kitchen_motion_group    to: 'off'    for: '00:02:03'condition: []action:  - choose:      - conditions:          - condition: template            value_template: '{{ trigger.to_state.state == "on" }}'          - condition: time            after: '09:20'            before: '23:00'          - condition: numeric_state            entity_id: sensor.lux_kitchen_illuminance_lux            below: '23'        sequence:          - service: switch.turn_on            target:              entity_id:                - switch.relay_switch_l1                - switch.relay_switch_l2                - switch.switch_kitchen_switch_center          - service: light.turn_on            data:              transition: 4              color_name: crimson            target:              entity_id: light.led_strip      - conditions:          - condition: template            value_template: '{{ trigger.to_state.state == "off" }}'          - condition: time            before: '23:40'            after: '09:20'        sequence:          - service: switch.turn_off            target:              entity_id:                - switch.relay_switch_l1                - switch.relay_switch_l2                - switch.switch_kitchen_switch_center                - switch.switch_kitchen_switch_right                - switch.switch_kitchen_switch_left          - service: light.turn_off            target:              entity_id: light.led_strip      - conditions:          - condition: template            value_template: '{{ trigger.to_state.state == "on" }}'          - condition: time            after: '01:00'            before: '05:30'        sequence:          - service: switch.turn_on            target:              entity_id: switch.relay_switch_l2      - conditions:          - condition: template            value_template: '{{ trigger.to_state.state == "off" }}'          - condition: time            after: '01:00'            before: '05:30'        sequence:          - service: switch.turn_off            target:              entity_id: switch.relay_switch_l2    default: []mode: single

Но с другой стороны, эту же автоматизацию можно собрать в GUI автоматизаций HomeAssistant. А в последних версиях еще и появилась возможность визуального дебага автоматизаций в GUI:

Дебаг автоматизаций в HomeAssistantДебаг автоматизаций в HomeAssistant

Таким образом, по этому пункту, я бы посоветовал начинающим следующее. Попробуйте совмещать оба способа при написании автоматизаций, благо интерфейс теперь это позволяет. Пробуйте составить ее через GUI, потом переключитесь в текстовый режим и поправьте что нужно в нем. Или наоборот, скопипастите готовый yaml код автоматизации и затем переключившись в режим GUI попробуйте понять логику его работы, подставьте свои нужные сущности. На мой взгляд, сочетание обоих режимов при создании автоматизаций сейчас наиболее эффективный и оптимальный подход. Также не следует забывать об очень интересной недавней фиче в автоматизациях HomeAssistant: Blueprints, или готовых шаблонах автоматизаций.

Второй пункт нашего списка касается опять HomeAssistant и настройке его интерфейса Lovelace. Да, сейчас его можно настраивать исключительно средствами интерфейса, предоставленного HomeAssistant и не думать о правке вручную файла ui-lovelace.yaml в режиме Lovelace "yaml", как было в уроках Квазиса. Но лично я предпочитаю ручную полировку интерфейса. Весь интерфейс моих дашбордов как для десктопа, так и для мобильных устройств полностью написаны вручную. Сделать два разных дашборда очень просто, достаточно в configuration.yaml прописать что-то вроде:

lovelace:  mode: yaml  resources:  - url: /hacsfiles/mini-graph-card/mini-graph-card-bundle.js    type: module  - url: /hacsfiles/mini-media-player/mini-media-player-bundle.js    type: module  - url: /hacsfiles/ha-yandex-icons/yandex-icons.js    type: module  - url: /hacsfiles/lovelace-card-mod/card-mod.js    type: module  - url: /hacsfiles/lovelace-auto-entities/auto-entities.js    type: module  - url: /hacsfiles/button-card/button-card.js    type: module  - url: /hacsfiles/vertical-stack-in-card/vertical-stack-in-card.js?v=0.4.0    type: module  - url: /hacsfiles/simple-thermostat/simple-thermostat.js    type: module  - url: /hacsfiles/simple-weather-card/simple-weather-card-bundle.js    type: module  - url: /hacsfiles/text-element/text-element.js    type: module  dashboards:    lovelace-generated: # Needs to contain a hyphen (-)      mode: yaml      filename: mobile-ui.yaml      title: Mobile UI      icon: mdi:cellphone-text      show_in_sidebar: true      require_admin: true

и уже в файле mobile-ui.yaml конфигурировать ваш отдельный Lovelace для мобилок. Для десктопа мой интерфейс сейчас выглядит примерно вот так:

Версия для десктопаВерсия для десктопа

Для мобильных устройств примерно так:

Версия для мобильного телефонаВерсия для мобильного телефона

Ну и наконец, резонный вопрос - зачем этот пульт управления космическим кораблем, если настоящий идеальный Умный Дом не должен подразумевать ручного вмешательства, управления и контроля, а все должно работать как надо автоматически?

Скажу честно, у меня нет аргументированного ответа на этот вопрос и более того, я совершенно согласен с таким пониманием идеального Умного Дома. Но я люблю интерфейсы в который не только все удобно, но и красиво, и это для меня вопрос эстетики и эргономики. Как деревенские мастера украшают совершенно утилитарные вещи вроде ставен на окнах домов изысканной резьбой, так же и мне доставляет эстетическое и эргонометрическое удовольствие оптимизация вручную интерфейса моего Умного Дома. Кроме того, я достаточно регулярно пользуюсь мобильным приложением HomeAssistant, где мой удобный и оптимизированный мобильный дашборд весьма кстати.

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

HomeAssistant против Node Red. Или вместе с ним.

Эта тема характерна для споров между уже опытными и продвинутыми строителями Умных Домов, Бань, Дач и Сараек. Она не так остра и популярна, но написать о ней мне все же хочется. Хочется, потому, что когда-то этой теме было посвящено немало споров в уютном лампово-теплом сообществе телеграм чата Homever.

Примерный вид обычного Node RedПримерный вид обычного Node Red

Скажу сразу, я попробовал Node Red и он мне не зашел. Визуальное создание автоматизаций перетаскиванием и связыванием каких-то прямоугольников различного назначения лично мне не показалось удобным и интуитивным. Мне гораздо проще и понятнее описывать автоматизации текстом, в yaml, в HomeAssistant. В общем, опыт с Node Red у меня небольшой, судить о нем авторитетно я не могу. Я запустил и отладил несколько флоу, но не более того.

Логотип HomeAssistantЛоготип HomeAssistant

Но тем не менее, я могу поговорить о чем спорят и говорят на эту тему в сообществе. А говорят следующее. Node Red может быть совершенно самостоятельной системой Умного Дома, с интеграцией устройств, собственным дашбордом, ну и конечно, собственными мощными автоматизациями. Также Node Red может работать в тесной связке с HomeAssistant выступая системой автоматизации для него. То есть вы подключаете устройства через HomeAssistant, который позволяет это сделать намного эффективнее, чем Node Red, и поддерживает гораздо больше интеграций для подключения огромного количества всевозможных устройств, но все автоматизации для этих подключенных устройств и сущностей вы создаете средствами подключенного Node Red.

Почему-то принято считать, что возможности и гибкость автоматизаций в Node Red значительно превосходят таковые в HomeAssistant с чем я совершенно не согласен. Я не знаю ни одного сценария автоматизации, который можно было бы реализовать в Node Red и нельзя было повторить средствами автоматизаций HomeAssistant. На этот неоднократно заданный адептам Node Red вопрос я так ни разу и не получил убедительного примера такого сценария.

Таким образом, целесообразность такой связки двух систем мне кажется избыточной и нерациональной хотя бы с точки зрения стабильности. Каждая из этих двух систем вполне самодостаточна, разве что в Node Red нет такого красивого интерфейса, как в HomeAssistant. Но это важно далеко не всем. Ну и возможности подключения огромного разнообразия устройств у Node Red значительно скромнее. Для чего нужен конгломерат двух серьезных и мощных систем, мне непонятно. Знаю пользователей таких симбиозов, которые используют подключения устройств и там и там, да еще и автоматизации создают средствами обоих систем. Представляете, какая каша из сущностей и связей там образуется? Надежность и стабильность такой связки двух систем вызывает у меня большие сомнения.

Мое мнение: максимально глубоко изучите возможности Node Red или HomeAssistant и используйте что-то одно. Каждая из этих систем в отдельности способна полностью удовлетворить все ваши требования к Умному Дому. Хотя, с другой стороны, я могу понять тех, кто имеет устройства, которые не поддерживаются в Node Red, но подключаются в HomeAssistant и он используется в качестве некоей прослойки для проброса подобных устройств в Node Red, а также, возможно, для красивых дашбордов для настенных панелей в виде вмонтированного планшета, например.

В общем, спор, какая из систем лучше совершенно не актуален. А на вопрос о том, стоит ли собирать их в симбиоз, каждый отвечает сам для себя.

Заключение

На самом деле я затронул лишь малую часть горячих тем в сообществах строителей Умных Домов. Их гораздо больше по самому широкому кругу вопросов. Например, есть популярная тема о том, что лучше и надежнее - проводное или беспроводное подключение устройств? Или тема о том, каким воспользоваться способом для настройки подключения SSL сертификатов и проброса HomeAssistant наружу в интернет.

Если вас интересует тема Умных Домов и вы готовы погрузиться в нее с головой, подписывайтесь на профильные телеграм чаты по HomeAssistant, этот, или этот. На чат обо всем, касающемся темы Zigbee. На персональный канал большого авторитета Ивана Бессарабова, где найдете кладезь полезной информации. Ну и на упомянутый выше ламповый чат сообщества Homever

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

Подробнее..

Мини плата для разработки и отладки ПО на BLE, Zigbee Thread

23.07.2020 04:04:23 | Автор: admin
Приветствую читателей Habr! В этой статье хочу поделится с сообществом своей новой разработкой, речь пойдет о небольшой Development Board на чипе nRF52840. Плата была спроектированна под недорогие модули E73-2G4M08S1C. Идея ее создания родилась в одном уютном телеграмм чатике довольно спонтанно. Была необходимость в недорогом и простом в сборке девайсе.




За основу была взята схема nRF52840 Dongle, совместимость с pca10059 позволяло довольно просто начать разработку в СДК, не было необходимоти переназначать интерфейсы, переферию. Все электронные компоненты которые необходимо напаять имеют размер >= 0805, поэтому плата паяется довольно просто.



Устройство может работать как запитанным от USB, так и от батарейки CR2032 или от источника напряжением 3.3в. Для переключения питания необходимо переставить перемычку U4 в нужное положение 5V или 3V3. Для питания и програмирования через USB на плате сделаны посадочные места под 2 типа USB разьемов, MICRO USB 2.0 TYPE B и USB 2.0 Type A.

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


На девайсе установлены два разьема, с одной стороны 14P разьем, и с другой стороны 10P разьеме, так же с нижней стороны устройсва сделаны пады под оставшиеся пины.

C помошью данной платы удобно собирать прототипы будующих девайсов и тестировать ПО. Мне данный модуль пригодился для прототипирования устройств для сетей Mysensors. Так же данную плату очень легко превратить в Arduino NINA 33 BLE. В Arduino есть неплохая библтиотека Arduino BLE на основе Mbed OS.

Гитхаб проекта Mini Development Board

Для данной платы так же был сделан дополнительный модуль одним из участников нашего сообщества RGBW dimmer. Дополнительный модуль сделан в таких же размерах что и основная плата.



Изначально дополнительная плата и проект диммера в целом разрабатывался VKE(Maxim) под сеть Zigbee но уперся в непреодолимые препятствия внутри ZigBee Open Source Stack, привет ребятам из dsr-corporation.



Насколько мне известно сейчас данный проект диммера пересобран под протокол Thread и там все просто прекрасно.

Гитхаб проекта модуля расширения(dimmer)
Гитхаб проекта диммера на Zigbee
Гитхаб проекта диммера на Thread

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


Гитхаб проекта BME280 сенсора на Thread





Фото платы Mini Development Board собранной разными людьми







Небольшой видосик теста oled дисплея на Mini Development Board



На этом наверное и закончу! Всех интересующихся DIY железками и разработкой ПО для nRF5 (и не только) на протоколах BLE, Zigbee, Thread, Mysensors приглашаю в наши уютные телеграмм чаты:
Telegram@DIY Devices
Telegram@MySensors

Всем Добра!!!
Подробнее..

Как сделать так, чтобы умные лампочки не глупели при перебоях питания

10.12.2020 10:23:48 | Автор: admin

Если вы когда-либо обзаведётесь технологиями умного дома, то скорее всего, в числе первых купленных устройств у вас окажутся именно умные лампочки. Они действительно удобны. Включение-выключение света при движении. По таймеру. Плавное нарастание яркости для более комфортного пробуждения. Разные цветовые температуры. И так далее.

Вот они умные технологии. Однако Не обходится без ложки дёгтя. Есть у умных лампочек, как минимум, одна особенность поведения, которую обычно не афишируют в рекламных буклетах и не упоминают в описании товара. Если задуматься, то это поведение можно даже назвать очевидным и логичным, но всё же оно может стать очень неприятным сюрпризом, особенно если дело будет происходить посреди ночи.

Я говорю о том, как умные лампочки реагируют на кратковременный перебой в подаче электроэнергии.

Глупые умные лампочки

Не та лампочка умная, что включается по желанию твоему, а та, что НЕ включается, когда ты не хочешь того народная мудрость

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

Почему при скачке напряжения они включаются? Есть мнение, что это сделано для обратной совместимости с обычными глупыми лампочками. Если вы вкрутите умную лампочку в патрон, управляемый обычным выключателем, она должна работать. Появляется питание -> лампочка включается. Именно это и приводит нас к неприятному побочному эффекту при нештатном исчезновении и повторной подаче питания. К сожалению, умные лампочки недостаточно умные, чтобы такое поведение было настраиваемо. Есть, впрочем, исключения, о которых ниже.

Когда я впервые столкнулся с этим, то был удивлён. Вернее я сначала был разбужен светом в глаза, а удивление пришло секундой позже. Заглянув за решением в Интернет я нашёл много товарищей по несчастью, задающих извечный вопрос что делать. А вот с ответами было негусто. Они варьировались от замены умных лампочек умными же розетками до примеров скриптов в логику умного дома, которые при обнаружении горящей посреди ночи лампочки посылали бы команду на выключение.

Первый вариант хорош. Надёжен. Но мы теряем в функциональности (нельзя сделать плавное включение, к примеру). Да и область применения уже - можно использовать только в осветительных приборах, подключаемых через розетку (все люстры - мимо). А второй требует некоторых навыков, да и решение предлагает не совсем окончательное, ведь лампочка всё равно вспыхивает посреди ночи, просто сама гаснет через какое-то время.

Умные технологии, ага.

Решение

По щучьему веленью, по моемухотенью Народная мудрость

Идеальный конечный результат, в моём понимании, был бы таким умная лампочка может быть настроена на умное поведение при перебое питания. А именно: при подаче питания вместо включения на максимальную яркость, лампочку можно заставить оставаться выключенной или, скажем, восстанавливать предыдущее состояние (к примеру, если в момент перебоя с электричеством лампочка была включена на 30% яркости, то восстанавливается тот же самый режим).

Год назад, когда я пытался решить эту проблему, готовых решений, вроде как, не просматривалось. На форумах удовлетворительных решений не было, и я махнул рукой.

И вот однажды я натыкаюсь на такую запись на странице замечательного проекта zigbee2MQTT

Копнул глубже, оказывается, ещё в далёком декабре 2018 года Филипс добавил соответствующую настройку в свои лампочки. Вот только афишировать это они, похоже, не хотят. Ради интереса я даже прицельно погуглил по их сайту, и нашёл лишь несколько скупых упоминаний.

Описания обновлений прошивок (ссылка) и приложения iOS (ссылка). Упоминание функции power-on behavior.

Уж не знаю, чем вызвана такая застенчивость по отношению к функциональности, которую они сами описывают как долгожданную (вольный перевод фразы long awaited). Что же касается других производителей, то я не смог найти аналогичную настройку. Возможно, они стесняются ещё сильнее (хотя казалось бы, куда сильнее-то). Если вам такие известны, пожалуйста, напишите в комментарии.

решение доступное всем, но неполное

В теории нет разницы между теорией и практикой. А на практике есть

Итак, лампочки с нужной заявленной функцией есть, остаётся только купить и спать спокойно. Но где там. Самое интересное всегда начинается, как только дело доходит до реального использования. А практика показала, что через официальное приложение лампочки можно настроить только следующим образом.

Интерфейс приложения Philips Hue Bluetooth. Я привожу настройки на русском и английском, т.к. перевод с английского хромает и вводит в заблуждение.Интерфейс приложения Philips Hue Bluetooth. Я привожу настройки на русском и английском, т.к. перевод с английского хромает и вводит в заблуждение.

Нас интересует настройка со значком молнии. Именно она оставит лампу в выключенном состоянии если она была выключена и произошёл перебой в подаче питания. Вот оно решение! Однако, тут как в том анекдоте, есть нюанс. Если свет мигнёт дважды в течение 15 секунд, то лампочка включится принудительно причём на максимальную яркость и мы снова проснёмся посреди ночи в поисках выключателя. Об этом даже написано в приложении. Интервал в 15 секунд проверен мной на лампочке с артикулом 9290023349 и прошивкой 1.65.11_hB798F2BF от 11 мая 2020.

Конечно, шанс получить двойной перебой питания питания с интервалом в 15 секунд ниже чем получить одиночный. Но он всё-таки есть.

Если бы я не увлекался умными устройствами с интерфейсом ZigBee и не наткнулся на эту функциональность именно на сайте проекта zigbee2MQTT, я бы тут же бросил эту затею. Да и статью на Хабр писать не стоило бы

и решение полное, но не для всех

Если долго мучиться, Что-нибудь получится

Оказывается, что по протоколу ZigBee доступна ещё одна возможность настройки, до которой не добраться из приложения. Она позволяет настроить умную лампочку на режим всегда выключена. То есть как бы быстро напряжение ни мигало, или как бы яростно вы ни щёлкали выключателем, лампочка не включится. Включить её можно только через сопряжённые устройства умного дома (ZigBee-координатор или всё ту же Bluetooth-приложеньку от производителя).

В чём минус это решение доступно не для всех пользователей, а только для обладателей ZigBee-сетей с возможностью послать вручную сконструированное сообщение на устройство. Быть может фирменный хаб от того же производителя также позволяет получить доступ к такой настройке, но у меня нет возможности проверить ввиду отсутствия упомянутого хаба.

В моём случае (у меня есть ZigBee-координатор CC26X2R1 и zigbee2mqtt) окончательное решение выглядит так:

  1. лампочку нужно сопрячь с координатором

  2. в логах найти её уникальный номер (к примеру 0x0017880108fe7a41)

  3. и послать через zigbee2mqtt MQTT-сообщение.
    Topic: zigbee2mqtt/[FRIENDLYNAME]/set/hue_poweron_behavior
    Data: off

Только после этого мы получим по-настоящему умную лампочку, которая горит, когда нужно и не горит, когда не нужно.


Хотел бы я, чтоб такая статейка попалась мне на глаза эдак годик назад. Я бы не задавался вопросом а почему везде свет горит, придя с работы домой, или выспался на пару раз больше. Надеюсь, мой опыт поможет другим. Если у кого-то есть примеры реализации умного света в спальне с надёжным выключением, устойчивым к перебоям электропитания и плавным включением по утрам без привязки к конкретному производителю, я был бы рад почитать в комментариях.

Подробнее..

Xiaomi Gateway MIEU01 как универсальный контроллер умного дома

22.02.2021 14:21:33 | Автор: admin

Home Assistant - прекрасное программное решение для умного дома. У неё современный интерфейс, множество плагинов и дополнений почти на все случаи жизни. В интернете можно найти множество компонентов для самых экзотических устройств. Но чтобы начать им пользоваться, надо как следует позаботиться об аппаратной платформе. Нужно либо купить одноплатный компьютер наподобие Raspberry PI, или же использовать десктопный компьютер, который должен работать в режиме 24/7.

Но что если я скажу, что даже простой ZigBee шлюз от Xiaomi с евро-вилкой, который вставляется в розетку, может работать как хост система для Home Assistant? Он может показывать значение датчиков в веб интерфейсе, управлять светом и розетками, контролировать ZigBee сеть, проговаривать текст голосом через встроенный динамик, делать полноценную автоматизацию и всё это на скромном устройстве, которое нужно лишь воткнуть в розетку.

Немного истории

Данная статья является логическим продолжением другой статьи о том, как команда энтузиастов взломала ZigBee шлюз от Xiaomi и получила доступ к ОС Linux, которая там установлена. Когда я прочитал эту статью, у меня возникло желание попробовать повторить манипуляции, которые @lenz1986 описал в своей статье.

Это потенциально вело к получению ZigBee шлюза, который можно будет как-нибудь хакнуть, чтобы он поддерживал работу со всеми ZigBee устройствами, а не только с устройствами от Xiaomi (число которых в случае европейского региона ещё и сильно урезано). Потому я приобрёл шлюз и поспешил воспользоваться инструкцией из статьи. Я спросил у автора, насколько безопасно прошивать, и он заверил меня, что это безопасно. Я, уверенный, что новая прошивка загрузится только в оперативную память, запустил команду для прошивки системы. Оказалось, что только в оперативной памяти работает новая операционная система OpenWrt, а все разделы, которые отвечают за стоковую систему, перетёрты новой полурабочей системой (которая на тот момент даже не видела flash-память).

Так началось моё приключение, которое и привело к тому, что на данный момент шлюз может работать как универсальный контроллер для умного дома. Он работает с ZigBee, bluetooth, может быть хост-системой для программ zigbee2mqtt, node-red, Domoticz и даже Home Assistant!

Всё что описано в статье касается европейского шлюза Xiaomi версии 2 (DGNWG05LM), а также первого шлюза Aqara (ZHWG11LM).

Статья так же применима к шлюзу Aqara в аналогичном форм-факторе, за исключением того, что в нём отсутствует bluetooth модуль.

Установка операционной системы OpenWrt

Далее приведена упрощённая инструкция. Более подробная версия находится на основном сайте проекта https://openlumi.github.io/, в ней подробно описывается каждый шаг. С картинками!

Исходная система на шлюзе использует сборку через yocto и не позволяет её расширять. В дополнении, она ещё и занимает большую часть из 256-мегабайного флеш-диска.

Потому мы меняем ОС на портированную последнюю стабильную версию OpenWrt 19.07. Образ системы с веб-интерфейсом LuCI занимает 10 мегабайт.

Сейчас установка и обновление максимально упрощены, но на первом этапе требуется USB-UART адаптер и паяльник, чтобы подпаяться к консоли, получить root и запустить установку OpenWrt.

Упрощённо это выглядит так:

1. В uboot прописать загрузку в single mode

setenv bootargs "${bootargs} single rw init=/bin/bash" && boot

2. В UART-консоли надо задать пароль через passwd, а после перезагрузки уже войти в систему и запустить скрипт установки OpenWrt.

Он находится в репозитории https://github.com/openlumi/owrt-installer и прошьёт последнюю версию OpenWrt.

На этом месте провода больше не нужны и можно собрать шлюз.
Голая система OpenWrt поднимает точку доступа без пароля, чтобы можно было зайти и настроить подключение к своей WiFi сети.

Отлично, теперь у нас есть (относительно) полноценный линукс с возможностью устанавливать сторонние пакеты, но пропала главная функциональность шлюза: его возможность работать с ZigBee устройствами. Вернём же её!

Zigbee2MQTT

Что такое Zigbee2MQTT?

Сеть ZigBee имеет ячеистую структуру и может даже работать сама по себе без внешнего управления. Но для того, чтобы она могла работать с системами извне, требуется главное устройство координатор. Обычно координатор имеет последовательный интерфейс для получения данных из сети и отправки команд в сеть. Программа Zigbee2MQTT умеет работать с координаторами разных производителей и отправлять данные устройств в MQTT брокер. MQTT - это один из протоколов для работы с устройствами умного дома, и многие системы УД умеют с ним работать. Потому, Zigbee2MQTT является мостиком от устройств ZigBee к любым системам умного дома.

Zigbee2mqtt является де-факто стандартом для работы с устройствами ZigBee. Он умеет прокидывать параметры устройств и их состояние в брокер mqtt, где их уже может считывать ваша система умного дома.Мы же установим Zigbee2mqtt и MQTT брокер mosquitto прямо на шлюз.

В шлюзе установлен зигби модуль JN5169, и для неё рабочей прошивкой является прошивка zigate, которая позволяет использовать чип, как координатор сети зигби. Благодаря стараниям @G1K, в zigbee2mqtt появилась поддержка работы с zigate и сейчас, начиная с версии zigbee2mqtt 1.17, в нём уже есть поддержка этой прошивки. Также, с его помощью мне удалось собрать пакет для OpenWrt размером в скромные 5 МБ. Чтобы установить, вам нужно в OpenWrt добавить feed с собранными пакетами для шлюза, и затем стандартным способом установить нужные пакеты

Добавляем фид:

wget -q https://openlumi.github.io/openwrt-packages/public.key -O /tmp/public.key && opkg-key add /tmp/public.key && rm /tmp/public.keyecho 'src/gz openlumi https://openlumi.github.io/openwrt-packages/packages/19.07/arm_cortex-a9_neon' >> /etc/opkg/customfeeds.conf

Устанавливаем пакеты:

opkg updateopkg install mosquitto node node-zigbee2mqtt

Прошить зигби чип можно прямо из веб-интерфейса LuCI:

Прошивки с разными скоростями работы с внешним последовательным портом можно скачать отсюда: https://github.com/openlumi/ZiGate/releases/tag/snapshot-20210103

Там же нужно сбросить EEPROM чипа, который хранит в себе данные о подключённых устройствах.Нужно выбрать скорость, на которой работает прошивка и нажать кнопку Erase PDM.

Уже на этом этапе, после перезагрузки, на порту 8080 загрузится веб интерфейс zigbee2mqtt, который позволяет включать режим спаривания и управлять подключёнными устройствами.

Улучшенная прошивка

Разработка прошивки Zigate идёт достаточно вяло и в ней присутствуют определённые проблемы. Потому тот же самый @G1K взялчистый пример координатора от NXP и применил только необходимые патчи из проекта Zigatе. В итоге прошивка лишилась ряда проблем, и при этом продолжила исправно работать с zigbee2mqtt

Альтернативная прошивка для z2m находится тут: https://github.com/openlumi/JN-ZigbeeNodeControlBridge-firmware

Home Assistant

И вишенкой на торте стало портирование целиком системы Home Assistant прямо на шлюз. Целиком это некоторое преувеличение, т.к. даже начальная установка занимает гораздо больше места, чем есть на шлюзе, а каждый компонент может требовать версию библиотек, которые отсутствуют в поставке.

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

Устанавливается это тоже всего лишь в одну команду (при условии, что у вас подключён фид openlumi).

wget https://raw.githubusercontent.com/openlumi/homeassistant_on_openwrt/main/ha_install.sh -O - | sh

Будет установлена последняя версия с поддержкой python 3.7 Home Assistant 2021.1.5

В поставке есть компоненты для работы с MQTT, если вы захотите его использовать с zigbee2mqtt, а также ZHA, компонент для работы с сетью зигби напрямую, если вам будет хватать поддержки устройств от этого компонента. Для ZHA потребуется оригинальная прошивка Zigate, работающая на скорости 115200.

В Home Assistant работают автоматизации, а также есть отзывы об успешном запуске компонентов mpd, tts, mysensors, камер

Для управления датчиками и устройствами самого шлюза можно использовать сервис lumimqtt (https://github.com/openlumi/lumimqtt)

При использовании компонента MQTT устройства сами залетят в систему, используя механизм mqtt discovery.
Установленный Home Assistant занимает на диске около 100 МБ и после загрузки работает достаточно быстро для подобной аппаратной платформы.

Более подробная инструкция по установке тут https://github.com/openlumi/homeassistant_on_openwrt

Что ещё можно сделать?

На шлюз Xiaomi с установленной OpenWrt можно устанавливать почти все пакеты из официального репозитория. Однако есть проблемы с использованием модулей ядра из пакетов, это может привести к kernel panic при установке. Такое было замечено при установке пакетов для openvpn, l2tp.В случае же приложений для userspace ограничений нет.

Например, была успешно бекпортирована более легковесная система умного дома Domoticz 2020 из master-ветки openwrt. В ней работают как плагин для работы с Zigate напрямую, так и плагин для zigbee2mqtt.

Если вы хотите более сложную логику для автоматизаций, чем предоставляет Home Assistant, есть возможность установить пакета для визуального поточного программирования node-red прямо на шлюзе. Разнообразные ноды для управления шлюзом уже в комплекте.

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

На плате шлюза есть выведенные пятаки GPIO, правда, очень мелкие, но можно их использовать в linux через sysfs.Также на платах, где используется модуль WiFi Realtek 8723bs (все евро-шлюзы Xiaomi), есть возможность использовать встроенный bluetooth. В шлюзах Aqara стоит чип 8189es, в котором модуля bluetooth нет.

Несмотря на то, что проект уже выглядит вполне завершённым, если у вас есть навыки или знания, вы всё ещё можете присоединиться к улучшению достигнутых результатов.

Все текущие результаты собраны в едином проекте на гитхабе https://github.com/openlumi

Телеграм-чат для обсуждения.

Благодарности

Чтобы достичь данного результата, над проектом также работало множество замечательных людей:

@lenz1986 добавил поддержку nand, bluetooth

@Alx2000y написал драйвер для звука для шлюза, внедрил поддержку overlayfs, бекпортировал модуль ядра для паттернов мигания светодиодами

@G1K написал адаптер для zigbee2mqtt, которая поддерживает zigate в качестве координатора, организовал фид с пакетами для установки их на шлюзе через opkg и оптимизировал node-red для работы на шлюзе

@divanikus написал скрипт по установке OpenWrt на стоковой системе по воздуху

И, напоследок, бонус

Приблизительное сравнение аппаратных систем, чтобы понимать что вы потеряете и приобретёте, если возьмёте шлюз Xiaomi в качестве хоста для умного дома.

Raspberry PI 3b

Orange PI PC2

Xiaomi Gateway DGNWG05LM

Процессор

Broadcom BCM2837 Quad Core 1.2GHz 64bit

AllWinner H5 Quad-Core 1.2GHz 64bit

iMX6ULL, single core 696 MHz 32bit

Оперативная память

1Гб

1Гб

256Мб

Дисковое пространство

Требуется SD Card

Требуется SD Card

256Мб

Ethernet

100Mbit

100Mbit

-

USB

4 x USB 2.0

3 x USB 2.0

1 x USB 2.0, требуется распайка разъёма

Bluetooth модуль

+

-

+

ZigBee модуль

-

-

+

WiFi модуль

+

-

+

Питание

Требуется внешнее питание, micro-USB

Требуется внешнее питание, круглый разъём

Встроенный блок питания

Дополнительно

HDMI, Гребёнка GPIO, разъём для подключения камеры, jack 3.5

HDMI, Гребёнка GPIO, разъём для подключения камеры, jack 3.5

Встроенный динамик, цветная подсветка, датчик освещённости, HID кнопка. GPIO на плате требуют пайки.

Подробнее..

Становление термостата Lytko 101 что из этого вышло

04.11.2020 16:22:09 | Автор: admin
Ровно год назад на суд общественности был представлен разработанный нами термостат: умный термостат Lytko 101.

Статья, посвященная ему, в то время получила широкий оклик среди аудитории, интересующийся домашней автоматизацией и просто неравнодушных; и в данном материале мы хотим актуализировать информацию о нашем продукте, рассказать как он эволюционировал за это время и какой был пройден путь нами. Но обо всём по порядку. Надеемся, вам будет интересно, начнем!

image



Схемотехника


Термостат по прежнему представляет собой сендвич из трех компонентов: нижняя силовая плата, умная верхняя плата и тач-монитор (старый знакомый Nextion 2.4). В будущем мы хотим заменить монитор: ведем работы по созданию аналогичного дисплейного модуля, но с емкостным тачскрином. Данная модернизация не повлияет на конечную стоимость: не увеличит ее, но, к сожалению, и затраты на производство также сокращены не будут. Выиграют пользователи перспективный дисплей более отзывчив по сравнению с резистивным Nextion.
Также мы разработали без экранную версию термостата. Отличие лишь в итоговой стоимости и возможности скрытой установки в подрозетник.

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

Силовая часть без изменений, всё на своих местах:
БП AC-DC 5В 700мА, реле TE Connectivity (RT314005) 16А
image

image

А вот мозг термостата, как аппаратная, так и его программная часть, подверглась куда более основательному пересмотру.

image

1 минорное изменение: отказались от встроенного датчика температуры ds18b20, место под него осталось, при необходимости установка diy не должна составить труда;
2 разъем для подключения монитора Nextion.
3 разъем для будущего монитора (на изображении не установлен) приверженцы DIY смогут им воспользоваться в полной мере;
4 посадочное место для радио-модуля сс2530 (е18);
5 разъем для подключения провода программирования (на изображении ниже).
С его помощью владелец может поменять ПО на любое другое, совместимое с платформой. Ранние версии предусматривали лишь место под пайку, сейчас же перепрошивать устройство не составит труда.



Watchdog (аппаратный) для обеспечения максимальной надежности перезапустит устройство, если что-то пошло нет так. Прежнюю перемычку джампер для его активации сменил аналоговый ключ управления и кнопка.

В целях оптимизации места модуль ESP8266 был перенесен на нижнюю сторону платы. Радио-модуль nRF24L был заменен на модуль cc2530 (e18), что в будущем позволит использовать термостат в сетях ZigBee.

Ранее примененный механизм для соединения верхнего и нижнего яруса в единое целое (изображение 1), к сожалению, показал себя не с лучшей стороны отмечен его неприемлемо низкий ресурс на эти самые соединения рассоединения. Мы заменили его на более надежный (изображение 2).


Изображение 1


Изображение 2

Программная составляющая


В прошивку с поддержкой MQTT мы добавили экспериментальную функцию в виде нативной поддержки протокола Apple HomeKit. В дальнейшем мы планируем получить сертификат MFI и сделать полноценную поддержку Apple HomeKit.

Опытная прошивка HomeKit делает интеграцию термостата в экосистему умного дома под управлением Apple прозрачной и простой. Настраивать и управлять устройством вы сможете, используя как его сенсорный экран или web-интерфейс, так и родное Apple приложение Дом.

В фирменной версии MQTT общение с остальным миром умных вещей ведётся по MQTT протоколу через MQTT-брокера, что открывает возможности для интеграции практически с любыми системами, представленными на рынке (MajorDoMo!, Home Assistant и т.п.). В целом характеризуется более гибкими настройками, позволяет настраивать сценарии.

Переключиться между этими двумя версиями пользователь может в любой момент с помощью web-интерфейса.

Опишем все возможности обстоятельнее


Была переработана механика взаимодействия и дизайн интерфейса для встроенного в термостат тачскрин монитора. В основу лег опыт эксплуатации пользователей, их запросы. В том числе очень помогли комментарии под статьей (еще раз спасибо!) и предложения по улучшению интерфейса в нашей группе Телеграмм. Web-сайту тоже досталось.

Так выглядела главная страница в старой версии


Теперь она выглядит так:



Сделаем обзор всех настроек термостата.

Старый интерфейс




Новый интерфейс

Вы можете:
  1. Выставить гистерезис и настроить корректировку температуры сенсора (сдвиг в большую или меньшую сторону +- 5.0 градусов с шагом 0.5);
  2. Изменить тип сенсора (цифровой ds18b20 или аналоговый доступного номинала);
  3. Включить или выключить защиту от детей (блокировка дисплея);
  4. Обновить прошивку термостата Over-the-air (по воздуху);
  5. В разделе Отладочная информация выводятся данные для разработчиков: количество свободной оперативной памяти, прошедшее с момента включения время и текущий режим работы контроллера термостата;
  6. При необходимости задать иную конфигурацию устройства произвести сброс настроек.


Кроме того, Вы можете настроить пороговые значения температуры: минимально и максимально допустимые значения. На данный момент диапазон регулируется от 7 до 75 градусов, но в дальнейшем мы увеличим верхний порог до 90 градусов. Это позволит использовать термостат для управления котлом отопления. Эти значения задаются только в момент первоначальной конфигурации. В случае необходимости их изменения понадобится сбросить устройство и заново настроить параметры.



Мы постоянно расширяем список поддерживаемых аналоговых датчиков температуры, и на данный момент он выглядит так:
  1. 3.3 кОм,
  2. 5 кОм,
  3. 6.8 кОм,
  4. 10 кОм,
  5. 12 кОм,
  6. 14.8 кОм,
  7. 15 кОм,
  8. 20 кОм,
  9. 33 кОм,
  10. 47 кОм.

Само собой, поддержка цифрового датчика ds18b20 сохранилась (он выбран по умолчанию).





Web-страница позволяет произвести все вышеперечисленные настройки. Кроме того:
  • подключиться к MQTT-брокеру;
  • посмотреть описание топиков для управления устройством;
  • обновить устройство с Сервера, либо загрузить файл прошивки вручную;
  • сменить режим работы с MQTT на HomeKit и обратно;
  • переподключить устройство к другой сети Wi-Fi.




Подготовка к работе


Данные для подключения к точке доступа ESP закодированы в qr-code, демонстрируемом на экране при первом включении (на версии с экраном). Просто отсканируйте его своим смартфоном и согласитесь с предложением подключится к AP термостата. В версии без экрана понадобится подключиться к точке доступа Lytko-xxxx вручную.



После подключения к сети и первоначальной конфигурации на Вашем смартфоне устройство готово к работе. Всё.

Обратная связь


Помимо предложений по улучшению интерфейса термостата, нам также поступают идеи для расширения функционала устройства: что если установить тот же самый термостат для управления бойлером? По просьбе одного из участников нашей группы в Телеграм мы добавили в прошивку поддержку бойлера, увеличив верхний порог температуры, до которого контроллер позволяет нагревать подключенное устройство.

При первом запуске понадобится выставить максимальную температуру до необходимого уровня в момент первоначальной конфигурации.

Коллега подключил термостат к бойлеру ГВС и написал об этом статью.

Достижения


Наш термостат теперь в телевизоре, точнее, в объективе. На YouTube-канале Электроника в объективе вышло видео о нашем продукте. Команда Lytko благодарна автору за обстоятельный обзор устройства и емкое демонстрирование функционала. Мы учли высказанную автором критику и работаем над исправлением всех недочетов.

В обзоре представлено две модели: обычный теплый пол* и сухой контакт.
*хотя термостат этой версии также может использоваться вместе с бойлером, а некоторые из наших пользователей смогли сконфигурировать его для управления клапанами на радиаторах. Пока что только через проводной сенсор, но мы разрабатываем и варианты получения температуры извне: с помощью BLE-датчика, ZigBee-датчика или внешнего датчика MQTT.
P.S. мы не останавливаемся на достигнутом и подготовили новую версию устройства с ESP32 на борту. Испытания скоро начнутся.



Подробнее..

Zigbee 101 руководство для начинающих

30.12.2020 14:14:51 | Автор: admin
image
Умный дом: автоматизация, протоколы, устройства, экосистемы и открытое ПО. Так много вопросов и так мало ответов. Приоткроем же завесу тайны одного из популярнейших IOT протоколов Zigbee.

Что такое Zigbee?


Zigbee технология, которая основана на радио стандарте IEEE 802.15.4 и предназначена для стандартизации маломощных M2M устройств разных производителей. Из особенностей сети можно выделить высокую отказоустойчивость, длительный срок службы конечных устройств от одной батареи, поддержку большого количества подключений и совместную работу устройств разных производителей.
Из особенностей архитектуры сети: поддержка топологии mesh, обязательное наличие координатора и, необязательное, роутера. Больше об архитектуре сети здесь.

ZigBee предусматривает передачу информации в радиусе от 5 до 75 (на открытой местности до 200) метров с максимальной скоростью 250 кбит/с. Поддерживает работу в 27 каналах трех частотных диапазонов:
2,4 ГГц (16 каналов)
915 МГц (10 каналов)
868 МГц (1 канал)

imageЗанимательный факт:
Согласно одной из версий, название ZigBee происходит от зигзагообразного танца пчел, которым они указывают своим соседям путь к следующему источнику пищи, аналогично, как и пакеты данных стандарта должны найти свой путь в mesh сети.

Что нового в Zigbee 3.0


Direct binding, или прямое соединение позволяет конечным устройствам разных производителей работать напрямую без участия координатора и роутера. Это позволяет гибко настраивать сценарии поведения устройств и увеличить скорость срабатывания.
Green Power набор технологий, которые минимизируют использование ресурсов батареи устройством, а также могут ее собирать за счет кинетической, световой, и тепловой энергии. Немного непонятно звучит; говоря иначе, переключатель сможет передать сообщение за счет того, что вы к нему прикоснулись. Детальнее тут
Унификация. Раньше существовало множество так называемых профилей. Например, Home Automation, Building Automation, Health. Zigbee 3.0 это единый профиль приложений.
Обратная совместимость со всеми продуктами выпущенными до v3.0

Зачем это нужно?


Если кратко для измерения показаний и автоматизации. Сфер применения этой автоматизации много. И хотя в последнее время прослеживается тенденция унификации, технология поддерживает различные профили, которые делятся по сфере применения. Вот некоторые из них.
Home Automation управление домашними устройствами и создание сценариев.
Remote Control управление устройствами дистанционного управления.
Smart Energy контроль и автоматизация доставки и использования энергии.
Green Power поддержка устройств генерации электроэнергии.
Light Link управление освещением.
Health Care управление устройств медицинского и около медицинского (браслеты измерения показаний, кнопки sos) назначения.

Много ли устройств Zigbee?


Приблизительно 2600 устройств (список сертифицированных устройств zigbeealliance.org/product_type/certified_product). Стоит уточнить, что в большинстве случаев каждый производитель имеет свое приложения для подключения только своих устройств, но, используя стороннее программное обеспечение, их можно подружить. Об этом ниже.

Средняя цена одного конечного устройства варьируется в районе 10$.
Вот пример конечных устройств нескольких популярных производителей:
Xiaomi Aqara около 50 устройств разного назначения (Mi Home приложение не работает с устройствами Aqara).
Philips Hue около 100 устройств, (большинство светильники),
Ikea trdfri около 40 устройств (большинство светильники),
Tuya около 30 устройств,
SONOFF около 10 недорогих реле.

Zigbee USB устройства (стики)


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

Вот пример нескольких популярных устройств:
cc2530/2531 дешевый и популярный стик. Неплохой выбор для начинающих. Из минусов: небольшой радиус покрытия (10-15 м без антенны) и ограничения по количеству подключаемых устройств.
cc2538 стик разработанный энтузиастами проекта modkam.ru. По сравнению с 2531, обладает большим радиусом действия и не имеет ограничений по количеству подключений (тесты показали больше 200 устройств).
deCONZ Conbee стик также поддерживает большое количество систем умного дома. Из минусов родной прошивки иногда отваливаются конечные устройства.
Также примеры менее популярных:
nRF52840 Dongle универсальный стик с поддержкой Bluetooth 5, Bluetooth mesh, Thread, ZigBee, 802.15.4 и ANT и удобной средой разработки.

Zigbee шлюзы


Готовые решения
Xiaomi/Aquara три самых популярных устройства Xiaomi Gateway 2 и 3 версии и Aqara Hub. Gateway 2 не совместим с homekit и имеет 2 версию протокола Zigbee. Третья версия имеет на борту Zigbee 3.0 и Bluetooth Mesh 5.0. С дополнительными различиями поможет разобраться краткий ролик.
image

Менее популярные zigbee концентраторы просто перечислю
Orvibo
livolo
Wemo
Vera
Fibaro

Zigbee+ Zvawe
Athom Homey
Wink hub 2
SmartThings Hub
VeraPlus

DIY, или сделай сам
SLS шлюз Устройство на основе СС2538+СС2592 и ESP32-Wrover-B. Поддерживает Zigbee 3.0 и в отличие от Xiaomi он не ограничен одной экосистемой. А в отличие от стиков CC2531, CC2538 и Deconz он является готовым устройством и может работать как самостоятельно, так и в системе домашней автоматизации Home Assistant. На данный момент поддерживается 113 устройств. Видео обзор
ZESP32 Zigbee&ESP = ZESP. ZESP это прошивка для шлюза Xiaomi Gateway. Точно так же как и SLS он рассчитан на подключение Zigbee устройств разных производителей. Основная концепция упрощение добавления нового устройства в сеть при помощи изменяемых шаблонов.
cc25хх + комп'ютер удобный вариант если у вас уже имеется raspberry pi, или старенький пк, который будет выступать в роли сервера. В этом случае вы можете выбрать любую удобную систему домашней автоматизации, о которых ниже.

Что по экосистемам?


Apple home программное решение от Apple. Количество поддерживаемых устройств невелико, но функционал можно расширить с помощью homebridge и aqara hub. Вы можете использовать Apple home в домашней сети используя только Iphone и хаб (Zigbee), но для удаленного управления нужен домашний центр в роли которого могут выступать iPad (iOS 10 или выше), HomePod, или Apple TV.
Google home также не работает с Zigbee устройствами напрямую, но имеет совместимость с Alexa.
Amazon ассистенты Echo Show, Spot и Plus умеют работать напрямую поскольку имеют встроенный zigbee координатор. Тем не менее проблемой является ограниченное количество совместимых устройств и непопулярность решения в странах СНГ.
Xiaomi/Aqara шлюзы компаний Xiaomi и Aqara поддерживают только свои zigbee устройства. В отличие от Xiaomi Gateway у Aqara Hub не предусмотрена возможность интеграция с альтернативными системами домашней автоматизации.
Samsung SmartThings позиционируется как универсальный хаб. Работает с большим количеством устройств Z-Wave и Zigbee. Пользователи часто жалуются на падение облака (отсутствие подключения к серверу) и отсутствие интереса в развитии проекта со стороны разработчиков.
Яндекс дом. Диалоги Яндекс Станции и для телефона это разные вещи. Для колонки диалогов меньше, они примитивные. Заявлена поддержка ZigBee и Bluetooth устройств, но не работает с ними напрямую. Многие сценарии зависят от наличия интернет соединения, но решением может быть подключение сторонних контроллеров умного дома, например с помощью yandex2mqtt.

Как там с программной поддержкой?


image

Для удобства разделю программные решения на категории.
Домашняя автоматизация
Homebridge сервер NodeJS, для интеграции устройств без поддержки HomeKit.
HomeAssistant система с открытым кодом с акцентом на конфиденциальность.
OpenHAB opensource проект с акцентом на удобство настройки
MajorDoMo система интеграции с открытым кодом.
Dashboard
RoboDomo фреймворк, на MQTT с привлекательным графическим интерфейсом.
node-red-dashboard модуль node-red для создания панели управления, интегрируется в
Интеграция
Zigbee2mqtt позволяет использовать вместе устройства разных поставщиков без шлюза, транслируя команды zigbee в mqtt.
MQTT Explorer удобный mqtt клиент
Разработка
IAR Embedded Workbench среда с дружественным интерфейсом и поддержкой большого количества микроконтроллеров
Simplicity Studio IDE и набор инструментов для разработки приложений на базе процессоров Silicon Labs
SimpleLink SDK среда разработки для чипов разработки Texas Instruments, включающий API, TI-RTOS и прочее.
Red-node блочный инструмент программирования для соединения аппаратных устройств, API и онлайн-сервисов.
Тестирование и аудит
KillerBee инструмент для тестирования Zigbee сетей.
SecBee тестирование реализаций ZigBee на проблемы безопасности.
Z3sec основная цель фреймворка тестирование сертифицированных устройств, реализующие ZigBee Light Link (ZLL), или стандарт ZigBee 3.0.
pwnrf инструмент для тестирования безопасности в сетях Wi-Fi, Bluetooth и Zigbee.

Что выбрать: Wi-Fi, Bluetooth, ZigBee или Z-Wave?


image

На рынке существуют десятки IOT технологий, но самыми популярными решения являются Wi-Fi, Bluetooth, ZigBee и Z-Wave.

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

Bluetooth LE (Low Energy) не менее популярная технология с низким энергопотреблением, что позволяет более года не менять батарейку и высокой скоростью передачи 1-2 Мбит. Имеет функцию маячка (настраиваемое поведение устройств при приближении) и работает с устройствами напрямую. Из минусов работа в диапазоне 2,4 ГГц, и небольшой радиус действия в помещении с другими устройствами. Также большинство BLE устройств работают по принципу точка-точка, что плохо подходит для создания продвинутых сценариев автоматизации. Но решение данной проблемы можно считать спецификацию Bluetooth mesh.

ZigBee открытый стандарт с низким энергопотреблением конечных устройств (1-2 года), поддержкой ячеистой (mesh) топологии, высокой помехоустойчивостью, хорошей масштабируемостью (в теории до 65000 узлов) и большим проникновением на рынок. Из минусов: Zigbee работает в загружённом диапазоне 2,4 ГГц, что при сильных помехах может привести к снижению помехоустойчивости, и уменьшению радиуса действия. Каждый производитель создает отдельное приложение для поддержки только своих продуктов. Но как по мне самый большой минус это то, что устройства разных производителей не могут общаться" между собой из коробки. Их можно объединить при использовании стороннего ПО, но отсутствие общих решений приводит к относительно высокому порогу вхождения. Альянс знает об этих проблемах и для устранения работает над DotDot и Connected Home over IP.

Z-Wave зарекомендовавший себя закрытый стандарт. Обладает высоким уровнем совместимости устройств, низким энергопотреблением, поддержкой ячеистой топологии, имеет стабильный сигнал в диапазоне 800900 МГц, что позволяет лучше огибать препятствия (чем больше длина волны (ниже частота), тем лучше она преодолевает препятствия). Поддерживает до 232 устройств в одной сети и скорость до 100 кбит/с. Из недостатков стоит указать, что в разных странах для устройств малого радиуса действия выделены разные частоты. И устройства созданные для одной страны могут быть несовместимы для другой. Также Z-Wave несколько дороже ZigBee устройств.

С чего начать, если вы новичок?


Если вы пытаетесь выбрать на чем построить свой умный дом начните с этой занимательной схемы. Также лично для меня вдохновляющими была статья Дом Дурачок 2.0
Если у вас возникают трудности в настройке своего умного дома, вы можете попросить совета в группе SmartHome
Если вы хотите купить SLS шлюз и другие Zigbee устройства вам в Zigberu
Обсуждение устройств, прошивок и прочего софта, работающего с Zigbee Вокруг да около Zigbee и
Zigbee

Вместо заключения


Тяжело сказать кто победит в войне протоколов умного дома. Zigbee не лишен недостатков, имеет сильных конкурентов, но вместе с тем его сильная сторона это большое заинтересованное сообщество (Zigbee Альянс, энтузиастов и гиков). Интерес к Zigbee проявляют как именитые бренды, так и молодые компании.
Стоит отметить, что не существует универсального решения на все случаи жизни. Выбирайте, то что подходит именно вам, именно в вашем случае. WiFi и Bluetooth хотя и громоздки, но есть случаи, когда их использование оправдано.
Подробнее..

Подключаем новый Xiaomi Gateway 3 к Home Assistant без паяльника и смс

18.09.2020 10:20:14 | Автор: admin

Новый хаб от Xiaomi с поддержкой технологий Zigbee 3, Bluetooth Mesh, HomeKit и его подключение к достаточно популярной системе умного дома Home Assistant, интересует?



Введение


Устройства умного дома можно встретить на разных беспроводных протоколах.


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


Wi-Fi


Чаще всего новички выбирают устройства на технологии Wi-Fi. Ведь Wi-Fi роутер сегодня есть у всех. Умным устройством можно пользоваться сразу после покупки. Но тут есть нюанс: в количестве устройств слабость Wi-Fi. Роутеры от провайдеров в большинстве своём тот ещё хлам, способный справиться с 1-2 десятками устройств. И пять новых умных лампочек могут быть проблемой для всей сети.


Здесь выходом будет хороший двухдиапазонный роутер. Весь умный дом можно повесить на диапазон 2.4 ГГц, а мультимедиа-устройства (смартфоны, ноутбуки, телевизоры, колонки) на 5 ГГц.


Bluetooth


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


В таких случаях производители рекомендуют покупать BLE Gateway. Это устройство, которое будет посредником между Bluetooth и серверами производителя. Здесь уже далеко не все пользователи соглашаются на дополнительные траты и лишнюю железку в доме.


Некоторые производители встраивают возможности BLE Gateway в камеры и лампы, закрывая проблему лишних затрат и лишнего устройства в доме.


Zigbee


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


Дополнительную проблему составляет, что каждый такой Gateway поддерживает только дочерние устройства своего производителя. Купив устройства Philips Hue, IKEA, Sonoff, Xiaomi и Tuya, вы, скорее всего, должны будете докупить пять Gateway соответственно.


Эта технология заслуживает внимания по следующим причинам:


  • Беспроводные датчики довольно маленькие и в последнее время не такие и дорогие: 500 рублей за простейший датчик или кнопку это реальность, Xiaomi и AliExpress сделали своё дело.
  • Беспроводные датчики могут продержаться на одной батарее несколько лет, без шуток лет!
  • В количестве Zigbee устройств их сила: технология поддерживает Mesh, проводные устройства, скорее всего, будут ретрансляторами сигнала между Gateway и удалёнными датчиками, заодно снимая нагрузку с самого Gateway.
  • Технология поддерживает прямое управление в обход Gateway, можно связать кнопку и лампочку. В случае выхода Gateway из строя управление светом продолжит работать. Правда далеко не все кнопки это умеют.

Xiaomi


Фирма Xiaomi сделала многое для продвижения технологии Zigbee в альтернативных системах умного дома. Их старенький Xiaomi Gateway 2 (DGNWG02LM, lumi.gateway.v3) имел на борту "режим разработчика", который открывал локальный протокол доступа к управлению Zigbee устройствами этого шлюза. Интеграции этого протокола есть в множестве open source систем.


В евро-версии этого шлюза Xiaomi Gateway EU (DGNWG05LM, lumi.gateway.mieu01), а также в обновлённой версии Xiaomi Gateway 3 (ZNDMWG03LM, lumi.gateway.mgl03) этого протокола нет.


Обновлённая версия шлюза получила новый чип на Zigbee 3 (EFR32MG1B), а также поддержку технологии Bluetooth Mesh и HomeKit. В HomeKit поддерживаются не все устройства, будьте внимательны.


Xiaomi Gateway 3


В отличие от всех остальных шлюзов, обновлённая версия имеет уникальную особенность: на ней программно можно открыть Telnet-доступ. Доступ открывается только при наличии Mi Home токена, так что всё вполне секьюрно.


В этом шлюзе стоит чип серии EFR32 от фирмы Silicon Labs. Те в свою очередь поставляют вместе с чипом набор SDK. В составе SDK есть MQTT-транспорт, обеспечивающий доступ к Zigbee проколу из любого ПО, установленного как на шлюзе, так и за его пределами.


По умолчанию MQTT-брокер не доступен извне, но у нас ведь теперь есть Telnet!


В брокере есть два корневых топика: это "сырые" данные Zigbee и обработанные данные от Xiaomi. Я решил взять за основу обработанные данные. Там атрибуты устройств хоть и описаны псевдокодами, но в них всё же проще разобраться человеку, ничего не понимающему в Zigbee.


В итоге получился такой вот компонент для Home Assistant XiaomiGateway3.


Он автоматически включает Telnet и публичный MQTT, используя токен Mi Home.


Сейчас токен нужно получать нехитрым образом (инструкция в readme). Но в будущем я планирую добавить получение токена с серверов Xiaomi, используя аккаунт Mi Home. Ведь недавно в сети появилась рабочая реализация авторизации в их облаке.


Сейчас компонент получает список устройств и последние значения их атрибутов с Хаба. Но в дальнейшем я планирую добавить получение списка устройств из облака. Там есть пользовательские названия всех устройств.


BLE Gateway


С этим пришлось повозиться. Работа с Bluetooth-устройствами не отражается в MQTT. Зато все данные отражаются в консоли. Поэтому компонент подключается к хабу через Telnet отдельным потоком, перезапускает утилиту работы с Bluetooth и читает её вывод в реальном времени. Это самый стабильный способ, что я нашёл. В syslog данные от этой утилиты попадают с перебоями. Моих знаний Linux не хватает, чтоб понять, почему так происходит.


Первым делом компонент научился поддерживать стандартный набор Bluetooth-устройств Xiaomi: датчики температуры, анализаторы почвы и освещенности, фумигатор.


А пару дней назад в нём появилась поддержка умных Bluetooth-замков. На сегодняшний день это единственный из известных мне способов подключить BLE-умный замок Xiaomi в альтернативную систему умного дома.


Чайника у меня нет, но присылайте логи добавлю и его. Правда чайники Xiaomi не поддерживают функцию удалённого включения, это большой минус.


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


Поддержка Bluetooth Mesh ламп пока в разработке. Работа с ними сильно отличается от BLE-устройств.


Планы


Грандиозные.


Нужно отладить работу хаба со всем списком официально поддерживаемых Zigbee-устройств. Добавить возможность настройки "тонких" параметров:


  • настройки хаба: например, мощность (и её можно сильно увеличить!),
  • изменение настроек дочерних устройств: режим логических кнопок на выключателях, чувствительность датчика вибрации и многое другое.

Нужно добавить поддержку облака для получения токена хаба и полного списка Zigbee и Bluetooth-устройств.


Нужно добавить поддержку Bluetooth Mesh ламп.


И самое главное добавить поддержку устройств других производителей. Да, это возможно. Мне удалось подключить все сторонние устройства, что у меня были, и управлять ими. Такие устройства не отображаются в Mi Home и HomeKit. Но управлять ими можно с помощью "сырых" Zigbee-команд.


Для понимания полного масштаба проблемы такой поддержки загляните в исходники замечательного проекта zigbee2mqtt: devices, fromZigbee, toZigbee.


Почти каждое устройство требует свой собственный обработчик. В случае с Xiaomi Gateway 3 и официально поддерживаемыми устройствами роль такого обработчика выполняет софт хаба.


Другие мои разработки можно найти на GitHub. Среди русскоговорящей аудитории наиболее популярный проект YandexStation. Глобально очень хорошо себя зарекомендовал SonoffLAN. Но, думаю, XiaomiGateway3 его легко обгонит. За развитием этого и других моих проектов можно следить на моём канале Telegram.

Подробнее..

Светодиодные лампы IKEA TRDFRI и умный дом Xiaomi

20.10.2020 20:09:53 | Автор: admin
В этом году в российских магазинах IKEA появились умные светодиодные лампы TRDFRI (Тродфри), управляемые по протоколу Zigbee.
Для управления этими лампами можно использовать zigbee-шлюзы умного дома Xiaomi.




В шведской IKEA сейчас в продаже 60 товаров TRDFRI:



В России только четыре, причём написано, что лампочки Выходят из ассортимента.



Летом была ещё лампочка E27 1000 лм за 899 рублей, сейчас её нет, да и всего остального похоже скоро не будет.

По качеству света лампы TRDFRI такие же, как IKEA LEDARE: CRI 91-92, точное соответствие параметров заявленным, небольшая пульсация до 12%. Вот результаты моих измерений этих ламп в лаборатории (груша, свечка, спот).



Догадываюсь, что российская IKEA выводит эти лампы из-за ассортимента потому, что не было спроса. А спроса не было из-за того, что лампы завезли, а шлюзы и управляющие панели забыли. В результате в IKEA можно купить умные лампочки, а управлять ими невозможно, так как устройства управления продаются только за границей.

К счастью оказалось, что умный дом Xiaomi поддерживает лампы IKEA и в списке устройств есть семь икеевских ламп.



Увы, из тех ламп, что продавались и продаются в России, удаётся подключить только свечку и спот. Груша E27 не подключается ни к MI Gateway 2, ни к MI Gateway 3. Об этом пишут в интернете, но я проверил лично не хочет подключаться (или в китайской IKEA другие лампочки, или в Xiaomi что-то напутали).

Свечка и спот GU10 подключаются без проблем, для этого нужно включить шлюз, выбрать в приложении MI Home добавление соответствующей лампы IKEA (шлюз устройства +), когда начнётся поиск, сбросить лампочку: включить, затем шесть раз выключить и включить (в приложении и инструкции от лампы написано неправильно включить и выключить шесть раз). Если лампочка успешно сбросилась, она мигнёт.



На странице лампочки выключатель, регулятор яркости, а сверху три совершенно бессмысленные кнопки настроения. Разумеется, можно настраивать таймеры и автоматизацию.



В режиме минимума света лампочка даёт 5% от номинальной яркости, для режима ночника это слишком много.



Если вы пользуетесь умным домом Xiaomi и хотите добавить к нему умные лампочки, IKEA TRDFRI отличный вариант где вы ещё найдёте умные лампы с CRI 91+ по 699 рублей. Стоит поторопиться: к сожалению скоро они уйдут из России, а когда вернутся неизвестно.

P.S. Резултьаты моих измерений параметров ламп IKEA TRDFRI на Lamptest.ru: https://lamptest.ru/search/#&search=tradfri&sort=no&order=asc.

2020, Алексей Надёжин
Подробнее..

Что такое умный термостат?

16.06.2021 12:16:05 | Автор: admin

Некоторое время назад мы попытались дать ответ на этот вопрос. Через призму нашего видения.

Вот, что у нас получилось.

За последнее время мы выпустили несколько крупных обновлений ПО, которые как исправляли некоторые недоработки, так и расширяли функционал устройства.

В целом, на сегодняшний день, термостат обладает всем разнообразием функционала, который мы хотели реализовать в нём. Конечно, будет еще несколько нововведений, добавление более продвинутого расписания; но контроллер, установленный в термостат, себя исчерпал. Надо двигаться дальше.

Последние несколько месяцев наша команда вела разработку нового устройства. Устройства, которое будет не просто термостатом. Оно оставит в себе лучшее от предшественника. Но помимо этого, будет связующим звеном, которое, как мы надеемся, позволит приобщиться к умным домам всем желающим. Тем, кто заинтересован; но, с расстояния, тема умных домов кажется им темным лесом.

Позвольте представить, Панель управления климатом и светом.

По традиции, начнем с начинки. Как и ранее, Панель состоит из двух плат.

Верхняя плата

Мы решили выбрать народный микроконтроллер esp32. Два ядра, BLE, вагон памяти под наши задачи. Что еще можно желать?

ESP32 хорош, но какой умный дом без ZigBee? Компоновка платы позволяет, и мы полностью воспользовались этим, установив модуль NJ5169 (E75).

Нижняя плата

Над начинкой платы мы так же поработали и решили подойти с учетом имеющегося опыта.

Два реле по 10А каждое, контроль потребления на каждый канал. Возможность подключения двух NTC. На наш взгляд, вышло неплохо.

Как насчёт экрана?

Установили экран диагональю 4 дюйма с IPS матрицей (разрешение 480х480px) и емкостным тачскрином.

Данный экран будет доступен и для обладателей предыдущей, 101, модели термостата. Заменить экран можно будет просто сняв старый и установив этот. Он раскроет свой потенциал у тех, кто использует MQTT. А для обладателей HK это будет чуть более информативный экран.

Какие протоколы поддерживает Панель?

Wi-Fi

Cамо собой - для связи с внешним миром.

ZigBee

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

MQTT

Все устройства, которые будут подключены к Панели по Zigbee, как и сами термостаты, будут передавать актуальные данные по MQTT. Можно будет как управлять, так и наблюдать. Подключить Панель можно будет и к нашему облаку, и к любому стороннему MQTT-брокеру.

Так будет выглядеть наше приложение, открывающее удалённый доступ ко всем подключенным устройствам в квартире:

Но на этом варианты применения MQTT не заканчиваются. Для обладателей таких систем как Home Assistant, MajorDoMo, OpenHub и аналогичных, будет возможность подписаться на сторонние топики и за счёт этого собрать свой вариант интерфейса Панели на основе заранее заготовленных нами шаблонов. Такие топики могут содержать как информацию с датчиков, так и управляющие топики для кнопок, реле и тому подобных исполняющих устройств. Также, можно будет связать кнопку и запуск/остановку какого-либо сценария.

Варианты вывода нескольких устройств на экранВарианты вывода нескольких устройств на экран

Вот такой комбайн получился у нас.

Вроде и термостат, а вроде уже что-то более продвинутое.

Как же можно его применить?

Двухрелейная силовая плата позволит управлять двумя потребителями одновременно. Например, два светильника, два теплых пола или теплый пол и светильник.

Вдобавок, можно вывести датчики, установленные неподалёку от Панели.

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

По нашему замыслу, такая панель предназначается, в первую очередь, именно как небольшой хаб-показометр для комнаты. Собрать основные устройства в одном месте и управлять всеми.

Всех желающих поучаствовать в обсуждении функционала такого устройства приглашаем в нашу группу телеграм

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru