Авторизация
Зарегистрироваться

Делаем безоблачный умный дом на базе Home Assistant

Я ни разу не параноик и никогда не переживал, что мой аккаунт в соцсети взломают злодеи и прочтут всю ту ахинею, которую я пишу друзьям. Но подключение «мозгов» умного дома к облаку, будь то китайское или американское, да хоть русское- это выше моего пофигизма. С другой стороны, сейчас на рынке много доступных предложений по автоматизации, которые достойны внимания, но работают через облака. К примеру, Xiaomi.
В этой статье я покажу, как организовать работу в локальной сети устройств Zigbee от разных производителей без подключения к непонятным облакам

Начинаем, как всегда, с постановки задачи: устройства Zigbee должны работать с Home Assistant локально без доступа к облаку производителя.
Изначально важно понимать, что все производители используют единый стандарт беспроводной передачи данных, поэтому устройство одного производителя может спокойно подключаться к сети Zigbee и обмениваться данными с другими устройствами разных производителей. Все ограничения, как правило, прописываются в шлюзах, приложениях и облаках — тут уж кто на что горазд. Поэтому задача сводится к созданию своего zigbee шлюза.
Для Zigbee-устройств используется в основном 3 вида чипов компании TI (есть и другие, но эти наиболее популярны):
cc2530 — дешевый и проверенный чип с 8Кб памяти
cc2531 — такой же дешевый и проверенный чип с 8Кб памяти, но имеющий контроллер USB на борту
cc2538 — с процессором Cortex-M3 и 32Кб памяти
В целом семейство чипов cc253x привлекательно своей низкой ценой. Поэтому большинство китайских устройств сделано именно на них.
Плавно мы подошли к тому, что можно сделать устройство с чипом cc253x и с помощью него слушать/ посылать в эфир команды по протоколу zigbee. И такие устройства, конечно, есть. Самый популярный вариант Zigbee-стика с подключением в USB порт реализован на чипе cc2531. Его преимущество в том что он продается в готовом для эксплуатации виде (нужно только прошить прошивку). Выглядит так:

Стоит такой стик порядка 350 рублей (без доставки) Ссылка на Aliexpress
Следующий шаг — объяснить чипу, что в этой жизни он будет шлюзом сети Zigbee, другими словами прошить устройство с помощью программатора CC Debugger. Выглядит он так:

Стоит такой порядка 370 рублей (без доставки) Ссылка на Aliexpress
Прошивка zigbee стика
Прошивать будем прошивку с популярного проекта zigbee2mqtt.io Суть заключается в том, что стик, являясь координатором сети Zigbee будет пересылать сообщения из zigbee сети в MQTT и обратно. Стик поддерживает работу одновременно до 25 конечных устройств. Для бОльшего количества потребуется устройство с ролью ретранслятор. Как правило, это устройство, включающееся в розетку.
На момент написания статьи поддерживается 785 устройств от 140 различных производителей! Ссылка на страницу с перечнем устройств
Процесс прошивки (на ОС Windows):
— Скачиваем с сайта TI программное обеспечение SmartRF Flash programmer (НЕ v2). Предварительно попросят зарегистрировать бесплатный аккаунт
— Устанавливаем CC debugger driver
— Соединяем CC debugger --> Downloader cable CC2531 --> CC2531 USB стик

— Вставляем CC2531 USB стик в порт компьютера
— Вставляем CC debugger в порт компьютера
— Если лампочка на CC debugger горит красным — нажмите кнопку reset. Лампочка должна гореть зеленым.
— Скачиваем прошивку CC2531_coordinator_firmware
— Запускаем SmartRF Flash Programmer, устанавливаем настройки, как на картинке и нажимаем «Perform actions». Проверьте, что файл выбран с расширением .hex!

Поздравляю, с железной частью мы закончили.
Настраиваем сервер MQTT.
Если он у вас настроен, то это шаг можно пропустить. Я использую аддон hassio, который называется Mosquitto broker. Для его установки переходим на вкладку Supervisor на закладку ADD-ON STORE и выбираем этот аддон из списка

Настройки брокера описаны на вкладке Documenation. В целом mqtt будет вполне корректно работать с дефолтовыми настройками. После настройки необходимо запустить аддон. Если в логах нет ошибок, то переходим в Настройки -> Люди -> Пользователи (Configuration -> Users) и создаем нового пользователя mqtt.
Переходим в Настройки -> Интеграции (Configuration -> Integrations), выбираем интеграцию MQTT и ставим галочку «Добавлять новые объекты». Это включит автоматическое добавление mqtt устройств в Home Assistant Подробнее тут

