Сообщество - Home Assistant

Home Assistant

24 поста 934 подписчика

Популярные теги в сообществе:

Локальное управление кондиционерами TCL в Home Assistant

Привет всем любителям, мастерам и гуру Home Assistant и им сочувствующим!

Как-то уже давно появился вопрос о локальном управлении сплит-системами от TCL и перемарками из Home Assistant, и постольку поскольку готовых решений найдено не было, пришлось пилить свое на основании того, что было. Пришлось и программировать, и паять, и протокол ломать, и в итоге получилось нечто из модуля на ESP8266 или ESP32, программной части в ESPHome и некоторого рукоприкладства. И внезапно я таки пришел к успеху такому, что отдельные личности втихаря начали таскать реализацию себе и переписывать, типа "сам сделяль". Пальцами тыкать не буду, но на западных форумах ссылки довольно легко находятся, сходство очевидно, а даты все расставляют по местам. Увы, наработки, с которых я начинал, были реализованы в виде Custom Component, который нынче активно выводят из эксплуатации в ESPHome, поэтому потребовалось все переписать в виде отдельного компонента. В трезвом уме я точно этого здесь не публиковал, потому хочу обратить внимание на мои статьи по этой теме в Дзене, вот ссылка на первую и наиболее содержательную часть: https://dzen.ru/a/ZmdoyUNswXWnulhg .

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

Вкратце: я сделал компонент для ESPHome, позволяющий подключить и запрограммировать модуль на ESP8266 или ESP32 для сугубо локального управления кондиционером- никакой связи с внешним миром не требуется, никакие данные не утекают, никакой зависимости от сервисов, которые можно отключить. В данный момент работа компонента проверена на следующих кондиционерах:

  • Axioma ASX09H1/ASB09H1

  • Ballu Discovery DC BSVI-09HN8

  • Daichi AIR20AVQ1/AIR20FV1

  • Daichi AIR25AVQS1R-1/AIR25FVS1R-1

  • Daichi AIR35AVQS1R-1/AIR35FVS1R-1

  • Daichi DA35EVQ1-1/DF35EV1-1

  • Dantex RK-12SATI/RK-12SATIE

  • Ecostar Radium KVS-RAD09CH

  • TCL Liferise ONF 09

  • TCL TAC-07CHSA/TPG-W

  • TCL TAC-09CHSA/TPG

  • TCL TAC-09CHSA/DSEI-W

  • TCL TAC-12CHSA/TPG

  • TCL TAC-XAL24I

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

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

Показать полностью

Запустим волну Lovelace?

На дворе конец года и хоть пишу я от Анонима чтобы себе профиль не засорять, есть предложение: хвалитесь! Вы же строите умный дом с Home Assistant сами, как и я. И у вас есть панель, которую вы считаете оптимальной, но регулярно встречаете где-то в Интернетах картиночки откуда берёте идеи. Так вот сегодня я показываю картиночку и то же самое предлагаю вам.

Запустим волну Lovelace? Home Assistant, Дизайн, Длиннопост

Начну с общего вида. Это режим "Разделы" т.е. на мобилке просто один блок в ширину и всё по вертикали а на десктопе - панель без прокрутки. Тут используется несколько дополнений, я их буду упоминать при разборе карточек. Пока хочу ещё раз заметить что я буду фокусироваться на дизайне а не на охвате там или гении автоматизирования. Только внешний вид, его красота и, может, эффективность.

Запустим волну Lovelace? Home Assistant, Дизайн, Длиннопост

Это - план дома. При чём это не просто картинка, это svg файл, сделанный в inkscape, то есть графика векторная, послойная, объекты имеют имена и карточка floorplan-card может управлять содержимым картинки. Например, сейчас включены два фиолетовых прямоугольника, верхний это компьютер а нижний - 3D-принтер. Вентилятор над принтером на картинке крутится, то же самое будет делать вентилятор в санузле, если включить вентиляцияю.

