Инструменты пользователя

Инструменты сайта


iot:software:homebridge:config:accessories

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
iot:software:homebridge:config:accessories [2021/08/07 19:57]
Николай Солошин Добавлен rfr2
iot:software:homebridge:config:accessories [2023/11/03 11:50] (текущий)
Николай Солошин [TOMZN TOB15-63 WIFI]
Строка 8: Строка 8:
 :!: Все манипуляции с настройками необходимо производить напрямую в файле конфигурации, т.к. в интерфейсе плагина реализованы далеко не все необходимые параметры((Помимо этого, используя UI, есть реальный риск затереть те параметры, которые были добавлены напрямую в файл конфигурации.))! :!: Все манипуляции с настройками необходимо производить напрямую в файле конфигурации, т.к. в интерфейсе плагина реализованы далеко не все необходимые параметры((Помимо этого, используя UI, есть реальный риск затереть те параметры, которые были добавлены напрямую в файл конфигурации.))!
  
-Помимо этого, необходим настроенный [[iot:homebridge:plugins:mqtt-broker|MQTT-брокер]].+Помимо этого, необходим настроенный [[iot:software:homebridge:plugins:mqtt-broker|MQTT-брокер]].
  
 ===== Athom PG01-EU16A ===== ===== Athom PG01-EU16A =====
  
-Одна из самых простых конфигураций, т.к. для розетки используется родной тип "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Accessories.md#outlet|outlet]]". Однако, для работы параметра "getInUse", пришлось использовать [[iot:homebridge:tasmota:athom:pg01-eu16a#розетка_используется|дополнительное правило]].+Одна из самых простых конфигураций, т.к. для розетки используется родной тип "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Accessories.md#outlet|outlet]]". Однако, для работы параметра "getInUse", пришлось использовать [[iot:firmware:tasmota:athom:pg01-eu16a#розетка_используется|дополнительное правило]].
  
 <code javascript>        { <code javascript>        {
Строка 37: Строка 37:
         }</code>         }</code>
  
-[[iot:homebridge:tasmota:athom:pg01-eu16a|Статья о прошивке и настройке]].+[[iot:firmware:tasmota:athom:pg01-eu16a|Статья о прошивке и настройке]].
  
 ===== Sonoff SNZB-02 ===== ===== Sonoff SNZB-02 =====
Строка 86: Строка 86:
         }</code>         }</code>
  
-[[iot:homebridge:zigbee2mqtt:z-stack:cc2531:sensors:sonoff:snzb-02|Страница датчика]].+[[iot:devices:zigbee:sensors:sonoff:snzb-02|Страница датчика]]. 
 + 
 +===== Sonoff SNZB-04 ===== 
 + 
 +Базовый код для включения датчика в экосистему умного дома от Apple. 
 + 
 +<code javascript>        { 
 +            "type": "contactSensor", 
 +            "name": "Entrance Door Sensor", 
 +            "username": "RGEHrther", 
 +            "password": "jkyuk56e4t", 
 +            "logMqtt": true, 
 +            "topics":
 +                "getOnline": "zigbee2mqtt/bridge/state", 
 +                "getContactSensorState":
 +                    "topic": "zigbee2mqtt/0x0000000000000000", 
 +                    "apply": "return (JSON.parse(message).contact == true) ? false : true" 
 +                }, 
 +                "getStatusTampered":
 +                    "topic": "zigbee2mqtt/0x0000000000000000", 
 +                    "apply": "return JSON.parse(message).tamper" 
 +                }, 
 +                "getStatusLowBattery":
 +                    "topic": "zigbee2mqtt/0x0000000000000000", 
 +                    "apply": "return JSON.parse(message).battery_low" 
 +                } 
 +            }, 
 +            "onlineValue": "online", 
 +            "offlineValue": "offline", 
 +            "accessory": "mqttthing", 
 +            "manufacturer": "Sonoff", 
 +            "model": "SNZB-04", 
 +            "serialNumber": "96d" 
 +        }</code> 
 + 
 +==== Сигнализация ==== 
 + 
 +Код, для работы потока "[[iot:software:node-red:flows:alarm_control|Управление сигнализацией]]". Используется тип "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Accessories.md#security-system|securitySystem]]"
 + 
 +<code javascript>        { 
 +            "type": "securitySystem", 
 +            "name": "Security Entrance System", 
 +            "username": "RGEHrther", 
 +            "password": "jkyuk56e4t", 
 +            "logMqtt": true, 
 +            "topics":
 +                "getOnline": "zigbee2mqtt/bridge/state", 
 +                "setTargetState": "entrance_doors/0x0000000000000000/cmnd/target", 
 +                "getTargetState": "entrance_doors/0x0000000000000000/state/target", 
 +                "getCurrentState": "entrance_doors/0x0000000000000000/state/current", 
 +                "getStatusTampered":
 +                    "topic": "zigbee2mqtt/0x0000000000000000", 
 +                    "apply": "return JSON.parse(message).tamper" 
 +                } 
 +            }, 
 +            "targetStateValues":
 +                "athome", 
 +                "notathome", 
 +                "night", 
 +                "disarmed" 
 +            ], 
 +            "currentStateValues":
 +                "athome", 
 +                "notathome", 
 +                "night", 
 +                "disarmed", 
 +                "triggered" 
 +            ], 
 +            "restrictTargetState":
 +                0, 
 +                1, 
 +                3 
 +            ], 
 +            "onlineValue": "online", 
 +            "offlineValue": "offline", 
 +            "accessory": "mqttthing", 
 +            "manufacturer": "Sonoff", 
 +            "model": "SNZB-04", 
 +            "serialNumber": "96d" 
 +        }</code>
  
 ===== Aqara SJCGQ11LM ===== ===== Aqara SJCGQ11LM =====