Устанавливаем и настраиваем Zigbee2mqtt
Для этого подключаем стик к серверу умного дома Home Assistant. Я использую версию Hassio на Raspberry PI3
Устанавливаем аддон zigbee2mqtt GitHub. Для этого переходим на вкладку Supervisor на закладку ADD-ON STORE и добавляем новый репозиторий github.com/danielwelch/hassio-zigbee2mqtt и устанавливаем аддон

Для корректной работы аддона необходимо определить путь к нашему свистку. Заходим в закладку System и нажимаем кнопку Hardware. У меня он находится по адресу /dev/ttyACM1. Предварительно настоятельно советую отключить остальные устройства из usb для чистоты эксперимента.

Теперь необходимо настроить аддон zigbee2mqtt. Для этого переходим на вкладку Configuration аддона. Я настраивал секции mqtt (подключение к серверу mqtt) и serial (путь к стику).


data_path: /share/zigbee2mqtt
devices: devices.yaml
groups: groups.yaml
homeassistant: true
permit_join: false
mqtt:
  base_topic: zigbee2mqtt
  server: 'mqtt://ip:1883'
  user: mqtt_user
  password: mqtt_pass
serial:
  port: /dev/ttyACM1
advanced:
  pan_id: 6754
  channel: 11
  network_key:
    - 1
    - 3
    - 5
    - 7
    - 9
    - 11
    - 13
    - 15
    - 0
    - 2
    - 4
    - 6
    - 8
    - 10
    - 12
    - 13
  availability_blacklist: []
ban: []
whitelist: []
queue: {}
socat:
  enabled: false
  master: 'pty,raw,echo=0,link=/dev/ttyZ2M,mode=777'
  slave: 'tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5'
  restartdelay: 1
  initialdelay: 1
  options: '-d -d'
  log: false



Запускаем аддон и переходим на вкладку Log. Проверяем, что аддон запускается без ошибок
Создаем объекты в Home assistant для подключения устройств Zigbee. В файле Configuration.yaml добавляем код

#--------------------------------------------------------Объекты

input_boolean:
  zigbee_permit_join:
    name: Allow devices to join
    initial: off
    icon: mdi:cellphone-wireless

timer:
  zigbee_permit_join:
    name: Time remaining
    duration: 600 # Updated this to the number of seconds you wish  

#-----------------------------------------------------Датчики
sensor:
#----------------------------------------------Состояние моста MQTT-ZigBee
 - platform: mqtt
   name: Bridge state
   state_topic: "zigbee2mqtt/bridge/state"
   icon: mdi:router-wireless

В файл automations.yaml добавляем код

#---------------------------------------------------Автоматизация
automation:
  - id: enable_zigbee_join
    alias: Enable Zigbee joining
    hide_entity: true
    trigger:
    - platform: state
      entity_id: input_boolean.zigbee_permit_join
      to: 'on'
    action:
    - service: mqtt.publish
      data:
        topic: zigbee2mqtt/bridge/config/permit_join
        payload: 'true'
    - service: timer.start
      data:
        entity_id: timer.zigbee_permit_join
  - id: disable_zigbee_join
    alias: Disable Zigbee joining
    trigger:
    - entity_id: input_boolean.zigbee_permit_join
      platform: state
      to: 'off'
    action:
    - service: mqtt.publish
      data:
        payload: 'false'
        topic: zigbee2mqtt/bridge/config/permit_join
    - service: timer.cancel
      data:
        entity_id: timer.zigbee_permit_join
    hide_entity: true
  - id: disable_zigbee_join_timer
    alias: Disable Zigbee joining by timer
    hide_entity: true
    trigger:
    - platform: event
      event_type: timer.finished
      event_data:
        entity_id: timer.zigbee_permit_join
    action:
    - service: mqtt.publish
      data:
        topic: zigbee2mqtt/bridge/config/permit_join
        payload: 'false'
    - service: input_boolean.turn_off
      data:
        entity_id: input_boolean.zigbee_permit_join

Добавляем на основной экран (Lovelace) объекты " Allow devices to join ", Time remaining, и Bridge state.

Теперь для запуска режима подключения нового устройства достаточно перевести переключатель Allow devices to join в положение «Включено»
Подключение устройств Zigbee к шлюзу cc2531
Сделаем подключение на примере Xiaomi Aqara Window Door Sensor

— Включаем Allow devices to join в Home Assistant. Шлюз включит режим сопряжения устройств на 10 минут

— Открываем лог аддона ZigBee2MQTT
— Нажимаем кнопку сопряжения на Aqara Window Door Sensor где-то на 3 сек. Синий огонек начнет мигать.
— Ждем появления записей об подключении в логе аддона ZigBee2MQTT
В итоге у вас появляется устройство binary_sensor.<номер>_contact

В интерфейсе у меня датчик контролирует открытие окна. Выглядит следующим образом:


Аналогично подключаются и другие устройства Zigbee, указанные в списке поддерживаемых устройств

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