Запустим волну Lovelace? Home Assistant, Дизайн, Длиннопост

Свет в помещении тоже показывается и можно тапом по комнате его включить и выключить. Поскольку это первая карточка, она же показывается первой и в телефоне, это так сказать сводка. Температуры-влажности я решил не выводить, но это реально.

Запустим волну Lovelace? Home Assistant, Дизайн, Длиннопост

В блоке "Техника" у меня принтер и пылесос. Кнопка, похожая на киноленту включает подсветку в принтере. Карточка разворачивается вот так, когда принтер печатает и показывает прогресс "на лету", картинка слева также меняется. Я активно пользуюсь карточками Mushroom, поэтому на скрине название это Mushroom Title, мини-кнопки это Mushroom Chips, пылесос это Mushroom Vacuum, при чём когда пылесос работает, иконка шевелится, ну а карточка для 3D-принтера это Threedy. А ещё в этом же блоке показываются постоянные уведомления. Это то, что требует моего внимания "при случае" и не должно быть случайно закрыто:

Запустим волну Lovelace? Home Assistant, Дизайн, Длиннопост

По сути это просто набор conditional карточек в Вертикальном стеке с markdown и шаблонированием.

Запустим волну Lovelace? Home Assistant, Дизайн, Длиннопост

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

Запустим волну Lovelace? Home Assistant, Дизайн, Длиннопост

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

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

Запустим волну Lovelace? Home Assistant, Дизайн, Длиннопост

Графики строит mini-graph-card, при этом цвета графиков настроены так, чтобы комфорт был зелёным, отклонение от комфорта - синее или красное. То есть слишком жарко - график красный, слишком холодно - синий. Слишком сухо - красный, слишком влажно - синий. По такому принципу построены все графики и они имеют единый стиль без проблем с распознаванием.

Запустим волну Lovelace? Home Assistant, Дизайн, Длиннопост

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

Запустим волну Lovelace? Home Assistant, Дизайн, Длиннопост

В "уличном" блоке вместо названия отображается статус погоды. Две чипсины от двух поставщиков нужны скорее для единого дизайна, чем для данных. А вот графики я смотрю регулярно, это всё тот же mini-graph-card рисует, здесь вы, наверно, и без подсказки догадались, что оранжево-красный это Yandex, голубой это Gismeteo а серый это у меня за окном висит напечатанный на принтере экран Стивенсона.

Запустим волну Lovelace? Home Assistant, Дизайн, Длиннопост

Как видно по графику, в холодное время года он всё же ловит тепло от дома, но в целом все три идут рядом. Ну и hourly-weather это левая нижняя карточка, рисует что-то похожее на телефонный виджет погоды.

Внимательный читатель спросит: если значком > обозначается что заголовок кликабельный, то куда ведёт Synology DSM, это же не свет? А я отвечу:

Запустим волну Lovelace? Home Assistant, Дизайн, Длиннопост

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

А как у вас организовано отображение в Home Assistant? Хвалитесь)

Показать полностью 11

Инструкция по отслеживанию сна в HomeAssistant

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

Установите приложение Notify for Mi Band.

Настройте его (подробная инструкция не требуется, так как приложение легко настраивается).

Скачайте приложение Sleep as Android.

Разрешите все необходимые разрешения.

Зайдите в настройки Sleep as Android.

Найдите раздел «Сервисы» и перейдите в него.

Найдите раздел «Автоматизации» и перейдите в него.

Настройте MQTT.

Пример:

URL: tcp://{имя пользователя брокера}:{пароль от брокера MQTT}@homeassistant.local:1883

Тема: SleepAsAndroid/{имя или название}

Готово!

Скачайте интеграцию Sleep As Android из HACS и перезагрузите Home Assistant.

Зайдите в устройства и службы и добавьте интеграцию «Sleep As Android».

Укажите любое имя сенсора.

Укажите раздел на MQTT-сервере с сообщениями от приложения, который вы указали в настройках SleepAsAndroid в качестве темы.

