Первый блин комом. Крах Home Assistant Supervised на SDD m.2 (superblock failed)

Вообщем покупка SSD на Aliexpress дала о себе знать. Только начал осваивать аддон ESPHome под HA, как полетело все и вся в один момент. Несмотря на то, я часто писал материал по резервному копированию системы умного дома различной методикой, у себя на практике не хватило времени все это применить на главном сервере с raspberry … точнее частично применено, только, остальное на авось полагалось. Сам виноват. 🙂 Быстренько закупил себе тестовый экземпляр Raspberry Pi4 2Gb + eMMC 16Gb, перенес все эксперименты на него. Продакшн сервер умного дома оставил в покое. 🙂

И так вкратце суть проблемы. Побиты superblocks на Linux. Вылетала постоянно ошибка :

dumpe2fs /dev/sdb | grep -i superblock
dumpe2fs 1.44.5 (15-Dec-2018)
dumpe2fs: Bad magic number in super-block while trying to open /dev/sdb
Couldn't find valid filesystem superblock.

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

root@ihome:/etc/init.d# dumpe2fs /dev/sda2 | grep -i superblock
dumpe2fs 1.44.5 (15-Dec-2018)
  Primary superblock at 0, Group descriptors at 1-4
  Backup superblock at 32768, Group descriptors at 32769-32772
  Backup superblock at 98304, Group descriptors at 98305-98308
  Backup superblock at 163840, Group descriptors at 163841-163844
  Backup superblock at 229376, Group descriptors at 229377-229380
  Backup superblock at 294912, Group descriptors at 294913-294916
  Backup superblock at 819200, Group descriptors at 819201-819204
  Backup superblock at 884736, Group descriptors at 884737-884740
  Backup superblock at 1605632, Group descriptors at 1605633-1605636
  Backup superblock at 2654208, Group descriptors at 2654209-2654212
  Backup superblock at 4096000, Group descriptors at 4096001-4096004
  Backup superblock at 7962624, Group descriptors at 7962625-7962628
  Backup superblock at 11239424, Group descriptors at 11239425-11239428

Никакие тесты поверхности диска в Linux не проходят до конца. Система загружается но докер контейнеры не поднимаются. Было затрачено время чтобы хоть что-то восстановить – но увы. Похоже на Bad blocks 🙂 Удалось выяснить по тестам сканированием поверхности диска Ext4

Читать далее

Счетчик PZEM-004T via ESP32Devkit. Подводим итоги эксплуатации

В ранних статьях я собирал связку PZEM-004T + ESP32 Devkit для создания счетчика до 100А на весь дом (однофазный). Прошивал все это через Tasmota и интегрировал в HomeAssistant. За это время у себя в доме я расширил Wifi Mesh сеть новыми устройствами от Keenetic Buddy 5/5S, Keenetic Giga/Air. И все вроде б как должно работать на отлично. Но не тут то было …

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Работа ESP32 Devkit в домашней сети. Сам модуль находится у меня через 2 кирпичные стены по отношению к Wifi точке, и особых проблем со связью замечено не было. Многие wifi устройства через эти стены работают нормально и продолжают работать, но не ESP32. Очень часто было замечена проблема с Wifi сигналом, скорость соединения была на уровне 1-13Mbit. Этого конечно хватает, для обмена данными … но тут проблема глубже

Читать далее

Выполняем удаленные скрипты из докера Home Assistant Supervised (Update)

По политически соображения пришлось мигрировать на Home Assistant Supervised. Ранее долго сидел на Home Assistant Core решении. Был хозяином и властелином env Linux. Возможно об этом будет отдельная статья … почему было принято такое решение. Но я категорически ранее не переносил все эти докеры и виртуализации на HomeAssistant, несмотря на то что на работе тоже приходится связываться с докером. Начнем …