В заключение нельзя не упомянуть об еще одной возможности интеграции Zigbee устройств в Home Assistant — ZHA. Это библиотека Python с открытым исходным кодом, реализующая стек Zigbee. На момент написания статьи библиотека поддерживает семейство стиков CC253х экспериментальном режиме. К достоинству этого решения можно отнести отсутствие моста zigbee-mqtt, но, судя по отзывам на форумам, решение еще относительно сырое. Планирую его попробовать на тестовом стенде.
Добавить в избранное +153 +249
свернуть развернуть
Комментарии (100)
RSS
+
avatar
  • mib
  • 22 мая 2020, 21:23
0
отметимся. все классно описал. хотя и не всем нужно.
+
avatar
+9
Интересно, познавательно.
Пишите еще…
+
avatar
+1
Спасибо! Как раз предстоит ремонт и попытка создать полоумный дом :)
+
avatar
  • yoog84
  • 22 мая 2020, 21:59
+3
комрады, а подскажите свисток под зигби, что бы был хорош цена/качество и без прошивальщика, ибо он(прошивальщик) слегка специфический и нужен будет всего раз и тогда уже получается не очень гуманная цена порядка 1000 русских рублей ну или что бы его(свисток) ТТЛ прошивальщиком можно было шить)
+
avatar
0
Выбирайте, но дешевле CC2531 вряд ли получится
www.home-assistant.io/integrations/zha/
+
avatar
+1
Возможно, у вас указана не совсем актуальная текущая минимальная цена CC2531. Даже по той ссылке, которая указана у вас в обзоре, придется доплатить почти столько же за доставку, сколько стоит и сам стик. По факту, когда искал недавно СС2531, не смог найти дешевле шестиста с чем-то рублей. Та же история и с программатором.

В итоге, у меня получилась минимальная цена за комплект с программатором более 1200 рублей.
+
avatar
0
Пометил в статье, что цены без доставки
+
avatar
0
А что за программатор, JTAG? Просто у меня уже есть пара. Или там какие-то конкретные нужны?
+
avatar
  • Nuts_
  • 25 мая 2020, 22:20
0
а в статье то что об этом не сказано?
+
avatar
+2
Отдельно CC2531 (с антенной на плате) $3.92 (с учетом доставки)
https://aliexpress.ru/item/item/32959325109.html
Комплект с прошивальщиком (с учетом доставки) — это 816руб
$11.34 https://aliexpress.ru/item/item/4000189365260.html
+
avatar
0
Не указал выше, что искал обязательно с внешней антенной.
+
avatar
+1
Встроенная антенна стика CC2531 — это боль. Дальность передачи в доме не дальше 2 комнат, постоянно отваливающиеся устройства.
Следует отметить, что и со внешней антенной в заказах с али надо пробовать — иногда продавцы дают внешнюю антенну со стиком CC2531, выглядит как маленькая проволочка на основании-магните, если вместо нее вкрутить нормальную антенну wifi — качество сигнала увеличится в разы.
+
avatar
0
просто подпаяй разьем и вкрути обыную антену от роутера
+
avatar
+9
Так, насколько понял, можно этот же самый CC2531 прошить и без прошивальщика с помощью Raspberry Pi или Arduino Uno, либо ESP8266: https://www.zigbee2mqtt.io/information/alternative_flashing_methods.html
+
avatar
  • dansar
  • 23 мая 2020, 08:51
+1
Я свой ардуиной шил
+
avatar
  • Sirse
  • 23 мая 2020, 11:34
0
Непрошитый можно прошивать через UART, пропатчив прошивку — ищите в комментариях, писал Александр Маслюченко modkam.ru/?p=1112
+
avatar
  • DeeZ
  • 23 мая 2020, 13:27