Строка 121: Строка 200:
         }</code>         }</code>
  
-[[iot:homebridge:zigbee2mqtt:z-stack:cc2531:sensors:aqara:sjcgq11lm|Страница датчика]].+[[iot:devices:zigbee:sensors:aqara:sjcgq11lm|Страница датчика]].
  
 ===== Sonoff TH10 + Si7021 ===== ===== Sonoff TH10 + Si7021 =====
Строка 157: Строка 236:
 === Две кнопки === === Две кнопки ===
  
-Если в web-интерфейс [[iot:homebridge:tasmota:sonoff:th#ручной_запуск_корректировки|добавлена дополнительная кнопка]], использовать нужно такой код:+Если в web-интерфейс [[iot:firmware:tasmota:sonoff:th#ручной_запуск_корректировки|добавлена дополнительная кнопка]], использовать нужно такой код:
  
 <code javascript>        { <code javascript>        {
Строка 179: Строка 258:
             "firmwareRevision": "9.2.0",             "firmwareRevision": "9.2.0",
             "serialNumber": "67784587"             "serialNumber": "67784587"
-        },</code>+        }</code> 
 + 
 +=== Три кнопки === 
 + 
 +Для управления режимами "[[iot:firmware:tasmota:sonoff:th#ручной_запуск_корректировки|Ручная корректировка]]" и "[[iot:firmware:tasmota:sonoff:th#режим_не_выключать|Не выключать]]" из приложения "Дом"нужно использовать такой код: 
 + 
 +<code javascript>        { 
 +            "type": "custom", 
 +            "name": "Ventilation", 
 +            "username": "RGEHrther", 
 +            "password": "jkyuk56e4t", 
 +            "logMqtt": false, 
 +            "services":
 +                { 
 +                    "type": "switch", 
 +                    "name": "Main Power", 
 +                    "topics":
 +                        "getOnline": "ventilation_000457/tele/LWT", 
 +                        "getOn": "ventilation_000457/stat/POWER1", 
 +                        "setOn": "ventilation_000457/cmnd/POWER1" 
 +                    } 
 +                }, 
 +                { 
 +                    "type": "switch", 
 +                    "name": "Manual Correction", 
 +                    "topics":
 +                        "getOnline": "ventilation_000457/tele/LWT", 
 +                        "getOn": "ventilation_000457/stat/POWER2", 
 +                        "setOn": "ventilation_000457/cmnd/POWER2" 
 +                    } 
 +                }, 
 +                { 
 +                    "type": "switch", 
 +                    "name": "Manual Power", 
 +                    "topics":
 +                        "getOnline": "ventilation_000457/tele/LWT", 
 +                        "getOn": "ventilation_000457/stat/POWER3", 
 +                        "setOn": "ventilation_000457/cmnd/POWER3" 
 +                    } 
 +                } 
 +            ], 
 +            "onValue": "ON", 
 +            "offValue": "OFF", 
 +            "onlineValue": "Online", 
 +            "offlineValue": "Offline", 
 +            "accessory": "mqttthing", 
 +            "manufacturer": "Sonoff", 
 +            "model": "TH10", 
 +            "firmwareRevision": "9.2.0", 
 +            "serialNumber": "67784587" 
 +        }</code>
  
 ==== Sonoff Si7021 ==== ==== Sonoff Si7021 ====
Строка 226: Строка 355:
 Тут уже пришлось отбирать из полезной нагрузки топика "SENSOR" необходимые данные с помощью ключа "apply" и метода "return". Сам, если честно, не до конца понимаю, как именно это работает, но работает. 8-O Тут уже пришлось отбирать из полезной нагрузки топика "SENSOR" необходимые данные с помощью ключа "apply" и метода "return". Сам, если честно, не до конца понимаю, как именно это работает, но работает. 8-O
  
-[[iot:homebridge:tasmota:sonoff:th|Статья о прошивке и настройке]].+[[iot:firmware:tasmota:sonoff:th|Статья о прошивке и настройке]].
  
 ===== Sonoff RFR2 ===== ===== Sonoff RFR2 =====
 +
 +==== Две кнопки ====
  
 Конфигурация с двумя кнопками -- одна для включения/выключения освещения, вторая для временного отключения таймера. Конфигурация с двумя кнопками -- одна для включения/выключения освещения, вторая для временного отключения таймера.