Помимо процесса миграции я точно знал, что у меня будут проблемы с Home Assistant Supervised, но и у этого решения есть свои плюсы. Первая проблема с которой я столкнулся это выполнение скриптов php из различных библиотек. Так мне необходимо было использовать php-miio для управления сигнализацией от Xiaomi. Т.е. выполнение такой простой команды вылилось в кровьи много затреченного времени. Как все это настроить, если Linix на HomeAssistant умеет урезанную версию и что либо-туда установить не возможно. Даже если использовать docker-composer, но не хотелось усложнять себе жизнь

php /opt/php-miio/miio-cli.php --ip 192.168.1.30 --token 0e3628ef3d3c82cd15f18444a6e7a97c94 --sendcmd '{"id":1,"method":"set_arming","params":["on"]}'

Решением оказалось весьма не простым, но рабочим. Это выполнение bash скрипта в HomeAssistant CLI, в котором существует два этапа : 1) без парольная авторизация на удаленном хосте с полноценным Linux, где установлены приложения php/python/java … и прочее и 2) выполнение самой php команды на удаленном хосте, тоже через bash скрипт, но уже с непосредственным участием оборудования умного дома … т.е. нашим гейтом Xiaomi. Надеюсь мысль донес 🙂

Читать далее

Резервное копирование снапшотов с помощью Samba в HomeAssistant Supervised

Верстаю на скорую руку 🙂 Наверно самое оптимальное и более удобное резервное копирование нужно производить на удаленный локальный хост где настроена Samba. Локальное нас не устраивает, тем, что оно локальное, умрет SD карта / SSD, пиши все пропало. Копировать на внешнее облако в  интернете (как это тупо проповедуют некоторые блогеры) – не безопасно. Безопасно, когда есть что-то свое под носом и ты его хозяин. 🙂 SAMBA сервер в сети (например на NAS). Я перепробовал всякие варианты резервного копирования через sync / scp / ssh / nfs … и дальше контейнера с сервисом прорваться не удавалось – то root права нужны в докере/ то mount с ключом -a не работает, то еще что-то … эти докеры это просто сущий ад. Они очень ограничивают ваши возможности в конфигурации умного дома. Можно конечно все настроить и через docker-compose, но мне лень этим заниматься. Какой  бы олень во всю трубу не трубил, что это docker это круто для автоматизаций – не верьте 🙂 Приступим к реализации.

У нас в сети есть уже готовый SAMBA доступ с логином и паролем. Пусть это будет по пути \\192.168.1.30\backup\RP4main, логин admin и пароль qwerty123. В эту папку и будем складировать наши снапшоты (бэкапы). 

Установка репозитория Home Assistant Add-on: Samba Backup, это всего лишь иструмент для начала …

Двигаемся в Home Assistant -> Supervisor -> Add-on Store и добавить URL https://github.com/thomasmauerer/hassio-addons

Настраиваем его конфигурацию. Здесь нам важно только несколько параметров т.е. все кроме trigger_time. 🙂 Автоматизацию мы настроим отдельно. Да  и не забудьте про workgroup=, у меня он свой в домашней сети. trigger_time в manual, так как мы планирем его настраивать через автоматизации в HA

Читать далее

[Cards] Получаем список сущностей доменов из MariaDB

Может будем кому интересно. На основании этого списка можно лицезреть как правильно мы настраиваем наш recorder.yaml. По умолчанию он имеет конфигурацию

### Recorder ###
  purge_keep_days: 7
  auto_purge: true
  purge_interval: 1
  commit_interval: 60
  db_url: !secret db_url

список  сущностей (entities) хранимых в нашей базе MariaDB

  lovelace.yaml

cards:
  - cards:
      - content: >-
          **domains:** {%- set unique_domains = states |
          map(attribute='domain') |list | unique | list -%} {%- for domain
          in unique_domains -%} {{"\n"}}- {{domain}} {%- endfor -%} {{"\n"}}
        type: markdown
      - content: >-
          **entities:** {%- for state in states -%} {{"\n"}} -
          {{state.entity_id}} {%- endfor -%}
        type: markdown
      - entities:
          - entity: sensor.maria_db
        show_header_toggle: false
        title: Maria DataBase size
        type: entities
    type: horizontal-stack