0
Самое сложное это найти гребенку такого размера что бы подключить к стику. у меня пол года валяется уже не прошитая. :(
+
avatar
+2
Шерстите по ebay & aliexpress. CC2531 — самый дешевый вариант. Лучше с антенной, чтобы сразу не разочароваться. Прошивать можно arduino, es8266, raspberry, banana, orange — что будет под рукой.
+
avatar
0
я юзаю HUSBZB-1 с амазона за полцены.
+
avatar
+5
Ваще легко как лампочку поменять
+
avatar
  • Dimon_
  • 22 мая 2020, 22:10
+4
Полностью поддерживаю позицию автора по секьюрности. Без шуток. Я, хотя тоже не параноик, но от сторонних облаков стараюсь, по возможности, отвязываться.
Интересна, в этом разрезе, позиция автора на голосовые ассистенты: ведь всё пишется, утекает и распознаётся.
+
avatar
+4
У меня есть и Google Home и Алиса. По большей части для экспериментов, нужно же все попробовать. Я знаю что это тоже облака, но в моей интеграции облако яндекса подключено напрямую к моему серверу, в то время как, к примеру в xiaomi, облако яндекса подключается к облаку xiaomi и уж потом команда идет на устройства.
На мой взгляд с точки зрения управления умным домом это баловство. Вообще считаю, что домашняя автоматизация должна работать с минимальным участием человека где это только возможно Все управляющие панели, голосовые помощники и мобильные приложения только потому, что автоматика недостаточно «умная»
+
avatar
  • Dimon_
  • 22 мая 2020, 22:27
+2
Вообще считаю, что домашняя автоматизация должна работать с минимальным участием человека где это только возможно
Полностью разделяю это утверждение и собственные проекты реализую именно с этим вектором. Я часто об этом пишу.
+
avatar
  • figvam
  • 23 мая 2020, 09:15
+2
Станешь тут параноиком — достаточно посмотреть на трафик любого смарта от Xiaomi, когда он просто лежит на столе… Зачем им столько данных? Причём чистый Android с гугл сервисами не намного лучше.
+
avatar
0
Простой ламерский вопрос. Если мне нужно просто свет вкл\выкл, датчики протечки воды, датчики сигналки на окна\двери, мне это надо? Или обычным приложением без всех этих С++ (утрирую ) можно решить? Для каких реально практичных задач это нужно, чего нельзя решить готовыми решениями?
+
avatar
+2
Готовые решения разные бывают. К примеру, у Xiaomi есть датчики протечки воды. MiHome вам честно пришлет push уведомление о потопе, вы даже сможете через видеокамеру посмотреть как затапливает квартиру. А вот кранов для перекрытия воды у этого готового решения нет. Зато есть у других производителей.
+
avatar
0
Датчик протечки я делал на тиньке 85 и передатчике на 433. Приемник подключен к ЕСП, к нему же управление краном. При получении сигнала от датчика он тупо перекрывает воду во всей квартире и отсылает сообщение в домотикз о том, что все плохо :-)
+
avatar
+8
В одном из следующих постов опишу как считаю расход воды, отправляю показания счетчиков в ук, управляю с обратной системой защиты от протечек Нептун
+
avatar
0
С расходом воды у меня пока не сложилось, пока только газ считаю
+
avatar
0
о, классно, у меня пока только электричество считает миганием лампочки

это дом или квартира?
+
avatar
+1
Электричество лучше мерить PZEM'ом
+
avatar
0
что было под рукой, то и считает
знаю, в корзине лежит зем, но всё денег жалко. плюс надо пломбировать будет, а сейчас карантин.
+
avatar
0
433 на важные участки как-то несерьезно. Кто-нибудь не со злым умыслом, а баловства ради повадится перекрывать вам воду :) Знаний для этого нужно «0». При том, что набор, который вы собрали, стоит уже немногим меньше, чем модуль cc2530. Но в zigbee есть хоть уверенность, что шкодливый пионЭр не залезет в сеть.
+
avatar
+1
Шкодливых пионэров у меня в радиусе действия 433 не наблюдается. А набор целиком стоил рублей 500 включая привод на кран
+
avatar
0
расскажите про привод на кран, это самое «больное» по надежности место, как мне кажется
+
avatar
0
https://aliexpress.ru/item/item/32843132961.html
Про цену немного наврал, но я все это брал еще по совсем старому курсу
+
avatar
0
не все 433 одинаковые, с keeloq сломать не так то и просто, (если вообще возможно если он сделан не на популярном чипе). конечно это не относится к дешевым 433mhz с али. но у нормальных брендов защита сделана на хорошем уровне(я работал с visonic, scantronic)
+
avatar
0
Совершенно с вами согласен. Но! Тогда пропадает и вся «вкусность» решения на rf433 — дешевизна. Я сейчас для конечных устройств использую zigbee сс2530 (E18 MS1 модуль) — $2.3, обвеса нужно — пару резисторов с конденсатором.
+
avatar
0
помимо дешевизны 433mhz еще и намного дальнобойнее. и было выпущено очень много устройств как дешевых, так и дорогих, с шифрованием и плавающим кодом, которые можно часто купить по хорошим ценам, и аналогов которым у zigbee пока нет. (например довольно удачные УЛИЧНЫЕ охранные PIR.)

что касается кранов защиты от протечки, то wifi на 8266 ни чем не хуже zigbee, учитывая что всеровно нужно подводить питание, а wifi по правильному в 21 веке должен покрывать весь дом и участок.

PS. я не пишу что zigbee это плохо, но и 433 866mhz довольно неплохо подходят во многих ситуациях.
+
avatar
0
8266 — это точно в топку. Так, температуру посмотреть, не более. Изначально делалось именно на wifi. Прошивки проверял практически все. Роутеров — 3 штуки на дом. Отваливаются, перезагружаются. Не вариант. Даже с идеальным питанием.

