Особенности национального апдейта HomeAssistant на версию 2021.4.x

Что не релиз … то обязательно какие-то приключения с обновами. И на этот раз ПЕРЕХОД НЕ ТАКИМ гладким был. И так имеем сервер с HomeAssistant 2021.3.4. Необходимо обновить на версию 2021.4.1. После стандартной процедуры обновления скриптом имеем радость лицезреть ошибку в логе.

2021-04-09 17:36:38 ERROR (SyncWorker_2) [homeassistant.util.package] Unable to install package python-miio==0.5.5: ERROR: Could not find a version that satisfies the requirement zeroconf<0.29,>=0.28 (from python-miio)

ERROR: No matching distribution found for zeroconf<0.29,>=0.28                                                                                                                       

2021-04-09 17:36:38 ERROR (MainThread) [homeassistant.setup] Setup failed for xiaomi_miio: Requirements for xiaomi_miio not found: ['python-miio==0.5.5'].

Сам HomeAssistant в постоянном ожидании запуска. Многие устройства отвалились или не имеют данных

Очевидно … что системе что-то не хватает. И вся проблема состоит в том чтобы подобрать модули, которые будут совместимы между собой и это позволит запустить нам сервис HA.

Читать далее

SLS шлюз Update firmware. Очередной камень в огород

Сие чудо так и не могут довести до ума. Кривой механизм обновления с первых дней его приобретения. Камень в сторону разработчика прошивки. Нравится вам тратить на это уйму времени ? В радость. Остальным терпения. 🙂 Не понимаю какой еще шаман тут может помочь … но эту херню покупать точно не рекомендую для дома. Но, чтобы обновить его надо упорство и много времени … может вам повезет. Поддержка просто ацтой. Оно стоит этого приобретения ? Самое тупое из DIY Zigbee шлюзов, с которым мне пришлось сталкиваться.

Попытка 1. Через браузер компьютера. 

Читать далее

Умный дом – Смешарики. Новые приключения

Немного юмора 🙂

Ewelink ZigBee Relay Module (ZB-SW01) с сухими контактами. Подключение к Zigbee2mqtt

Наконец таки на горизонте появилось новое DIY реле с поддержкой Zigbee протокола от Sonoff. Является что-то аналогу modkan реле рассмотренного нами ранее. Пока в наличии имеются варианты на 1 и 2

выходы. Оно небольшое по габаритам. Цена от 780 до 1000р. Но обо всем попорядку.

Читать далее

Миграция умного дома HomeAssistant с EMMC на SSD в корпусе Argon One M.2

Давно хотел поделиться процедурой миграции боевого комплекта с HomeAssistant+z2m+CC2652 на новые корпуса Argon One M.2 с поддержкой уже SSD диска. Не важно будь, то старая система настроенная  на microSD карте / USB Flash или Emmc. На текущий момент я буду рассматривать переход на SSD 64Gb с карты Emmc 16Gb платы на Raspberry Pi4. До этого мы с вами рассматривали процесс миграции с SD карты на EMMC 16Fb. Заодно узнаем стоит ли игра свеч ? 🙂

Текущая система работает на похожем корпусе Argon Neo + Emmc 16Gb. Проработало порядка несколько месяцев. Но вот презентабельный вид оставляет желать лучшего. Да и пару раз я задевал карту памяти Emmc в корпусе, да и в горизнтальной плоскости не расположить всю эту конструкцию. Короче ацтой … Но: вариант работы конфигурации умного дома на текущий день самый стабильный по железкам. EMMC+Raspberry Pi4+Argon case = очень круто 🙂

Нам необходимы будут : корпус Argon One M.2 с платой для подключения SSD диска (в комплекте), чистая microSD карта на 8Gb, SSD диск на 64Gb, бубен.

В качестве SSD диска для Raspberry Pi4 я выбрал Kingspec 64Gb. Покупал здесь и не пожалел

Читать далее

Мониторинг заряда батареек на датчиках умного дома. От простой реализации к сложной

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

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

cards: 
  - type: custom:auto-entities
    card:
      type: entities
      show_header_toggle: false
      title: Истекает заряд на АКБ (<20%)
      
    filter:
      include:
        - entity_id: sensor.*_battery
     
      exclude:
        - state: "off"
        - state: "unavailable"
        - state: ">20"
        - entity_id: sensor.vacuum_battery

    sort:
      method: state
      reverse: false
      numeric: true
      count: 100