Строка 269: Строка 400:
         }</code>         }</code>
  
-Статья о прошивке и настройке.+[[iot:firmware:tasmota:sonoff:rfr2:turn_off_the_light|Статья о прошивке и настройке]]. 
 + 
 +==== Датчик движения ==== 
 + 
 +<code javascript>        { 
 +            "type": "occupancySensor", 
 +            "name": "Motion Sensor In the Bathroom", 
 +            "username": "RGEHrther", 
 +            "password": "jkyuk56e4t", 
 +            "logMqtt": true, 
 +            "topics":
 +                "getOnline": "bathroomlighting_E8BC7B/tele/LWT", 
 +                "getOccupancyDetected": "bathroomlighting_E8BC7B/stat/MOTION" 
 +            }, 
 +            "integerValue": true, 
 +            "onlineValue": "online", 
 +            "offlineValue": "offline", 
 +            "accessory": "mqttthing", 
 +            "manufacturer": "HaiWang", 
 +            "model": "HW-MS03 at RFR2", 
 +            "firmwareRevision": "9.5.0", 
 +            "serialNumber": "78124874" 
 +        }</code> 
 + 
 +[[iot:firmware:tasmota:sonoff:rfr2:haiwang:hw-ms03|Статья о настройке]]. 
 + 
 +===== Sonoff DualR2 ===== 
 + 
 +Для объединения кнопок типа "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Accessories.md#switch|switch]]" в один аксессуар используется специальный тип "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Configuration.md#grouped-accessories|custom]]"
 + 
 +<code javascript>
 +            "type": "custom", 
 +            "name": "Kitchen Lighting", 
 +            "username": "RGEHrther", 
 +            "password": "jkyuk56e4t", 
 +            "logMqtt": true, 
 +            "services":
 +                { 
 +                    "type": "switch", 
 +                    "name": "Main Lighting", 
 +                    "topics":
 +                        "getOnline": "kitchenlighting_0D3B02/tele/LWT", 
 +                        "getOn": "kitchenlighting_0D3B02/stat/POWER1", 
 +                        "setOn": "kitchenlighting_0D3B02/cmnd/POWER1" 
 +                    } 
 +                }, 
 +                { 
 +                    "type": "switch", 
 +                    "name": "Additional Lighting", 
 +                    "topics":
 +                        "getOnline": "kitchenlighting_0D3B02/tele/LWT", 
 +                        "getOn": "kitchenlighting_0D3B02/stat/POWER2", 
 +                        "setOn": "kitchenlighting_0D3B02/cmnd/POWER2" 
 +                    } 
 +                } 
 +            ], 
 +            "onValue": "ON", 
 +            "offValue": "OFF", 
 +            "onlineValue": "Online", 
 +            "offlineValue": "Offline", 
 +            "accessory": "mqttthing", 
 +            "manufacturer": "Sonoff", 
 +            "model": "DualR2", 
 +            "firmwareRevision": "9.5.0", 
 +            "serialNumber": "48779497" 
 +        }</code> 
 + 
 +[[iot:firmware:tasmota:sonoff:dualr2_and_rx480e|Статья о прошивке и настройке]].
  
 ===== Proscenic 808c ===== ===== Proscenic 808c =====
Строка 279: Строка 477:
 Для всех кнопок используется родной тип "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Accessories.md#switch|switch]]", а для всех ползунков единственный более-менее подходящий -- "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Accessories.md#fan|fan]]". Объединены они все в один аксессуар особым типом "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Configuration.md#grouped-accessories|custom]]". Для всех кнопок используется родной тип "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Accessories.md#switch|switch]]", а для всех ползунков единственный более-менее подходящий -- "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Accessories.md#fan|fan]]". Объединены они все в один аксессуар особым типом "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Configuration.md#grouped-accessories|custom]]".
  