Zigbee, кстати, о батарейках (для датчиков), так что ничего подводить не нужно. 1.5-2 года на 2032 таблетке датчик протечки, например.
+
avatar
0
Значит что-то делаете не так, у меня почти все основное завязано на sonoff(8266) устройства с прошивкой tasmota, там есть и свет, и контроль и управление сигналкой, и разные датчики (включая 9шт. с подключенными pzem004t) всего более 30 устройств в 3-х домах, многое стоит на улице. НИКАКИХ перезагрузок, и провалов связи. знаю это на 100% т.к. скриптами каждую минуту они пингуются и domoticz рисует графики пинга в ms.

роутеры разные в главном доме 6шт и 2 на улице, большинство -это xiaomi роутеры разных версий на стандартной прошивке

433mhz датчики протечки будут тоже жить годами, нет там большого потребления. у меня такие:
https://aliexpress.ru/item/item/32903148693.html
про подвод питания выше я писал про управляемые механизмы, например кран который перекрывает воду. если всеровно к нему подводить питание, никаких проблем завязать его на wifi esp
+
avatar
0
Было же на днях.
Можно и без отладчика-программатора…
+
avatar
0
Интересно, такой Zigbee-стик установится в XPEnology? Просто этой темой заинтересовался, т.к. сделал NAS на XPEnology (старый комп с: coreduo + 6 Gb памяти + 6 sata портов (пока HDD на 4 Tb)). На NAS реализовать Home Assistant или через DOCKER, или через пакеты сообщества. Вот пока морально готовлюсь к простому умному дому.
+
avatar
0
Почему нет? Надо только установить пакет. Или собрать самому.
+
avatar
+1
да, возможно, нужна версия новее 6.1 sinology os(мб и 6.0 пойдет, не знаю), дальше homeasistant запускается в докере, ему пробрасывается свисток как примерно тут написано khaz.me/using-a-z-wave-or-zigbee-stick-on-synology-dsm-for-use-with-homeassistant-and-docker/
+
avatar
0
DSM 6.2.2 стоит. Спасибо.
+
avatar
  • Rupunx
  • 23 мая 2020, 10:28
+1
Подскажу, чтобы не терять время: да, всё ОК, надо ставить
community.home-assistant.io/t/hass-io-on-synology-dsm-native-package/125559
Проблем нет никаких
+
avatar
0
я в сетапе win10+virtualbox+xpenology юзаю стик HUSBZB-1. работает, но с нюансами проброса usb устройств. если столкнётесь — опишу.
+
avatar
0
В файл automations.yaml добавляем код
это старое и не совсем удобное решение
можно поставить zigbee2mqttassistant

И да, для прошивки не обязательно использовать cc-debugger, есть вариант с использованием PaspberryPI
+
avatar
  • newcss
  • 23 мая 2020, 01:01
0
Хе-хе), а вот в бой пошли автономные умные дома).
Подскажите пожалуйста, во всех обзорах вижу фразу — Стик поддерживает работу одновременно до 25 конечных устройств, не могли бы разъяснить саму механику данного ограничения. Например комната 5х5 метров, в ней 30 различных устройств (датчик движения, открытия двери, окон, электрод-карниз, выключатели, управление климатом… и т.д. т.п.) Воткнув данную штуку в Raspberry (например), мы сможем получать информацию только о 25 устройствах? А если рядом в блок питания воткнем такой же модуль, то тогда с 50 или 49 (сам свисток будет выступать устройством или нет)?
+
avatar
0
не могли бы разъяснить саму механику данного ограничения
стик обеспечивает работу не только физического, но и network & security слоев протокола zigbee
количество памяти в стике хватает на хранение данных для этих слоев приблизительно на 25 подсоединенных устройств
+
avatar
  • Jager
  • 23 мая 2020, 07:49
0
CC2538 поддерживает 100 прямых подключений и 200 через роутеры.
Вот например карта на 129 устройств, координатор на СС2538 + усилитель СС2592.
Предвидя массу вопросов сразу с ними отправляю сюда.
+
avatar
0
в обзоре речь шла о cc2531 это как-бы несколько разные стики, отличающиеся от cc2538 не только памятью :)
очень печально, что «сюда» у Вас только в телеге, как минимум отпадает аудитория из гугл-поиска
+
avatar
  • Jager
  • 23 мая 2020, 14:54
0
В профильном чате телеграма 2500 человек и там вам оперативно дадут ответ практически на любой вопрос по зигби, в гугле вы много чего не найдете.
+
avatar
0
:) прямо как приглашение в секту с тайными знаниями :)
спасибо, как только у меня возникнут вопросы, которые не смогу никак решить обязательно вступлю в вашу секту :)
+
avatar
  • max_j
  • 26 мая 2020, 22:14
