Чип и Мунк - Платформа MQTT
Платформа поддерживает устройства, умеющие отправлять состояние и принимать команды с MQTT сервера. Преимущественно использющие прошивку tasmota или OpenBK7231
С ядром системы платформа связана двумя каналами на основе mqtt: команды и состояния. Еще по два канала - состояния и команд связывают платформу с каждым из устройств. У неуправляемых устройств (датчики) канал команд отсутствует.
К общей логике обработки состояния всех платформ добавляется логика обработки состояния от устройства. В общем случае она такова:
- Найти у себя компонент(ы) по имени топика из сообщения
- Сформировать набор старых значений характеристик
- Сформировать набор новых значений характеристик с учетом нового состояния.
- Сформировать событие изменения состояния и отправить его в системный mqtt канал состояний.
Это событие будет получено и обработано самой-же платформой как было описано ранее.
Команды
Платформа поддерживает следующий набор команд
Домен | Команда | Назначение |
---|---|---|
switch | turn_on | Включить переключатель |
switch | turn_off | Выключить переключатель |
switch | toggle | Переключить переключатель |
light | turn_on | Включить свет |
light | turn_off | Выключить свет |
light | toggle | Переключить свет |
light | “n” | Изменить яркость света до n, в диапазоне 0..100 с шагом 10 |
alarm | disarm | Дверной звонок выкл |
alarm | arm_home | Дверной звонок вкл. |
alarm | arm_away | Дверной звонок никого нет дома |
alarm | arm_night | Дверной звонок ночной режим |
Алгоритм типичного обработчика таков:
- Найти свое устройство по ID
- Сформировать команду
- Отправить команду в mqtt топик команд устройства.
Устройство отработает команду, опубликует измененное состояние в своем топике состояний, платформа примет новое состояние от устройства, сформирует и отправит событие состояния, сама его-же и примет и изменит состояние в памяти.