Зайдите в SleepAsAndroid и нажмите «Test».

Теперь у вас есть отслеживание сна в Home Assistant!

Обратите внимание, что для подключения Notify for Mi Band необходимо зайти в настройки SleepAsAndroid, раздел «Отслеживание сна и умные часы», выбрать Mi Band и следовать инструкции.

Показать полностью

Получаем погоду в Home Assistant c WS2032 с помощью rtl_433

Алоха, красноглазые! в этом посте я расскажу, как затащить данные с погодной станции на WS2032 в Home Assistant. данная статья не для новичков, подразумевается, что вы немного знакомы с linux (делать будем на нем) ну и docker надо, куда ж без него

Получаем погоду в Home Assistant c WS2032 с помощью rtl_433 Home Assistant, Погода, Длиннопост, Linux, Docker, 433mhz

а вот и эта продукция сумрачного китайского гения WS2302

История такова, что мне подарили эту погодную станцию и я ее в загородном доме долго использовал, но у нее только экран с цифрами есть, а как объединить ее и HA - понятных инструкций не было. ну поковыряв интернеты пару вечеров, я придумал как сделать. Вообще данный способ подходит для кучи устройств которые разговаривают по открытому протоколу на частоте 433 мгц, rtl_433 поддерживает дофига всякого

TL;DR

связка работает так - ws2032>usb radio >утилита rtl_433> очередь mqtt> home assistant

Погнали:

  1. покупаем на али погодную станцию на базе WS2032 их там довольно много, и вроде как они самые недорогие, есть варианты с со сбором воды и просто ветер и температура, так же потребуется usb радиоприемник типа soap-sdr (их великое множество, все немного качеством различаются я брал на RTL2838 DVB-T, самые дешманские работают не очень) и usb хаб с питанием.

  2. нам потребуется rtl_433 - утилиту можно взять из системных реп но лучше взять свежую из гита и собрать самостоятельно вот гайд,

    1. для работы rtl_433 потребуется конфиг файл, в нем очень важный момент - нужно будет указать окно девиаций частоты, поскольку станция дешманская и частота передатчика довольно заметно плавает, у меня заработало стабильно вот с таким конфигом (/etc/rtl_433/rtl_433.conf)

      device 0

      gain 0

      # default is "433.92M", other resonable values are 315M, 345M, 915M and 868M

      frequency 433.69M

      frequency 433.72M

      frequency 433.752M

      # default is "600" seconds, only used when multiple frequencies are given

      hop_interval 10

      ppm_error 0

      sample_rate 250k

      samples_to_read 0

      analyze_pulses false

      report_meta level

      report_meta stats

      report_meta time:usec

      report_meta protocol

      signal_grabber none

      output json

      convert si

      stop_after_successful_events false

      protocol 145 # WS2032 weather station

  3. запустить проверить можно вот таким способом

    /usr/bin/rtl_433 -F mqtt://127.0.0.1 1883 retain 1 events rtl_433/rtlsdr/event/21770 states rtl_433/rtlsdr/state/21770 -c /etc/rtl_433/rtl_433.conf

    в ответ должно получиться что то такое

Получаем погоду в Home Assistant c WS2032 с помощью rtl_433 Home Assistant, Погода, Длиннопост, Linux, Docker, 433mhz

как видно из выхлопа - приемник уcлышал погодную станцию, она передает раз в минуту и вывод в формате json

rlt_433 и контейнер с mqtt в моем случае на 1 хосте живут

4. далее нам нужен сервер очередей mqtt - проще всего использовать docker compose

вот их репозиторий со всей нужной обвязкой

services:

mosquitto:

image: eclipse-mosquitto:latest

restart: unless-stopped

volumes:

- ./config/:/mosquitto/config/:rw

- ./log/:/mosquitto/log/

- ./data:/mosquitto/data/

ports:

- 1883:1883

- 9001:9001