0
а ссылочку можно ??
+
avatar
+1
Толковое руководство и разумный подход к планированию автоматизированного дома. Если когда нибудь все таки найдётся нормальный сценарий использования и я решу реализовать его на постоянной основе, то только локально.
+
avatar
  • hamper
  • 23 мая 2020, 06:56
+2
Что бы не надеяться, что /dev/ttyACM1 будет всегда именно им при подключении других устройств, удобнее использовать готовые симлинки из /dev/serial/by-id потому что они содержат в себе название и id устройства и гарантированно указывают именно на выбранное устройство.
+
avatar
0
serial/by-id появилось в относительно свежих версиях hassio.
С малинкой другая проблема — у меня удалось запустить стики cc2531 и ZWave только в определенных портах USB. Если хоть один переткнуть — оба не работают. При этом я пробовал и по by-id и прямой путь /dev/tty Так же если дополнительно воткнуть usb от UPS — тоже все отваливается. Хочу попробовать raspberry 4, может там все нормально.
+
avatar
0
возможно в device manager (udev) что-то неправильно прописано или стики «пришиты» к портам
+
avatar
  • Dluga
  • 23 мая 2020, 08:32
0
А можно данный стик воткнуть в роутер?
Было бы удобно иметь один общий центр управления так скажем.
+
avatar
+2
можно, если ты поставишь на роутер zigbee2mqtt, но тебе еще нужен mqtt брокер ну и какая-то система умного дома типа HA, чтобы всем этим рулить.

Т.е получается такая цепочка: [ стик <-> zigbee2mqtt ] <-> mqtt брокер <-> система автоматизации
+
avatar
  • Setjet
  • 23 мая 2020, 10:03
0
Друзья, а вот на Малине если умный дом строить, то пугают же что карточка памяти будет раз в пол года умирать из-за быстрого износа ячеек и нужно бы использовать Индастриал MLC память совсем с иным ресурсом. Но цены на такую память не маленькие… Home Assistant рекомендуют брать карту 32Gb «чтоб уж на всё хватило», а реально кто какие карты использует и как часто они умирают? Скажем 16Gb, а то и 8Gb это катастрофически мало и ничего не заведется? Помню давно читал что вроде тот же Домотикз и на 4 гигах нормально себя чувствует.
+
avatar
0
не знаю, как на малине, а на апельсине у меня умный дом крутится года 2, карта на 8 гб, ничего не умирает. Апельсина зеро, за тыщу рублей
+
avatar
  • Setjet
  • 23 мая 2020, 10:32
0
Домотикз?
+
avatar
0
да
+
avatar
  • Setjet
  • 23 мая 2020, 10:41
0
Отлично, осталось узнать насколько более прожорлив Home Assistant.
+
avatar
  • andkaz
  • 23 мая 2020, 10:58
0
Не лучше ли сделать по уму сразу, чтобы не остаться у разбитого корыта в самый неподходящий момент? Пренести систему на USB HDD
+
avatar
+2
Ну то есть вместо тыщи истратить 10, так, на всякий случай :-)
+
avatar
  • andkaz
  • 23 мая 2020, 11:19
0
Тратьте, если есть желание. Я взял старый диск на 120 Гб после апргрейда старого ноутбука и купил USB бокс за пару сотен рублей.
+
avatar
0
А смысл?
+
avatar
+2
за ~ 3 года на 3 моих raspb. карточка умерла 1 раз, дав при этом без проблем скачать всю инфу. причем она была непонятного качества, без названия., все остальные шли в комплекте с raspb. и работают отлично.
+
avatar
+1
уже несколько лет в нём карту не менял. Но у меня мало устройств. Задачу надо ставить по другому — как делать частые бэкапы системы, которые легко восстановить. Тогда даже раз в год карточку менять не сложно.
+
avatar
  • andkaz
  • 23 мая 2020, 10:16
