Вводная: Alarmo поддерживает несколько зон, есть возможность включить мастер зону, которая объединяет все остальные зоны.
Задача: добавить возможность исключать зоны при управлении мастер зоной через сервисы HA: alarmo.arm, alarmo.disarm и mqtt. Для этого необходимо добавить этим сервисам еще один параметр-список "skip_areas".
Обработка этого параметра, думаю, возможна в методах класса AlarmoMasterEntity: https://github.com/nielsfaber/alarmo/blob/8cfcd7f7fbdef54ca6323ec7999cbe4c030f4031/custom_components/alarmo/alarm_control_panel.py#L858
Пример:
Master включает в себя зоны: livingroom, kitchen, hall, bathroom, bedroom_1, bedroom_2При вызове сервиса параметрами ниже должны сняться с охраны все зоны (включая master), кроме bedroom_1 и bedroom_2.service: alarmo.disarmdata: entity_id: alarm_control_panel.master code: 1234 skip_area:
- bedroom_1 - bedroom_2
На выходе необходимо получить протестированный форк интеграции с этим функционалом и, опционально, PR в родительский репо.
Репозиторий Alarmo: https://github.com/nielsfaber/alarmo
Готов на безопасную сделку.