запускаем композ и смотрим что он начал слушать на порту 1883, рядом в соседнем терминале запускаем rtl_433 (потом можно будет написать systemd unit) - проверить что в mqtt что то пишется нам поможет утилита mqtt explorer - цепляемся к нашей очереди и смотрим события в ней

Получаем погоду в Home Assistant c WS2032 с помощью rtl_433 Home Assistant, Погода, Длиннопост, Linux, Docker, 433mhz

тут видно что используется 2 очереди event и state (остальные очереди в моем случае всякое остальное типа zigbee устройств) в очереди event можно понаблюдать как меняются данные,

5. раз данные обновляются стабильно, можно переходить к настройке Home Assistant - нам потребуется плагин для mqtt и немного допилить конфиг для того что бы направление ветра показывало не в градусах а в виде букв (N,S,W,E и тд)

сам плагин настраиваем что бы он слушал нашу очередь

Получаем погоду в Home Assistant c WS2032 с помощью rtl_433 Home Assistant, Погода, Длиннопост, Linux, Docker, 433mhz

тут надо указать ип адрес машины с mqtt

и указываем топик откуда получать данные

Получаем погоду в Home Assistant c WS2032 с помощью rtl_433 Home Assistant, Погода, Длиннопост, Linux, Docker, 433mhz

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

далее настраиваем configuration.yaml от HA (не забываем рестатануть HA и внимательно следим за идетнацией ямла - блоки sensor ws2032_extras и mqtt должны вроде как быть без отступов, но в вашем конфиге может быть иначе)

mqtt:

sensor:

- name: "village_outside_temp"

state_topic: "rtl_433/rtlsdr/event/21770"

unit_of_measurement: "°C"

value_template: "{{ value_json.temperature_C }}"

unique_id: village_outside_temp_id

- name: "village_outside_humidity"

state_topic: "rtl_433/rtlsdr/event/21770"

unit_of_measurement: "%"

value_template: "{{ value_json.humidity }}"

unique_id: village_outside_humidity_id

- name: "village_outside_wind_direction"

state_topic: "rtl_433/rtlsdr/event/21770"

unit_of_measurement: "deg"

value_template: "{{ value_json.wind_dir_deg }}"

unique_id: village_outside_wind_dir_deg

- name: "village_outside_wind_avg_spd"

state_topic: "rtl_433/rtlsdr/event/21770"

unit_of_measurement: "km/h"

value_template: "{{ value_json.wind_avg_km_h }}"

unique_id: village_outside_wind_avg_spd

- name: "village_outside_wind_max_spd"

state_topic: "rtl_433/rtlsdr/event/21770"

unit_of_measurement: "km/h"

value_template: "{{ value_json.wind_max_km_h }}"

unique_id: village_outside_wind_max_spd

- name: "village_outside_battery_ok"

state_topic: "rtl_433/rtlsdr/event/21770"

unit_of_measurement: "state"

value_template: "{{ value_json.battery_ok }}"

unique_id: village_outside_battery_ok

sensor ws2032_extras:

- platform: template

sensors:

ws2032_wdc:

unique_id: ws2032_wdc

friendly_name: "Wind: Direction (Cardinal)"

icon_template: mdi:weather-cloudy-arrow-right

value_template: >

{% set direction = ['N','NNE','NE','ENE','E','ESE','SE','SSE','S','SSW','SW','WSW','W','WNW','NW','NNW','N'] %}

{% set degree = states('sensor.village_outside_wind_direction')|float %}

{{ direction[((degree+11.25)/22.5)|int] }}

ws2032_ws_kmh:

unique_id: ws2032_ws_kmh

friendly_name: "Wind: Speed (km/h)"

icon_template: mdi:windsock

device_class: wind_speed

unit_of_measurement: "km/h"

value_template: "{{ states('sensor.village_outside_wind_avg_spd')}}"

ws2032_gs_kmh:

unique_id: ws2032_gs_kmh

friendly_name: "Wind: Gust Speed (km/h)"