В данном примере : мы собираем все сущности от датчиков с батарейками с именем sensor.*_battery (это стандартная политика наименований датчиков в сети). Возможно у вас будут другие варианты, все это индивидуально. С помощью фильтра filter мы отфутболиваем не нужные нам статусы проблемных устройств – те что не доступны в сети “unavailable”, те что отключены “off”, те что значения заряда > 20%, а также сенсор заряда АКБ нашего пылесоса например Xiaomi/etc. так как это зарядное устройство и нам оно не нужно в общем списке). Таким образом имеем картину в интерфейсе Home Assistant (у меня нашлось только 2 таких датчика с низким зарядом менее 20%)

Читать далее

Резервное питание “умного дома”. От теории к практике

Есть у меня интересная идея. На рынке резервных источников питания для частного дома имеется интересный контроллер Datakom D300 предлагающий полностью автоматизировать переключение питания дома на резервный источник, в нашем случае это будет бензонегенератор в уличном исполнении. У этого контроллера есть свое ПО под Windows, но мы же не ищем легких путей :), предлагает нам интерфейсы для подключения к генератору через Modbus / Ethernet / Wifi и пр. Соот-но пока не поставим задачу зачем нам все это нужно и что хотим получить на выходе … приниматься за это дело не рекомендовано 🙂 Аднака, решение интересное и пока никто подобные системы не переводил под мониторинг в сторонние (по моим данным пока еще никто). Нашел интересный сайт, хозяин которого собирает на этих контроллерах решения под ключ. То что нам и надо. 

Покопавшись в документации … нашел что можно вклиниться в Modbus TCP/TRU … но увы с ним мне еще не приходилось работать. 🙁

Контроллеры Datakom работают на протоколах Modbus RTU/TCP и для задач удаленного мониторинга особенно по сотовым каналам связи подходят не лучшим образом. Для этих целей следует использовать протоколы МЭК 60870-5-104 или МЭК 61850, т.к. они позволяют работать в режимах при инициации “снизу”. Это позволит снизить количество трафика и уменьшить время доставки события. Для данной задачи требуется принять данные в протоколе Modbus RTU/TCP с комощью любого устройств с программным обеспечением ТМИУС КП и преобразовать в нужные Вам протоколы.

При необходимо возможно применение протокола MQTT (с аутинефтикацией по TLS либо по логину\паролю).

Потребуется подключить контроллер Datakom к контроллеру или компьютеру с установленным программным обеспечением ТМИУС КП по RS485 или по Ethernet и задать необходимые настройки портов, адресов устройств и IP адресов на обоих сторонах обмена, а так же в конфигурационном файл для ТМИУС КП.

Честно говоря мало чо понял … но звучит заманчиво 🙂 Продолжаем изучать …

как то не очень выглядит нативный мониторинг 🙂 отсутствие Syslog/SNMP тоже разочаровало.

Таблица регистров Datakom D-500

Datakom D-300 RainbowScada_USER MANUAL

Zigbee ICEFISH-LINK реле с сухими контактами

Ну вот и первые ласточки в начале весны 🙂 Появилось в продаже от китайцев Zigbee 3.0 реле с сухими контактами и по доступной цене как ни странно. Само реле идет в двух вариациях : просто Zigbee реле и Zigbee реле с поддержкой RF (радиочастот 433Мгц). Акцент сделан на том, что это реле можно применять для открытия электромеханических замков, где требуется кратковременный короткий импульс контакта.

также реле имеет поддержку Zigbee хабов от SONOFF Bridge, Amazon Hub, Samsung SmartThings Hub and Philips Hue Hub, Tuya smart Bridge. Но нам конечно же интересна его работы в Zigbee2mqtt, для чего собственно и был заказан тестовый экземпляр. Внешнее питание : от DC 7-32V. Ждем пока появиться еще от переменного напряжения 220В + 2 реле и более 🙂

Чем удобно еще реле ? Это поддержка стандарта 433Мгц. Возможность прицепить (выпаять и впаять) внешнюю кнопку для открытия / закрытия. Выполнен на базе чипа CC2530. Сейчас оно идет по распродаже 943р (Zigbee+RF), и 745р (Zigbee). Скорее всего появяться аналогичные реле под разными China брендами 🙂 Купить можно здесь