+1
Переносите систему на USB диск и все
+
avatar
0
на домотикзе карточка очхорбу уже больше 2 лет жила.
но вообще, как говорят, усб-хдд-и всё будет пошустрее и долговечнее.
+
avatar
+1
Read-only root overlayfs вас спасет. В Armbian можно поставить из коробки. Карта будет только на чтение. И жить будет вечно. Логи и другой можете писать куда-нить в сеть, если они нужны. Второй вариант — сделать загрузочный ssd мелкий какой-нить, через USB. C карты будет читаться только загрузчик. А небольшая скорость (через USB) — так она для этих задач и не нужна.
+
avatar
0
Для любой RPi можно сделать работу системы с usb диска (HDD или SSD). У RPi3 и RPi4 есть загрузка с USB (см https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/ для RPi3, для RPi4b пока только в бета — https://github.com/raspberrypi/rpi-eeprom/blob/master/firmware/release-notes.md от 2020-05-15). Для RPi2 надо немного потанцевать с бубном, чтобы система начинала грузиться с карты памяти, а потом работала с диска (https://www.raspberrypi.org/forums/viewtopic.php?t=196060 и https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=196778)
+
avatar
0
Кстати, кто хочет померить скорость работы sd, SSD, hdd, то можно это сделать здесь https://jamesachambers.com/raspberry-pi-storage-benchmarks-2019-benchmarking-script/?amp
+
avatar
0
Интересно… ©
+
avatar
0
Кстати, для «чисто попробовать» — нужен только стик.
Далее качаете любой образ убунты(лучше даже серверной), разворачиваете его на виртуалке (если у вас как у меня windows), я использовал vmware workstation.
Выделяете памяти 1 гб, места на жестком диске 10Гб. Устанавливаете, настраивайте виртуалку получать ip адрес из вашей домашней подсети.
Потом по описанию ставите zigbee2mqtt под docker(ну и сам docker).
По желанию — там же mosquitto и node-red(чтобы поиграться).
Даете разрешение виртуалке использовать ваш стик — все работает, можно посмотреть как работает система и тд, стоит ли покупать отдельное устройство для стика (там кстати не только raspberr pi можно использовать, но и почти любой одноплатный комп типа orange pi zero, который еще и подешевле)

HomeAssistant тоже есть для виртуальных машин. Я вообще не понимаю желающих купить raspberry pi — купили на ebay (авито что то подохренел с ценами на бу) какой небудь неттоп типа zotax zbox, поставили туда 8гб оперативки — запускай свои проекты.
+
avatar
+1
HomeAssistant тоже есть для виртуальных машин. Я вообще не понимаю желающих купить raspberry pi — купили на авито какой небудь неттоп типа zotax zbox, поставили туда 8гб оперативки — запускай свои проекты.
Сколько это будет стоить? :-)
+
avatar
0
200$ за неттоп на i5 с 8гб оперативки
Почему я за этот выбор — накатываем win7, на нее teamviwer — можно без проблем управлять удаленно, разворачивать новые сервисы и тд через вируталку (у меня серый ip на домашнем компе)
В случае с raspberry — надо думать как бы не запоролась флешка, удаленно управлять сложно, формально их нужно две (фиг знает, как отнесется образ с homeassistant к докеру с zigbee2mqtt)
+
avatar
+1
То есть 200 баков за железо, 200 за софт против 15 баков за апельсинку.
+
avatar
+1
хочется быть правым? штанишки подтяните сначала.
две апельсинки. Две. И не по 15 баксов, а последние, по 35(а вы найдете по такой цене?). И доставка. И карточки к ним. И блоки питания.
И отсутствие возможности подключения удаленно.
Теперь по 200 за софт. Если вы такой правильный для покупки софта — ebay вам в помощь, там ключи на лицензии(не ломаные, реальные) продают на windows за 3 доллара, vmware workstaton 1.5 доллара.
Убеждать ни в чем не собираюсь, у каждого свой путь.
+
avatar
  • kevin
  • 24 мая 2020, 09:21
0
За 3 доллара… Это вы загнули… 2.5! :-)

Поднял НА в докере на домашнем сервере на Intel NUC. Учусь. Разбираюсь. Начал все разрозненные «умные» железки собирать, не в умный, а в удобный дом.
+
avatar
0
https://aliexpress.ru/item/item/32761500374.html

Простите, с доставкой 16. Трудится у меня уже пару лет. Карта памяти 250 рублей на 4 гига. Доступ снаружи — не вопрос, хочь через браузер, хоть чрез приложение домотикз, хоть через ssh.

И да, ключи по 3 доллара это такое же воровство, как и торренты с ломалками.
+
avatar
0
Ключи по 3 доллара — это люди продают лицензии, которая по OEM им обычно впихнула майкрософт с новым оборудованием. И если они не собирались их использовать — они их продают. Они за них заплатили, их к этому принудили, почему это не продать, если не используешь?
Никаким ломом там и не пахнет.