icon_template: mdi:pinwheel-outline

device_class: wind_speed

unit_of_measurement: "km/h"

value_template: "{{ states('sensor.village_outside_wind_max_spd') }}"

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

Получаем погоду в Home Assistant c WS2032 с помощью rtl_433 Home Assistant, Погода, Длиннопост, Linux, Docker, 433mhz
Получаем погоду в Home Assistant c WS2032 с помощью rtl_433 Home Assistant, Погода, Длиннопост, Linux, Docker, 433mhz
Получаем погоду в Home Assistant c WS2032 с помощью rtl_433 Home Assistant, Погода, Длиннопост, Linux, Docker, 433mhz

Все, осталось только накинуть системд юнит в /etc/systemd/system/rtl_433.service примерно такой

[Unit]

Description=RTL_433 service script

StartLimitIntervalSec=5

Documentation=https://github.com/merbanan/rtl_433/README.md

After=syslog.target network.target

[Service]

Type=exec

ExecStart=/usr/bin/rtl_433 -F 'mqtt://127.0.0.1:1883,retain=1,events=rtl_433/rtlsdr/event/21770,states=rtl_433/rtlsdr/state/21770' -c /etc/rtl_433/rtl_433.conf

# Restart script if stopped

Restart=always

# Wait 30s before restart

RestartSec=30s

# Tag things in the log

# View with: sudo journalctl -f -u rtl_433 -o cat

SyslogIdentifier=rtl_433

StandardOutput=syslog

StandardError=syslog

[Install]

WantedBy=multi-user.target

не забываем сделать релоад системд и сказать нашему юниту enable ну и ребутнуть разок что бы проверить что все это хозяйство переживает рестарт

ВСЕ, ПОБЕДА!

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

Показать полностью 8

Home Assistant, modbus и водосчётчик VALTEC ПРОТЕЙ 15 RS485

Всем здравствуйте! Прошу сильно не пинать. я лишь только пока новичок. В общем такая проблема: Решил я в HA интегрировать водосчётчик VALTEC ПРОТЕЙ 15 RS485, по Modbus. Приоблёл USB-RS485 адаптер, вставил онный в сервер, нашел его в оборудовании, в configuration. yaml прописал modbus устройство,
modbus:
- name: modbus_hub
type: serial
port: /dev/ttyUSB0
baudrate: 9600
bytesize: 8
method: rtu
parity: E
stopbits: 1
sensors:
- name: Water meter
unit_of_measurement: "m³/h"
slave: 1
address: 89
count: 2
swap: word
input_type: holding
scale: 0.001
offset: 0
precision: 1
data_type: int32
device_class: volume
delay: 0
message_wait_milliseconds: 30
timeout: 5

ииии получил ошибку:
Регистратор: homeassistant. config
Источник: config. py: 1335
Первое сообщение: 14:00:11 (1 сообщений)
Последнее сообщение: 14:00:11

Invalid config for 'modbus' at configuration. yaml, line 24: Water meter: `count` illegal with `data_type: int32` 'modbus->0->sensors->0', got {'name': 'Water meter', 'unit_of_measurement': 'm³/h', 'slave': 1, 'address': 89, 'count': 2, 'swap': 'word', 'input_type': 'holding', 'scale': 0.001, 'offset': 0, 'precision': 1, 'data_type': 'int32', 'device_class': 'volume'}, please check the docs at https://www.home-assistant.io/integrations/modbus
Помогите пожалуйста!

Показать полностью

Помогите настроить modbus