-Типы с именами "Mist level", "Humidity" и "Baby mode" связаны между собой единой логикой -- когда один включается, два других отключаются. Для "Humidity" необходимо [[iot:homebridge:tasmota:proscenic:808c#правило|специальное правило]]. Для правильной индикации состояния "Timer", также необходимо [[iot:homebridge:tasmota:proscenic:808c#таймер|правило]].+Типы с именами "Mist level", "Humidity" и "Baby mode" связаны между собой единой логикой -- когда один включается, два других отключаются. Для "Humidity" необходимо [[iot:firmware:tasmota:proscenic:808c#правило|специальное правило]]. Для правильной индикации состояния "Timer", также необходимо [[iot:firmware:tasmota:proscenic:808c#таймер|правило]].
  
 Все остальное, пожалуй, без комментариев, ибо описывать этот ад... Если есть вопросы, го в обсуждение. Все остальное, пожалуй, без комментариев, ибо описывать этот ад... Если есть вопросы, го в обсуждение.
Строка 425: Строка 623:
 ==== Сенсоры ==== ==== Сенсоры ====
  
-Т.к. в этом устройстве очень много функций, дабы немного разгрузить интерфейс, сенсоры были выделены в отдельный аксессуар также типа "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Configuration.md#grouped-accessories|custom]]". Первые два типа родные -- "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Accessories.md#temperature-sensor|temperatureSensor]]" и "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Accessories.md#humidity-sensor|humiditySensor]]", а для индикации наличия воды был выбран единственный более-менее подходящий тип "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Accessories.md#contact-sensor|contactSensor]]", для работы которого пришлось писать [[iot:homebridge:tasmota:proscenic:808c#датчик_воды|дополнительное правило]].+Т.к. в этом устройстве очень много функций, дабы немного разгрузить интерфейс, сенсоры были выделены в отдельный аксессуар также типа "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Configuration.md#grouped-accessories|custom]]". Первые два типа родные -- "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Accessories.md#temperature-sensor|temperatureSensor]]" и "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Accessories.md#humidity-sensor|humiditySensor]]", а для индикации наличия воды был выбран единственный более-менее подходящий тип "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Accessories.md#contact-sensor|contactSensor]]", для работы которого пришлось писать [[iot:firmware:tasmota:proscenic:808c#датчик_воды|дополнительное правило]].
  
 <code javascript>        { <code javascript>        {
Строка 474: Строка 672:
         }</code>         }</code>
  
-[[iot:homebridge:tasmota:proscenic:808c|Статья о прошивке и настройке]].+[[iot:firmware:tasmota:proscenic:808c|Статья о прошивке и настройке]]. 
 + 
 +===== BOSCH KGN39AI32R ===== 
 + 
 +Полноценное управление холодильником из приложения "Дом" на iPhone. Конфигурация состоит из трех аксессуаров, которые, в принципе, можно было бы объединить в один, но так получается стройнее и логичнее -- каждый аксессуар содержит в себе определенные свойства. 
 + 
 +FIXME Указанный в коде произвольный серийный номер "YSFB4XSPFA43" необходимо заменить на реальный, полученный [[iot:software:node-red:flows:home_connect_api|в процессе настройки]] потока Node-RED((Смотрите потоковый контекст "settings.homeappliances[0].haid".)). 
 + 
 +==== Настройки холодильника ==== 
 + 
 +Для работы используется тип "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Accessories.md#switch|switch]]", обернутый в "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Configuration.md#grouped-accessories|custom]]"
 + 
 +<code javascript>        { 
 +            "type": "custom", 
 +            "name": "Fridge Freezer Settings", 
 +            "username": "RGEHrther", 
 +            "password": "jkyuk56e4t", 
 +            "logMqtt": true, 
 +            "services":
 +                { 
 +                    "type": "switch", 
 +                    "name": "Power State", 
 +                    "topics":
 +                        "getOnline": "BOSCH-KGN39AI32R-YSFB4XSPFA43/tele/LWT", 
 +                        "getOn":
 +                            "topic": "BOSCH-KGN39AI32R-YSFB4XSPFA43/stat/settings/PowerState", 
 +                            "apply": "return (message == 'BSH.Common.EnumType.PowerState.On') ? true : false" 
 +                        }, 
 +                        "setOn": "BOSCH-KGN39AI32R-YSFB4XSPFA43/cmnd/homeconnect/FakePowerState" 
 +                    } 
 +                }, 
 +                { 
 +                    "type": "switch", 
 +                    "name": "Freezer Super Mode", 
 +                    "topics":
 +                        "getOnline": "BOSCH-KGN39AI32R-YSFB4XSPFA43/tele/LWT", 
 +                        "getOn": "BOSCH-KGN39AI32R-YSFB4XSPFA43/stat/settings/SuperModeFreezer", 
 +                        "setOn": "BOSCH-KGN39AI32R-YSFB4XSPFA43/cmnd/homeconnect/SuperModeFreezer" 
 +                    } 
 +                }, 
 +                { 
 +                    "type": "switch", 
 +                    "name": "Refrigerator Super Mode", 
 +                    "topics":
 +                        "getOnline": "BOSCH-KGN39AI32R-YSFB4XSPFA43/tele/LWT", 
 +                        "getOn": "BOSCH-KGN39AI32R-YSFB4XSPFA43/stat/settings/SuperModeRefrigerator", 
 +                        "setOn": "BOSCH-KGN39AI32R-YSFB4XSPFA43/cmnd/homeconnect/SuperModeRefrigerator" 
 +                    } 
 +                }, 
 +                { 
 +                    "type": "switch", 
 +                    "name": "Eco Mode", 
 +                    "topics":
 +                        "getOnline": "BOSCH-KGN39AI32R-YSFB4XSPFA43/tele/LWT", 
 +                        "getOn": "BOSCH-KGN39AI32R-YSFB4XSPFA43/stat/settings/EcoMode", 
 +                        "setOn": "BOSCH-KGN39AI32R-YSFB4XSPFA43/cmnd/homeconnect/EcoMode" 
 +                    } 
 +                }, 
 +                { 
 +                    "type": "switch", 
 +                    "name": "Vacation Mode", 
 +                    "topics":
 +                        "getOnline": "BOSCH-KGN39AI32R-YSFB4XSPFA43/tele/LWT", 
 +                        "getOn": "BOSCH-KGN39AI32R-YSFB4XSPFA43/stat/settings/VacationMode", 
 +                        "setOn": "BOSCH-KGN39AI32R-YSFB4XSPFA43/cmnd/homeconnect/VacationMode" 
 +                    } 
 +                }, 
 +                { 
 +                    "type": "switch", 
 +                    "name": "Sabbath Mode", 
 +                    "topics":
 +                        "getOnline": "BOSCH-KGN39AI32R-YSFB4XSPFA43/tele/LWT", 
 +                        "getOn": "BOSCH-KGN39AI32R-YSFB4XSPFA43/stat/settings/SabbathMode", 
 +                        "setOn": "BOSCH-KGN39AI32R-YSFB4XSPFA43/cmnd/homeconnect/SabbathMode" 
 +                    } 
 +                }, 
 +                { 
 +                    "type": "switch", 
 +                    "name": "Fresh Mode", 
 +                    "topics":
 +                        "getOnline": "BOSCH-KGN39AI32R-YSFB4XSPFA43/tele/LWT", 
 +                        "getOn": "BOSCH-KGN39AI32R-YSFB4XSPFA43/stat/settings/FreshMode", 
 +                        "setOn": "BOSCH-KGN39AI32R-YSFB4XSPFA43/cmnd/homeconnect/FreshMode" 
 +                    } 
 +                } 
 +            ], 
 +            "accessory": "mqttthing", 
 +            "onlineValue": "online", 
 +            "offlineValue": "offline", 
 +            "manufacturer": "BOSCH", 
 +            "model": "KGN39AI32R", 
 +            "serialNumber": "YSFB4XSPFA43" 
 +        }</code> 
 + 
 +==== Статусы дверок ==== 
 + 
 +Использует стандартный тип "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Accessories.md#contact-sensor|contactSensor]]"
 + 
 +<code javascript>        { 
 +            "type": "contactSensor", 
 +            "name": "Fridge Freezer Door State", 
 +            "username": "RGEHrther", 
 +            "password": "jkyuk56e4t", 
 +            "logMqtt": true, 
 +            "topics":
 +                "getOnline": "BOSCH-KGN39AI32R-YSFB4XSPFA43/tele/LWT", 
 +                "getContactSensorState": "BOSCH-KGN39AI32R-YSFB4XSPFA43/stat/DoorState" 
 +            }, 
 +            "accessory": "mqttthing", 
 +            "onlineValue": "online", 
 +            "offlineValue": "offline", 
 +            "manufacturer": "BOSCH", 
 +            "model": "KGN39AI32R", 
 +            "serialNumber": "YSFB4XSPFA43" 
 +        }</code> 
 + 
 +==== Настройки температуры ==== 
 + 
 +Для работы используется тип "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Accessories.md#thermostat|thermostat]]", обернутый в "custom"
 + 
 +<code javascript>        { 
 +            "type": "custom", 
 +            "name": "Temperature In The Fridge Freezer", 
 +            "username": "RGEHrther", 
 +            "password": "jkyuk56e4t", 
 +            "logMqtt": true, 
 +            "services":
 +                { 
 +                    "type": "thermostat", 
 +                    "name": "In The Refrigerator", 
 +                    "topics":
 +                        "getOnline": "BOSCH-KGN39AI32R-YSFB4XSPFA43/tele/LWT", 
 +                        "getCurrentHeatingCoolingState":
 +                            "topic": "BOSCH-KGN39AI32R-YSFB4XSPFA43/stat/settings/PowerState", 
 +                            "apply": "return (message == 'BSH.Common.EnumType.PowerState.On') ? true : false" 
 +                        }, 
 +                        "setTargetHeatingCoolingState": "BOSCH-KGN39AI32R-YSFB4XSPFA43/cmnd/homeconnect/FakePowerState", 
 +                        "getTargetHeatingCoolingState":
 +                            "topic": "BOSCH-KGN39AI32R-YSFB4XSPFA43/stat/settings/PowerState", 
 +                            "apply": "return (message == 'BSH.Common.EnumType.PowerState.On') ? true : false" 
 +                        }, 
 +                        "getCurrentTemperature": "BOSCH-KGN39AI32R-YSFB4XSPFA43/stat/SetpointTemperatureRefrigerator", 
 +                        "setTargetTemperature":
 +                            "topic": "BOSCH-KGN39AI32R-YSFB4XSPFA43/cmnd/homeconnect/SetpointTemperatureRefrigerator", 
 +                            "apply": "return Math.round(message)" 
 +                        }, 
 +                        "getTargetTemperature": "BOSCH-KGN39AI32R-YSFB4XSPFA43/stat/SetpointTemperatureRefrigerator" 
 +                    }, 
 +                    "minTemperature": 2, 
 +                    "maxTemperature": 8, 
 +                    "heatingCoolingStateValues":
 +                        false, 
 +                        "heat", 
 +                        true, 
 +                        "auto" 
 +                    ], 
 +                    "restrictHeatingCoolingState":
 +                        0, 
 +                        2 
 +                    ] 
 +                }, 
 +                { 
 +                    "type": "thermostat", 
 +                    "name": "In The Freezer", 
 +                    "topics":
 +                        "getOnline": "BOSCH-KGN39AI32R-YSFB4XSPFA43/tele/LWT", 
 +                        "getCurrentHeatingCoolingState":
 +                            "topic": "BOSCH-KGN39AI32R-YSFB4XSPFA43/stat/settings/PowerState", 
 +                            "apply": "return (message == 'BSH.Common.EnumType.PowerState.On') ? true : false" 
 +                        }, 
 +                        "setTargetHeatingCoolingState": "BOSCH-KGN39AI32R-YSFB4XSPFA43/cmnd/homeconnect/FakePowerState", 
 +                        "getTargetHeatingCoolingState":
 +                            "topic": "BOSCH-KGN39AI32R-YSFB4XSPFA43/stat/settings/PowerState", 
 +                            "apply": "return (message == 'BSH.Common.EnumType.PowerState.On') ? true : false" 
 +                        }, 
 +                        "getCurrentTemperature": "BOSCH-KGN39AI32R-YSFB4XSPFA43/stat/SetpointTemperatureFreezer", 
 +                        "setTargetTemperature":
 +                            "topic": "BOSCH-KGN39AI32R-YSFB4XSPFA43/cmnd/homeconnect/SetpointTemperatureFreezer", 
 +                            "apply": "return Math.round(message)" 
 +                        }, 
 +                        "getTargetTemperature": "BOSCH-KGN39AI32R-YSFB4XSPFA43/stat/SetpointTemperatureFreezer" 
 +                    }, 
 +                    "minTemperature": -24, 
 +                    "maxTemperature": -16, 
 +                    "heatingCoolingStateValues":
 +                        false, 
 +                        "heat", 
 +                        true, 
 +                        "auto" 
 +                    ], 
 +                    "restrictHeatingCoolingState":
 +                        0, 
 +                        2 
 +                    ] 
 +                } 
 +            ], 
 +            "accessory": "mqttthing", 
 +            "onlineValue": "online", 
 +            "offlineValue": "offline", 
 +            "manufacturer": "BOSCH", 
 +            "model": "KGN39AI32R", 
 +            "serialNumber": "YSFB4XSPFA43" 
 +        }</code> 
 + 
 +===== TOMZN TOB15-63 WIFI ===== 
 + 
 +Для объединения всех аксессуаров в один, используется тип "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Configuration.md#grouped-accessories|custom]]", который содержит в себе 2 стандартных типа -- "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Accessories.md#contact-sensor|contactSensor]]" и "[[https://github.com/arachnetech/homebridge-mqttthing/blob/master/docs/Accessories.md#switch|switch]]"
 + 
 +<code javascript>        { 
 +            "type": "custom", 
 +            "name": "Circuit Breaker", 
 +            "username": "uName", 
 +            "password": "PwD", 
 +            "logMqtt": true, 
 +            "services":
 +                { 
 +                    "type": "switch", 
 +                    "name": "Relay Power", 
 +                    "topics":
 +                        "getOnline": "circuitbreaker_0B6A01/tele/LWT", 
 +                        "getOn": "circuitbreaker_0B6A01/stat/VIRTUALPOWER", 
 +                        "setOn": "circuitbreaker_0B6A01/cmnd/VirtualPower" 
 +                    }, 
 +                    "integerValue": true 
 +                }, 
 +                { 
 +                    "type": "contactSensor", 
 +                    "name": "Relay Status", 
 +                    "topics":
 +                        "getOnline": "circuitbreaker_0B6A01/tele/LWT", 
 +                        "getContactSensorState":
 +                            "topic": "circuitbreaker_0B6A01/stat/POWER", 
 +                            "apply": "return (message == 'ON') ? false : true" 
 +                        } 
 +                    } 
 +                } 
 +            ], 
 +            "onlineValue": "Online", 
 +            "offlineValue": "Offline", 
 +            "accessory": "mqttthing", 
 +            "manufacturer": "TOMZN", 
 +            "model": "TOB15-63 WIFI", 
 +            "firmwareRevision": "13.2.0", 
 +            "serialNumber": "45779497" 
 +        }</code> 
 + 
 +[[iot:firmware:tasmota:tomzn:tob15-63_wifi|Статья о прошивке и настройке]]. 
 + 
 +==== Датчики температуры ==== 
 + 
 +В этом примере используются **два** датчика DS18B20, подключенные к одному устройству. 
 + 
 +<code javascript>        { 
 +            "type": "custom", 
 +            "name": "Circuit Breaker Sensors", 
 +            "username": "uName", 
 +            "password": "PwD", 
 +            "logMqtt": true, 
 +            "services":
 +                { 
 +                    "type": "temperatureSensor", 
 +                    "name": "Circuit Breaker Temperature", 
 +                    "topics":
 +                        "getOnline": "circuitbreaker_0B6A01/tele/LWT", 
 +                        "getCurrentTemperature":
 +                            "topic": "circuitbreaker_0B6A01/tele/SENSOR", 
 +                            "apply": "return JSON.parse(message)[\"DS18B20-1\"].Temperature" 
 +                        } 
 +                    } 
 +                }, 
 +                { 
 +                    "type": "temperatureSensor", 
 +                    "name": "Relay Switch Temperature", 
 +                    "topics":
 +                        "getOnline": "circuitbreaker_0B6A01/tele/LWT", 
 +                        "getCurrentTemperature":
 +                            "topic": "circuitbreaker_0B6A01/tele/SENSOR", 
 +                            "apply": "return JSON.parse(message)[\"DS18B20-2\"].Temperature" 
 +                        } 
 +                    } 
 +                } 
 +            ], 
 +            "onlineValue": "Online", 
 +            "offlineValue": "Offline", 
 +            "accessory": "mqttthing", 
 +            "manufacturer": "TOMZN", 
 +            "model": "TOB15-63 WIFI", 
 +            "firmwareRevision": "13.2.0", 
 +            "serialNumber": "45779497" 
 +        }</code> 
 + 
 +[[iot:firmware:tasmota:tomzn:tob15-63_wifi:ds18b20|Статья о подключении и настройке]]. 
 + 
 +===== DEXP WE-80 ===== 
 + 
 +Код для интеграции экрана для проектора DEXP WE-80 в Apple Home. 
 + 
 +==== Автоматически ==== 
 + 
 +Кнопка, полностью разворачивающая и сворачивающая экран, работает с Siri. 
 + 
 +<code javascript>        { 
 +            "type": "switch", 
 +            "accessory": "mqttthing", 
 +            "name": "Projector Screen", 
 +            "username": "RGEHrther", 
 +            "password": "jkyuk56e4t", 
 +            "logMqtt": true, 
 +            "onlineValue": "Online", 
 +            "offlineValue": "Offline", 
 +            "manufacturer": "DEXP", 
 +            "model": "WE-80", 
 +            "firmwareRevision": "13.0.0", 
 +            "serialNumber": "45779390", 
 +            "topics":
 +                "getOnline": "projector/screen_CF4CBF/tele/LWT", 
 +                "getOn": "projector/screen_CF4CBF/stat/POWER4", 
 +                "setOn": "projector/screen_CF4CBF/cmnd/POWER4" 
 +            }, 
 +            "onValue": "ON", 
 +            "offValue": "OFF" 
 +        }</code> 
 + 
 +==== Дополнительно ==== 
 + 
 +Дополнительные кнопки, позволяющие точно настроить положение экрана. 
 + 
 +<code javascript>        { 
 +            "type": "custom", 
 +            "accessory": "mqttthing", 
 +            "name": "Projector Screen", 
 +            "username": "RGEHrther", 
 +            "password": "jkyuk56e4t", 
 +            "logMqtt": true, 
 +            "onlineValue": "Online", 
 +            "offlineValue": "Offline", 
 +            "manufacturer": "DEXP", 
 +            "model": "WE-80", 
 +            "firmwareRevision": "13.0.0", 
 +            "serialNumber": "45779399", 
 +            "services":
 +                { 
 +                    "type": "switch", 
 +                    "name": "Down", 
 +                    "caption": "Screen Down", 
 +                    "topics":
 +                        "getOnline": "projector/screen_CF4CBF/tele/LWT", 
 +                        "getOn": "projector/screen_CF4CBF/stat/POWER3", 
 +                        "setOn": "projector/screen_CF4CBF/cmnd/POWER3" 
 +                    }, 
 +                    "onValue": "ON", 
 +                    "offValue": "OFF", 
 +                    "resetStateAfterms": "200" 
 +                }, 
 +                { 
 +                    "type": "switch", 
 +                    "name": "Stop Screen", 
 +                    "caption": "Stop", 
 +                    "topics":
 +                        "getOnline": "projector/screen_CF4CBF/tele/LWT", 
 +                        "getOn": "projector/screen_CF4CBF/stat/POWER2", 
 +                        "setOn": "projector/screen_CF4CBF/cmnd/POWER2" 
 +                    }, 
 +                    "onValue": "ON", 
 +                    "offValue": "OFF", 
 +                    "resetStateAfterms": "200" 
 +                }, 
 +                { 
 +                    "type": "switch", 
 +                    "name": "Screen Up", 
 +                    "caption": "Up", 
 +                    "topics":
 +                        "getOnline": "projector/screen_CF4CBF/tele/LWT", 
 +                        "getOn": "projector/screen_CF4CBF/stat/POWER1", 
 +                        "setOn": "projector/screen_CF4CBF/cmnd/POWER1" 
 +                    }, 
 +                    "onValue": "ON", 
 +                    "offValue": "OFF", 
 +                    "resetStateAfterms": "200" 
 +                } 
 +            ] 
 +        }</code> 
 + 
 +[[iot:firmware:tasmota:amica:nodemcu:v3:esp12-e:dexp:we-80|Статья о прошивке и настройке]]. 
 + 
 +===== Polaris PSF 40RC Sensor ===== 
 + 
 +==== Базовые функции ==== 
 + 
 +<code javascript>        { 
 +            "accessory": "mqttthing", 
 +            "type": "fan", 
 +            "name": "Floor Fan", 
 +            "username": "RGEHrther", 
 +            "password": "jkyuk56e4t", 
 +            "logMqtt": true, 
 +            "onlineValue": "Online", 
 +            "offlineValue": "Offline", 
 +            "manufacturer": "Polaris", 
 +            "model": "PSF 40RC", 
 +            "firmwareRevision": "13.0.0", 
 +            "serialNumber": "95779310", 
 +            "topics":
 +                "getOn": "floorfan_69BF68/stat/FANPOWER", 
 +                "setOn": "floorfan_69BF68/cmnd/FanPower", 
 +                "getRotationSpeed": "floorfan_69BF68/stat/FANSPEED", 
 +                "setRotationSpeed": "floorfan_69BF68/cmnd/FanSpeed" 
 +            }, 
 +            "integerValue": true 
 +        }</code> 
 + 
 +==== Кнопки вентилятора ==== 
 + 
 +<code javascript>        { 
 +            "type": "custom", 
 +            "accessory": "mqttthing", 
 +            "name": "Fan Settings", 
 +            "username": "RGEHrther", 
 +            "password": "jkyuk56e4t", 
 +            "logMqtt": true, 
 +            "onlineValue": "Online", 
 +            "offlineValue": "Offline", 
 +            "manufacturer": "Polaris", 
 +            "model": "PSF 40RC", 
 +            "firmwareRevision": "13.0.0", 
 +            "serialNumber": "45479399", 
 +            "services":
 +                { 
 +                    "type": "switch", 
 +                    "name": "Forest Mode", 
 +                    "topics":
 +                        "getOnline": "floorfan_69BF68/tele/LWT", 
 +                        "getOn": "floorfan_69BF68/stat/FORESTMODE", 
 +                        "setOn": "floorfan_69BF68/cmnd/ForestMode" 
 +                    }, 
 +                    "integerValue": true 
 +                }, 
 +                { 
 +                    "type": "switch", 
 +                    "name": "Mode", 
 +                    "topics":
 +                        "getOnline": "floorfan_69BF68/tele/LWT", 
 +                        "getOn": "floorfan_69BF68/stat/POWER2", 
 +                        "setOn": "floorfan_69BF68/cmnd/POWER2" 
 +                    }, 
 +                    "onValue": "ON", 
 +                    "offValue": "OFF", 
 +                    "resetStateAfterms": "200" 
 +                }, 
 +                { 
 +                    "type": "switch", 
 +                    "name": "Speed", 
 +                    "topics":
 +                        "getOnline": "floorfan_69BF68/tele/LWT", 
 +                        "getOn": "floorfan_69BF68/stat/POWER3", 
 +                        "setOn": "floorfan_69BF68/cmnd/POWER3" 
 +                    }, 
 +                    "onValue": "ON", 
 +                    "offValue": "OFF", 
 +                    "resetStateAfterms": "200" 
 +                }, 
 +                { 
 +                    "type": "switch", 
 +                    "name": "Timer", 
 +                    "topics":
 +                        "getOnline": "floorfan_69BF68/tele/LWT", 
 +                        "getOn": "floorfan_69BF68/stat/POWER4", 
 +                        "setOn": "floorfan_69BF68/cmnd/POWER4" 
 +                    }, 
 +                    "onValue": "ON", 
 +                    "offValue": "OFF", 
 +                    "resetStateAfterms": "200" 
 +                } 
 +            ] 
 +        }</code> 
 + 
 +[[iot:firmware:tasmota:wemos:d1:mini:esp12-f:polaris:psf_40rc_sensor|Статья о прошивке и настройке]]. 
 + 
 +===== Xnano X1 ===== 
 + 
 +<code javascript>        { 
 +            "accessory": "mqttthing", 
 +            "type": "television", 
 +            "name": "Projector", 
 +            "username": "RGEHrther", 
 +            "password": "$%^43534#@$", 
 +            "logMqtt": true, 
 +            "onlineValue": "Online", 
 +            "offlineValue": "Offline", 
 +            "manufacturer": "Xnano", 
 +            "model": "X1", 
 +            "firmwareRevision": "13.0.0", 
 +            "serialNumber": "95779390", 
 +            "topics":
 +                "getOnline": "projector/projector_80FA30/tele/LWT", 
 +                "setActive": "projector/projector_80FA30/cmnd/POWER2", 
 +                "getActive": "projector/projector_80FA30/stat/POWER2", 
 +                "setRemoteKey": "projector/remote_DEEBB4/cmnd/REMOTE" 
 +            }, 
 +            "onValue": "ON", 
 +            "offValue": "OFF" 
 +        }</code> 
 + 
 +[[iot:firmware:tasmota:ai-thinker:esp-01s:xnano:x1:modernization|Статья о прошивке и настройке]].
Последнее изменение: 2022/02/12 11:40 (внешнее изменение)