У меня таких как у вас плат 4 штуки, разбросанных по разным местам. Идея у платы великолепная.
Результат плох. От версии к версии какие-то платы перегреваются, какие-то нет. При одинаковом софте (то есть клонировал карту памяти). Нет нормальных корпусов, как например для NanoPi NEO (и такое у меня есть), которые отводят тепло, а колхозить сам я не хочу. Памяти 512мб недостаточно (я знаю, что есть orange p pc с 1гб, у меня и такой есть, попрыгав вокруг него сейчас он служит простым проигрывателем). Карточка при работе под dietpi под ним сдохла за год (и это еще dietpi оптимизирован под меньшее обращение к карте). Для того, чтобы запустить docker (который хочет памяти — именно под докером лучше всего запускать zigbee2mqtt) и node-red памяти 512Мб (а есть еще и 256 же) остается впритык, либо свопится на карту либо node-red вылетает. Поэтому я купил NanoPi NEO, c 1Гб памяти, с хорошим алюминиевым корпусом, и туда воткнул стик. Плюс все еще dietpi под него обновляется. В итоге это стоит 60$. И я недоволен. Потому как он работает, однако если я хочу поставить еще что — может все поломаться, ибо node-red хочет node.js определенной версии, zigbee2mqtt не через docker — другой. Поэтому я не заморачиваюсь и на виратульном образе убунты развернут node-red и docker с zigbee2mqtt, у нее 2 гб памяти и ей хватает за глаза.

Что надо для HA. Смотрим с сайта — Raspberry Pi 4 Model B (2GB) + Power Supply (at least 2.5A). То есть памяти надо оперативной. И не запустится он на oragne pi zero с 512мб.

Теперь по поводу домотикза. Он запустится. И даже возможно будет работать.А может будет вылетать. Я пробовал установить — у меня он постоянно сыпался, то ли от недостатка памяти, то ли ему какие-то другие зависимости нужны были. Я не знаю. Я уверен что в отдельном образе, скачанного с сайта — он будет работать идеально. Как и хомассистант.

Знаю только то, что если я захочу сделать на виртуалке снимок образа — я его сделаю, и в случае чего могу всегда вернуться назад. В том числе удаленно. А не просить кого-то, кто рядом: вытащи карту плз, потом засунь в ридер, я накачу новый образ и потом обратно в плату засунь.
+
avatar
0
Raspberry pi3 b с китайской sd картой с установленным hassio работает без проблем уже больше 2 лет. Ничего не виснет. Периодически бэкаплю настройки и образ
+
avatar
0
Может дело было не в бабине? :-)
И да, продать отдельно винду от компа низя :-)
+
avatar
0
Идея локального УД очень интересна, но… Сколько читал всё делается на коленке: на грамотной программистской коленке. Мля, у нас в стране не все — программисты! Поэтому приходится терпеть Mi-home с его зависимостью от Китайских серверов. Настроить в нем сценарии ума много не надо, хотя и не хватает, конечно, переменных и вычислений.
+
avatar
0
Я писал эту инструкцию именно с расчетом на то, чтобы это могли сделать «не программисты». Просто сделайте все по шагам. А настройка автоматизаций в графическом интерфейсе HomeAssistant делается не сложнее, чем в MiHome
+
avatar
0
Спасибо за информацию! Ну видно уже дело во мне: старый стал. Да и с
Raspberry нет никакого опыта, опять же железо покупать…
Работает уже больше года и пусть себе, умные замки на вход в квартиру не использую, а остальное — пусть себе перехватывают, дом не спалят, а пузо моё увидят если — так сами виноваты.
Я только не пойму, почему бы той же Xiaomi самой не выпустить центральный блок для локального дома?
+
avatar
+1
У нас в деревне умными домами развлекается человек 7, один из них — психотерапевт :-)
+
avatar
0
В Москве-то?
+
avatar
0
15 км от МКАД
+
avatar
  • Z2K
  • 25 мая 2020, 06:52
+1
«один из них — психотерапевт :-)» — Умный дом? Гм-мм… Не волнуйтесь, и вас вылечим. :))
+
avatar
  • arm-13
  • 25 мая 2020, 11:29
0
Подписался, спасибо, все по делу и без лишней воды. Планируется ли статья с описанием «мозгов» дома, на чем лучше развернуть, софт…
Было бы интересно посмотреть на ваше решение.
+
avatar
+2
Видимо придется…
Подписывайтесь :)
+
avatar
0
Подскажите, у Сяоми (Yeelight) есть линейка bluetooth лампочек, умеющих создавать mesh-сеть ( https://www.banggood.com/Yeelight-YLDP09YL-bluetooth-Mesh-Version-E14-3_5W-Smart-LED-Candle-Light-Bulb-AC220VXiaomi-Ecosystem-Product-p-1438469.html ). Они подключаются через специальные гейтвей, типа такого: https://aliexpress.ru/item/item/32948975314.html
Есть ли хоть малейший шанс отвязать их от облака Сяоми и подключить, например, к HA?
+
avatar
0
Управление светом у меня сделано через Z wave димер Fibaro dimmer 2. Он может работать без нулевого провода, держит нагрузку до 250W и не ограничивает в выборе включателей. Я использую кнопки звонкового типа ABB Zenit с деревянными рамками.
По bluetooth подключал Xiaomi Flower Monitor к Hassio на raspberry pi 3b+. Работает. Возможно будут работать и лампочки. Правда у Bluetooth очень маленький радиус действия

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.