Умный дом на Home Assistant без проводов
Интеграции
Вот так у меня на текущий момент выглядит страница интеграций в HA
Generic Camera
Интеграция используется для работы с камерами Hikvision. Раньше еще была Axis — для нее есть отдельная интеграция. Используются как сенсоры определения движения, для просмотра видеопотока и для отправки фото в telegram, при открытии и закрытии входной двери.
Сенсоры через интеграцию Generic Camera не получить, поэтому они отдельно прописаны в конфигурационном файле HA:binary_sensor: - platform: hikvision host: cam4.examaple.com username: hass password: !secret "hik_pass" - platform: hikvision host: cam3.example.com username: hass password: !secret "hik_pass"
Google assistant
Используется только с одной целью: для открытия шлагбаумов при въезде в ЖК и на паркинг, чтобы не нужно было брать в руки телефон. Для всего остального используется Алиса.
Haier Online (HON)
Кастомная интеграция установлена через HACS. Используется для управления Мульти-сплит системы с 4 внутренними блоками.
Доступны сенсоры: температура снаружи, внутри, статус сплита.
Управление: включение/выключение, установка целевой температуры и программы.
LG WebOS Smart TV
Интеграция с телевизорами LG WebOS.
Сенсоры: Включен/выключен, громкость, используемый источник (Ivi, Plex, HDMI и т.д.)
Управление: Включение/выключение, установка громкости, выбор источника.
Телевизоры подключены через Wi-Fi, для включения на них отправляется magic пакет, в самой интеграции такого функционала нет, поэтому используется автоматизация в HA
Автоматизация для включения телевизора
alias: Спальня-телевизор-включение
description: Необходимо для работы кнопки включения телевизора или включения через Алису
trigger:
- platform: device
device_id: 1d399e9a9f6cf23e13f2c412ec6e639f
domain: webostv
type: webostv.turn_on
condition: []
action:
- service: wake_on_lan.send_magic_packet
data:
mac: D4:86:60:26:F0:E2
broadcast_address: 192.168.88.84
mode: single
Интеграция с mosquitto, там в основном устройства подключенные по протоколу Zigbee через zigbee2mqtt, и есть еще Xiaomi Hub (используется просто как ночник) c установленным OpenWrt for Xiaomi Zigbee.
Используются производители: CR Smart Home, eWeLink, IKEA, Legrand, Moes, TuYa, UseeLink, Xiaomi.
Устройства: Теплый пол, Приводы штор, электрические розетки, выключатели, приводы на арматуру водоснабжения, реле, датчики протечки, открытия, влажности, температуры, движения, освещенности, беспроводные выключатели, Xiaomi Cube.
Несколько примеров автоматизаций:
Включение теплого пола и вытяжки при высокой влажности
alias: Ванна-вкл-вент-теплпол-влажность-высокая
description: Включить теплый пол и вентилятор
trigger:
- type: humidity
platform: device
device_id: 3d380f4db9c9a9b9a92ddcb7d6ba4eea
entity_id: sensor.sensor_bathroom_humidity
domain: sensor
above: 55
for:
hours: 0
minutes: 0
seconds: 0
milliseconds: 0
condition: []
action:
- type: turn_on
device_id: fe3b24d58f4848ea314bfee3a2847d31
entity_id: switch.switch_bathroom_left
domain: switch
- service: climate.set_temperature
target:
entity_id: climate.floorheat_bathroom
data:
temperature: 28
hvac_mode: heat
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- device_id: 0d62a807416ae25bdb4a4bfc081d121f
domain: climate
entity_id: climate.floorheat_bathroom
type: set_hvac_mode
hvac_mode: heat
mode: single
Включение ночника при обнаружении движения на одном из датчиков
alias: Коридор-движение
description: ""
trigger:
- type: motion
platform: device
device_id: 0cca9328b6eef50c5aad68231b10ae27
entity_id: binary_sensor.motion_corridor_occupancy
domain: binary_sensor
- platform: state
entity_id:
- binary_sensor.cam4_pir_alarm_2
from: "off"
to: "on"
condition:
- condition: or
conditions:
- condition: sun
before: sunrise
- condition: sun
after: sunset
- condition: time
before: "07:00:00"
action:
- type: turn_on
device_id: d97eb090526f9b0cd75e829fdff60886
entity_id: light.bed_side_lamp
domain: light
brightness_pct: 50
flash: short
mode: single
Отправка фото в телеграм при открытии двери
alias: Входная-дверь-открыта-Фото-Телега-in
description: ""
trigger:
- type: opened
platform: device
device_id: 31f8b43b5a647cf4f785a905ef46003e
entity_id: binary_sensor.contact_hallway_contact
domain: binary_sensor
condition: []
action:
- service: script.send_photo_telegram
data:
url: http://hass:********@cam4.***.ru/ISAPI/Streaming/channels/101/picture
mess: "{{ now().strftime('%H:%M:%S') }} Входная дверь открыта"
mode: parallel
max: 3
alias: send_photo_telegram
variables:
mess: null
sequence:
- service: telegram_bot.send_photo
data:
url: "{{url}}"
target: "-1001555******"
caption: "{{mess}}"
mode: parallel
max: 10
Изменение положения штор на угол поворота Xiaomi Cube
alias: Cube_rotate_right
description: ""
trigger:
- platform: mqtt
topic: zigbee2mqtt/0x00158d0004863928
payload: rotate_right
value_template: "{{ value_json.action }}"
condition: []
action:
- service: script.cover_change_position
data:
position: >-
{{ [(state_attr("cover.curtain_masterbedroom_right", "current_position") -
(trigger.payload_json.action_angle / 2) | int), 0] | max }}
mode: queued
max: 2
alias: cover_change_position
variables:
angle: null
sequence:
- service: mqtt.publish
data:
topic: zigbee2mqtt/0x00158d00058a0983/set
payload: "{\"position\": {{ position }}}"
mode: queued
max: 2
Bluetooth Low Energy Monitor
Кастомная интеграция установлена через HACS. Необходима для работы с устройствами BLE. Через нее работают: Умный браслет Mi Band, весы Mi Scale, датчики протечки и зачем-то соседский замок Aqara N200 сообщается мне статус замка и двери. Что интересно канал до датчиков протечки шифруется и для их подключения нужно получить ключ шифрования, а замок передает свои статусы без шифрования.
Блок с ключами шифрования из configuration.yamlble_monitor: devices: - mac: '54:EF:44:E1:AA:15' encryption_key: '7fb71c4935913c157a0e3e045400c897' - mac: '54:EF:44:E1:AD:D6' encryption_key: '172c0615f5dd7a9bc667cef7aa712e80' - mac: '54:EF:44:E1:A4:09' encryption_key: 'ed14843e79a7b860c62a3f9ec768eb7e' - mac: '54:EF:44:E1:A9:12' encryption_key: 'c60b3ae034f2d5184d9dfe6cf1b23432'
ПИК Домофон
Кастомная интеграция с ПИК Домофоном. Используется для просмотра видеопотока с домофонов (таких 3 штуки) и для открытия дверей, калиток и шлагбаумов. При въеде/выезде с паркинга мне нужно открывать 2 шлагбаума: один для въезда на территорию ЖК, другой на сам паркинг, так как телефон подключается к автомобилю через wireless android auto, то он не всегда под рукой, научить Алису отвечать без запуска приложения на андроиде я не смог, поэтому шлагбаумы открываю через Google Assistant. Устройства ПИК Домофон находятся в домене button, но Google Assistant их не воспринимает, из-за этого пришлось сделать виртуальный выключатель, который выставляется в Google Assistant.
Виртуальные переключатели для Google Assistant в configuration.yaml
google_assistant:
project_id: ha--------16047
service_account: !include SERVICE_ACCOUNT.JSON
report_state: true
expose_by_default: false
entity_config:
switch.virtgatein:
name: 'Entrance gate'
expose: true
room: Outside
switch.virtgateout:
name: 'Exit gate'
expose: true
room: Outside
switch.virtgateparking:
name: 'Parking gate'
expose: true
room: Outside
switch.virtgateunderground:
name: 'Underground gate'
expose: true
room: Outside
switch:
- platform: template
switches:
virtgatein:
friendly_name: "Виртуальный включатель шлагбаум въезд"
unique_id: virtgatein
turn_on:
service: switch.turn_on
target:
entity_id: switch.virtgatein
turn_off:
service: switch.turn_off
target:
entity_id: switch.virtgatein
virtgateout:
friendly_name: "Виртуальный включатель шлагбаум выезд"
unique_id: virtgateout
turn_on:
service: switch.turn_on
target:
entity_id: switch.virtgateout
turn_off:
service: switch.turn_off
target:
entity_id: switch.virtgateout
virtgateparking:
friendly_name: "Виртуальный включатель шлагбаум паркинг"
unique_id: virtgateparking
turn_on:
service: switch.turn_on
target:
entity_id: switch.virtgateparking
turn_off:
service: switch.turn_off
target:
entity_id: switch.virtgateparking
virtgateunderground:
friendly_name: "Виртуальный включатель шлагбаум подземелье"
unique_id: virtgateunderground
turn_on:
service: switch.turn_on
target:
entity_id: switch.virtgateunderground
turn_off:
service: switch.turn_off
target:
entity_id: switch.virtgateunderground
Кроме того, если сказать «Алиса, свет», то Алиса сделает переключение состояния (toggle), а Google Assistant в таком случае всегда включает вне зависимости от статуса, поэтому в автоматизацию еще пришлось добавить автоматическое выключение.
Автоматизация открытия шлагбаума
alias: снаружи-шлагбаум-въезд
description: ""
trigger:
- platform: state
entity_id:
- switch.virtgatein
to: "on"
from: "off"
condition: []
action:
- device_id: 6823413313691b06fb039a8884597c62
domain: button
entity_id: button.iot_relay_41772_unlocker
type: press
- service: switch.turn_off
data: {}
target:
entity_id: switch.virtgatein
mode: single
Plex
Не придумал для чего использовать, но он есть))
Xiaomi Miio
Используется для управления системами приточной вентиляции.
Сенсоры: содержание СО2 и PM2.5, температура, скорость вращения вентиляторов, статус, программа.
Управление: включение/выключение, программа, скорость вращения вентиляторов, подогрев воздуха.
Yandex Smart Home + Yandex.Station
Интеграции используются для управления умным домом через голосового помощника Алиса, для этого в каждой комнате стоят Яндекс Станции и того чтобы отправлять голосовые уведомления через Яндекс Станции. После того как появилась возможность управлять умным домом через помощника необходимость в других средствах управления практически отпала.
BedSideLamp
Когда-то давно мне подарили лампу Yelight BedSideLamp, она прекрасно завелась с этой интеграцией. Включение/выключение, яркость, цвет.
InfluxDB
Для более долгого хранения информации. Для визуализации используется Grafana.
Telegram
Отправка событий умного дома, основное это отправка фото при входе и выходе из квартиры.