Здравствуйте. Прошу помощи.
Пытаюсь настроить работу по Modbus: raspberry pi через платку RS485 CAN HAT (https://www.waveshare.com/wiki/RS485_CAN_HAT) должна общаться с платой реле Modbus RTU Relay 16CH (https://www.waveshare.…/Modbus_RTU_Relay_16CH). Файл на питоне работает, реле включаются и выключаются. А Home Assisistant Supervised ( ver 1.7.0) напрочь не хочет работать с modbus. Везде примеры только для USB-RS485 преобразователей .
Может есть какой-то секрет для активации GPIO-RS485 преобразователя в Home Assistant?


modbus:
- name: modbus_hub
type: serial
port: /dev/ttyS0
baudrate: 9600
bytesize: 8
method: rtu
parity: E
stopbits: 2

switches:
- name: Rele_1
scan_interval: 5
slave: 1
address: 1
command_on: 255
command_off: 0
unique_id: rele_WSH_switch_1
- name: Rele_2
scan_interval: 5
slave: 1
address: 2
command_on: 65280
command_off: 0
unique_id: rele_WSH_switch_2
- name: Rele_3
scan_interval: 5
slave: 1
address: 3
command_on: 0xFF00
command_off: 0
unique_id: rele_WSH_switch_3
- name: Rele_4
scan_interval: 5
slave: 1
address: 4
command_on: 1
command_off: 0
unique_id: rele_WSH_switch_4
- name: Rele_5
scan_interval: 5
slave: 1
address: 5
command_on: 255
command_off: 0
unique_id: rele_WSH_switch_5
- name: Rele_6
scan_interval: 5
slave: 1
address: 6
command_on: 0xFF
command_off: 0
unique_id: rele_WSH_switch_6


все эти варианты описани реле не работают

parity: ставил и E и N
stopbits: пробовал 1 и 2
baudrate: 9600 и 19200
port: /dev/ttyS0 правильный - в терминальном режиме без HA реле через него работает.

самый логичный вариант (по описанию hex -кодов реле) : address: 2 command_on: 65280
но и он не работает

Для включения первого реле должна отправляться команда 01 05 00 01 FF 00 DD FA, где 01 - номер релейного блока в линии, 05 - тип команды (запись в регистр управления реле), 0001 - номер реле, FF00 - команда включения реле. По журналу событий видно, что в любой ситуации вместо 05 отправляется 06, а это означает изменение скорости передачи. Как заставить home assistant правильно указывать команду 05?

Показать полностью

Запускаем приложения в android из Home Assistant

Запускаем приложения в android из Home Assistant Home Assistant, Android, Android TV, Длиннопост

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

Во первых нам нужно подключить управление устройством к home assistant:

открываем в настройках устройства параметры разработчика и включаем "Отладка ADB"

  • Далее перейдите к своему экземпляру Home Assistant.

  • Откройте «Настройки» > «Устройства и службы» .

  • В правом нижнем углу выберите значок Кнопка «Добавить интеграцию» .

  • В списке выберите Android Debug Bridge .

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

В результате у Вас появится интеграция Android Debug Bridge с устройством к примеру media_player.bedroomtvconsole

На данном этапе Вы уже можете управлять устройством но действий довольно мало вкл/выкл, звук и т.д.

А вот для запуска нужного нам приложения, нужно найти его название в системе тут несколько вариантов, вот пара:

Или запустите приложение сами и в статусе объекта вашего ADB устройства в hass появится его название типа: org.xbmc.kodi

Или на самом устройстве откройте с помощью файлового менеджера папку Android>data там папки с установленными приложениями вот имя соответствующей папки и будет название приложения.

Далее в hass открываем панель разработчика>службы и вызываем службу, не забывая заменить имя приложения (в 3 местах) и объект вашего ADB устройства :

service: androidtv.adb_command

data:

command: >-

adb shell pm dump org.xbmc.kodi | grep -A 1 "MAIN" | grep

org.xbmc.kodi | awk '{print $2}' | grep org.xbmc.kodi

target:

entity_id: media_player.bedroomtvconsole

Переходим в панель разработчика>состояния и находим media_player.bedroomtvconsole

и в первой строке будет запись примерно такого вида: adb_response: org.xbmc.kodi/.Splash

вот "org.xbmc.kodi/.Splash" и искомые нами данные для запуска.

Используем их для запуска приложения:

service: androidtv.adb_command

data:

command: ' am start -a android.intent.action.VIEW -n org.xbmc.kodi/.Splash'

target:

entity_id: media_player.bedroomtvconsole

Если Вы все сделали верно то приложение запустится.

Ну и для создания пульта рекомендую интеграцию Android TV Remote Card

в ней добавляете свою кнопку таким путем:

custom_actions:

kodi:

icon: mdi:kodi

tap_action:

action: call-service

service: androidtv.adb_command

data:

command: ' am start -a android.intent.action.VIEW -n org.xbmc.kodi/.Splash'

target:

entity_id:

- media_player.bedroomtvconsole

Более подробная информация по использованию ADB

Показать полностью 1

Управление водяным теплым полом

Недавно делал управление водяным теплым полом через Home Assistant в своем доме, информация возможно пригодится таким же новичкам как и я.

В доме стоит гребенка примерно такого вида:

Управление водяным теплым полом Hass, Умный дом, Home Assistant, Отопление, Длиннопост

Цель была сделать регулировку всех зон без установки комнатных термостатов, т.е. без штробления стен ну и немаловажный фактор дешевизна конструктива)

