
Домашний помощник: как заменить явную группировку устройств по районам
18 июля 2025 г.Этот пост будет коротким, но я надеюсь, что он окажется полезным.
Мой дом становится все более и более связанным, и число моих автоматизаций растет каждый месяц. Недавно я оборудовал свои роликовые ставни подключенными двигателями Somfy, чтобы они могли автоматически катиться, когда летом слишком жарко. СПОЙЛЕР: Учитывая текущую тепловую волну, это благо!
Я наивно создал следующую конфигурацию автоматизации:
- id: '1742926520608'
alias: Close all shutters
description: Close all shutters if it's already hot in the morning
triggers:
- trigger: time #1
at: 07:00:00
conditions:
- condition: numeric_state
entity_id: sensor.saint_julien_en_genevois_temperature
above: 23 #2
actions:
- action: cover.close_cover #3
metadata: {}
data: {}
target:
entity_id: cover.all_shutters #4
mode: single
- Если в 7 утра по местному времени
- Температура, в которой я живу, выше 23 ° C
- Закрывать
- Все ставни
Обратите внимание на идентификатор сущностиcover.all_shutters
: Это не нестандартная сущность. Я явно создал группу для нее:
cover:
- platform: group
name: "All shutters"
entities:
- cover.left_shutter
- cover.middle_shutter
- cover.right_shutter
- cover.bedroom_shutter
- cover.office_shutter
Я скопировал один и тот же подход, чтобы выключить все свет, когда ухожу из дома. Вскоре я понял, что в этом подходе были недостатки.
Хотя вероятность добавления большего количества ставней довольно низкая, я, вероятно, добавлю больше умных огней в будущем. Каждый раз, когда я добавляю один, мне нужно поместить его в группу. Кроме того, я добавил свет в волнах; Сначала я подумал по -французски, но позже переключился на английский. Когда я переименовал их всех на английском языке, чтобы быть последовательным, мне пришлось обновить свою панель инструментов, чтобы адаптироваться к новым идентификаторам.
Домашний помощник уже есть все, чтобы обслуживать вышеизложенное,РайоныПолем Вы можете-и вы, вероятно, должны согласовать каждое устройство в область. После этого вы можете заменитьtarget
часть автоматизации со спискомarea_id
вместоentity_id
Полем
- id: '1742926520608'
alias: Close all shutters
description: Close all shutters if it's already hot in the morning
triggers:
- trigger: time
at: 07:00:00
conditions:
- condition: numeric_state
entity_id: sensor.saint_julien_en_genevois_temperature
above: 23
actions:
- action: cover.close_cover
metadata: {}
data: {}
target:
area_id: #1
- office
- bedroom
- living_room
mode: single
Теперь домашний помощник закрывает все ставни, которые находятся в любой из этих областей.
Области, как правило, гораздо более стабильны, чем отдельные устройства. Как часто вы добавляете новую область в свой дом? Конечно, область явно не отображается в комнате, но я думаю, что это лучший подход, чем мой оригинальный. Домашний помощник теперь будет управлять каждым новым устройством того же типа, добавленным в область,например, если вы мотовизируете новый затвор или добавите новый свет.
Есть один недостаток этого подхода. Пользовательские плитки принимают только один идентификатор объекта. Таким образом, если вы хотите использовать графический интерфейс, вы должны создать группу, как и я в своем первом подходе.
В этом посте я показал, как вы могли бы заменить явную группировку устройств по районам. Это та же самая идея свободной связи, которую мы имеем в программном обеспечении, но применительно к конфигурации домашнего помощника.
Идти дальше:
- Группа
- Организация областей и устройств
Первоначально опубликовано вJava Geek13 июля 2025 года
Оригинал