panel: true
path: db_entities
title: MariDBList

Результат

 

Добавляем обогреватель Xiaomi Heater в HomeAssistant

В одном из своих постой я рассказывал об интеграции Wifi обогревателя от Xiaomi через Addon HACS. К сожалению автор забил на него … и пришлось искать что либо подходящее и было найдено новое решение на github: https://github.com/ee02217/homeassistant-mi-heater. Настраивается эта интеграция также легко как и предыдущая.

Добавлем новый репозиторий в HACS

Читать далее

Вышла новая версия Zigbee2mqtt 1.21.0 и прошивка для стиков на TI CC2652R, CC2652RB, CC1352P-2

Полное описание новшеств можно прочитать здесь

Стоит отметить : что добавлена миграция с CC2531 / CC2530 на прошивке 1.2 на CC2652 / CC1352 / CC2538 без переспаривания устройств, повышена  надежности опроса конечных устройств  от TuYa, исправлена ​​коллизии при обнаружении группы Home Assistant между разными экземплярами Zigbee2MQTT и прочие сладости. А прошивка для CC26xx -> Fix joining not working when joining is only permitted on specific router. Вообщем обновляемся … я уже 🙂

Прошивки можно скачать отсюда

Инструкция по прошивке здесь

Добавляем стиральную машину LG F2V5HSOW с поддержкой SmartThing в HomeAssistant

Чем бы дитя не тешилось … лищь бы не руками 🙂 Продолжаю добавлять в HomeAssistant умную технику по дому. На этот раз щастье выпало стиральной машине LG AIDD F2V5HSOW

я бы не сказал что она такая навороченная … и супер современная. Но имеет поддержку WiFi и управляется удаленно (громко сказано конечно) фирменным приложением от LG Thing. Начнем … Для наала нам необходимо добавить новый репозиторий в HACS. Репозиторий таков :  https://github.com/ollo69/ha-smartthinq-sensors. Добавили ? Ищем его в списке и устанавливаем

Перезапускаем HomeAssistant

Заходим в интерфейс управления HomeAssistant – Настройки – Интеграция – Добавить интеграцию и выбираем

Читать далее

Сравнительная таблица всех Aqara хабов

Попалась мне интересная табличка всех шлюзов от Aqara,  надеюсь она вам будет полезна для определения перед покупкой шлюза. Делаем акцент на Zigbee чип и Flash/RAM. 🙂

Добавляем zigbee2mqtt-networkmap для Zigbee устройств в HomeAssistant [HACS]

Недавно заметил еще одну интересную карту построения Zigbee сети для HA. Репозиторий находится на github https://github.com/azuwis/zigbee2mqtt-networkmap. Ради интереса поставил. Добро. Установка из HACS

Мне неудалось добавить эту карточку из HACS в HA, что-то не так пошло и оно упорно не ставилось и глухо замирало. Точнее сам скрипт в систему загрузился, но далее дело не шло. Пришлось ставить ручками. Для этого конфигурируем несколько файлов :

sensors.yaml

# plugin zigbee2mqtt-networkmap
  - platform: mqtt
    name: Zigbee2mqtt Networkmap
    # if you change base_topic of Zigbee2mqtt, change state_topic accordingly
    state_topic: zigbee2mqtt/bridge/networkmap/raw
    value_template: >-
      {{ now().strftime('%Y-%m-%d %H:%M:%S') }}
    # again, if you change base_topic of Zigbee2mqtt, change json_attributes_topic accordingly
    json_attributes_topic: zigbee2mqtt/bridge/networkmap/raw

configuration.yaml

lovelace:
  mode: yaml
  resources:
    - url: /hacsfiles/zigbee2mqtt-networkmap/zigbee2mqtt-networkmap.js?v=0.6.0
      type: module

Читать далее