по тому что мне понадобилось:

  1. Сервопривод с али 300-500 р.

    По приводам есть NC (Нормально закрытый) и соответственно NO (нормально открытый)

    отличаются поведением при подаче/отсутствии питания, к примеру я выбрал вариант NO - т.е. если на него не подавать питание то он будет открытым.

  2. Управляемое реле на 220 в. Можно wifi или ZigBee реле. Нужно столько, сколько у Вас будет зон для регулирования. на Али много вариантов по количеству реле в одном модуле но в документации Zigbee2Mqtt встречал что без проблемная поддержка до 12 реле. Я лично взял 1 4 канальное реле + 1 одноканальное. Цены от 300 до 2000 р.

  3. Ну и комнатные датчики температуры. Тут кто на что горазд хоть с датчиков движения снимайте температуру (Юмор, там очень не точно:-)

    Я в большинстве комнат стал использовать LYWSD03MMC прошитые в ZigBee. 200-600 р.

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

Ну а далее включаем питание на реле, сопрягаем с Z2M или ZHA. Идем в файл configuration.yamlи в нем добавляем термостат для каждого реле к которому подключен сервопривод:

Но тут сделаем небольшое отступление. Если Вы так же как и я выберете сервопривод нормально открытый, то в интерфейсе у вас будет все наоборот: включите реле - пойдет питание - сервопривод закроется а термостат будет показывать что отопление включится. Чтобы этого не происходило нужно сделать реверс выключателя, а потом именно на этот реверсный выключатель прописать термостат. Пример (так же в пишется в configuration.yaml)

(Если у Вас сервопривод NC то пропускайте раздел switch и пропишите только climate)

switch:

- platform: template

switches:

switch_heatbathroom_reversed:

value_template: "{{ is_state('switch.otoplenie_vannaia', 'off') }}"

turn_on:

service: switch.turn_off

data:

entity_id: switch.otoplenie_vannaia

turn_off:

service: switch.turn_on

data:

entity_id: switch.otoplenie_vannaia

climate:

- platform: generic_thermostat

name: ValveВанная (это название будет в HASS)

heater: switch.switch_heatbathroom_reversed (это объект выключателя реле)

target_sensor: sensor.temp_1_temperature (это объект температуры в комнате)

это практически минимальная конфигурация но вариантов настройки много (например по умолчанию поведение термостата такое: если Вы установите 22 гр. то он включится на обогрев когда будет 21,7 гр. и выключится при 22,3, это используется чтобы реле не слишком часто щелкало) подробнее тут:

https://www.home-assistant.io/integrations/generic_thermosta...

или гуглите Generic thermostat.

Перезагружайте HASS и добавляйте в интерфейсе термостат

type: thermostat

entity: climate.valvevannaia

show_current_as_primary: false

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

Показать полностью 1
Отличная работа, все прочитано!