Меняем USB Zigbee стики (миграция) на CC2652. Проблемы и ошибки перехода // FAQ (Update)

Я закупил практически все версии стиков последних модификаций и хочу поделиться обобщенными наработками их использования. Большого поста не будет. И так суть поста. Я купил – подключил, а оно не заработало 🙂 Что делать ?

Ошибка вида “Mar 10 21:38:11 ihome npm[11193]: Zigbee2MQTT:debug 2021-03-10 21:38:11: Using zigbee-herdsman with settings: ‘{“adapter”:{“concurrent”:null,”delay”:null},”backupPath”:”/opt/zigbee2mqtt/ data/coordinator_backup.json”,”databaseBackupPath”:”/opt/zigbee2mqtt/data/database.db.backup” ,”databasePath”:”/opt/zigbee2mqtt/data/database.db”,”network”:{“channelList”:[11],”extendedPanID” :[221,221,221,221,221,221,221,221],”networkKey”:”HIDDEN”,”panID”:6754},”serialPort”:{“pat h”:”/dev/ttyUSB0″,”rtscts”:false}}’.

Собственно а где ошибка то ? Она в следующем. Если мы запускаем сервис zigbee2mqtt, то все зашибись. Сервис собственно, то работает (Active), а вот в HomeAssistant он в Offline, девайсы также не работают (видим только последние статусы Zigbee устройств которые подгружаются из файла state.json в папке zigbee2mqtt. В логах соот-но ошибок нет. Все чисто. Но если мы z2m запустим не как сервисом systemctl start zigbee2mqtt, а вот так

 /opt/zigbee2mqtt/npm start

то картина будет иная через минуту после запуска

Zigbee2MQTT:info  2021-03-10 21:49:10: Starting Zigbee2MQTT version 1.18.1 (commit #a43d1f3)
Zigbee2MQTT:info  2021-03-10 21:49:10: Starting zigbee-herdsman (0.13.71)
Zigbee2MQTT:debug 2021-03-10 21:49:10: Using zigbee-herdsman with settings: '{"adapter":{"concurrent":null,"delay":null},"backupPath":"/opt/zigbee2mqtt/data/coordinator_backup.json","databaseBackupPath":"/opt/zigbee2mqtt/data/database.db.backup","databasePath":"/opt/zigbee2mqtt/data/database.db","network":{"channelList":[11],"extendedPanID":[221,221,221,221,221,221,221,221],"networkKey":"HIDDEN","panID":6754},"serialPort":{"path":"/dev/ttyUSB0","rtscts":false}}'
Zigbee2MQTT:error 2021-03-10 21:50:12: Error while starting zigbee-herdsman
Zigbee2MQTT:error 2021-03-10 21:50:12: Failed to start zigbee
Zigbee2MQTT:error 2021-03-10 21:50:12: Exiting...
Zigbee2MQTT:error 2021-03-10 21:50:12: Error: AREQ - ZDO - stateChangeInd after 60000ms
    at Timeout._onTimeout (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/dist/utils/waitress.js:46:35)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zigbee2mqtt@1.18.1 start: `node index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the zigbee2mqtt@1.18.1 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Решение проблемы.

  • если у вас zigbee2mqtt младше версии 1.8.1 то обновляемся на последнюю сразу (для CC2652 это актуально в первую очередь)
  • если не помогло то прошиваем стик по новой по предыдущей статье. Вылечить это не удается после смены стиков никак. Только потеря времени. Все стики CC2538/CC2652 прошиваются элементарно.

Читать далее

Прошиваем USB Zigbee стик CC2652 без программатора с использованием Python

В новых стиках заложен функционал прошивки через USB порт. Так получилось, что один из стиков у меня работал с ошибками и мне пришлось искать быстрый способ его перешить по новой. Наиболее подробным методом “безконтактной” прошивки решил поделиться и с вами. И так имеется на руках вот такое детище

Для подготовки к прошивке скачаем программы для работы. Это Python под Windows (желающие могут тоже самое сделать под Linux). Скачать Python под Windows можно здесь. Устанавливаем в любую удобную папку. Далее качаем вспомогательный софтовый прошивальщик отсюда файл с именем cc2538-bsl.py и кладем его в папку где установлен Python, а также саму прошивку для нужного там чипа отсюда наш файл прошивки это 

Читать далее