github.com/e154/smart-home@v0.17.2-0.20240311175135-e530a6e5cd45/doc/content/ru/docs/plugins/mqtt.md (about) 1 2 --- 3 title: "MQTT" 4 linkTitle: "mqtt" 5 date: 2021-10-20 6 description: > 7 8 --- 9 10 Плагин "mqtt" является расширенной версией плагина "sensor" и предоставляет возможность работы с протоколом MQTT. 11 Вот некоторые настройки, доступные для плагина "mqtt": 12 13 1. `subscribe_topic`: Топик MQTT, на который выполняется подписка для получения данных. 14 2. `mqtt_login`: Логин для аутентификации при подключении к MQTT-брокеру. 15 3. `mqtt_pass`: Пароль для аутентификации при подключении к MQTT-брокеру. 16 17 Эти настройки позволяют задать параметры подключения к MQTT-брокеру и определить топик, на который будет выполняться подписка 18 для получения данных. Таким образом, плагин "mqtt" обеспечивает интеграцию с MQTT-сообщениями, что позволяет получать данные 19 с устройств, использующих этот протокол, и использовать их в системе автоматизации или других компонентах. 20 21 Плагин "sensor" также реализует JavaScript-обработчик (handler) под названием `entityAction`. Этот обработчик предназначен 22 для обработки действий, связанных с устройствами типа "entity" на основе плагина "sensor". 23 24 Пример реализации обработчика `entityAction`: 25 26 ```javascript 27 entityAction = (entityId, actionName, args) => { 28 // Код обработки действия 29 }; 30 ``` 31 32 Также реализует JavaScript-обработчик (handler) под названием `mqttEvent`. Этот обработчик предназначен 33 для обработки действий, связанных с устройствами типа "entity" на основе плагина "sensor". 34 35 Пример реализации обработчика `mqttEvent`: 36 37 ```javascript 38 function mqttEvent(message) { 39 // Код обработки действия 40 }; 41 ``` 42 43 Пример использования обработчика mqttEvent: 44 ```coffeescript 45 mqttEvent =(message)-> 46 #print '---mqtt new event from plug---' 47 if !message || message.topic.includes('/set') 48 return 49 payload = unmarshal message.payload 50 attrs = 51 'consumption': payload.consumption 52 'linkquality': payload.linkquality 53 'power': payload.power 54 'state': payload.state 55 'temperature': payload.temperature 56 'voltage': payload.voltage 57 EntitySetState ENTITY_ID, 58 'new_state': payload.state 59 'attribute_values': attrs 60 ```