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

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


интеграция_с_homeassistant

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
интеграция_с_homeassistant [2020/04/15 18:33]
192.168.88.1 [Приточка]
интеграция_с_homeassistant [2023/11/23 19:50] (текущий)
Admin [Светильники]
Строка 1: Строка 1:
 Контроллер LightHub прекрасно интегрируется в систему Home Assistant с использованием MQTT Контроллер LightHub прекрасно интегрируется в систему Home Assistant с использованием MQTT
 +
 В настоящее время, реализованы и используются следующие интеграции: В настоящее время, реализованы и используются следующие интеграции:
  
-* Реле и дискретные выключатели +  * Реле и дискретные выключатели 
-* Диммируемые одноцветные светильники +  * Диммируемые одноцветные светильники 
-* Диммируемые цветные светильники (RGB/RGBW) +  * Диммируемые цветные светильники (RGB/RGBW/RGBWW
-* Термостаты теплого пола +  * Термостаты теплого пола, помещений 
-* Кондиционер +  * Кондиционер 
-* Сенсоры температуры +  * Увлажнитель 
-* Сенсоры влажности +  * Сенсоры температуры 
-* Сенсоры CO2+  * Сенсоры влажности 
 +  * Сенсоры CO2 
 +  * Любые устройства, управляемые по протоколу Modbus 
  
-===== Общая настройка MQTT ===== +Документация скорректирована, так как HA внес большие изменения в компонент MQTT в 2023 году 
-<code>       +Параметры брокера теперь настраиваются только через пользовательский интерфейс в разделе Настройки/Интеграции и в файле конфигурации настройки следует убрать 
-mqtt+ 
-  broker: 192.168.88.2 +Теперь предполагается, что настройки MQTT вынесены в отдельный файл mqtt.yaml 
-  port: 1883 +который подгружается директивой 
-  client_id: home-assistant-1 +<code> 
-  keepalive: 60 +mqtt: !include mqtt.yaml
-#  username: !secret mqtt_login +
-#  password: !secret mqtt_password +
-  protocol: 3.+
-  birth_message: +
-    topic: "myhome/hass1/LWT" +
-    payload: "Online" +
-    qos: 1 +
-    retain: true +
-  will_message: +
-    topic: "myhome/hass1/LWT" +
-    payload: "Offline" +
-    qos: 1 +
-    retain: true+
 </code> </code>
 +В файле configuration.yaml
 +Это, действительно, удобнее.
 +
 +Далее, даны примеры разделов файла mqtt.yaml, которые можно скорректировать и использовать для своих нужд
  
  
Строка 38: Строка 32:
 В примерах ниже: В примерах ниже:
 Имя контроллера: light-d2 Имя контроллера: light-d2
-Настройка датчика качества воздуха:+ 
 +Предположим, что к этому контроллеру подключен датчик качества воздуха CCS811 и HDC1080 и в конфиге контроллера для этого заданы такие вот настройки:
  
     "98":{"T":5,"emit":"myhome/sensor/airq"},     "98":{"T":5,"emit":"myhome/sensor/airq"},
     "99":{"T":6,"emit":"myhome/sensor/humidity"}     "99":{"T":6,"emit":"myhome/sensor/humidity"}
 +    
 +Также, на pin3 подключен сенсор температуры и влажности dht-22, расположенный в ванной, с такой вот настройкой в JSON конфиге контроллера:
 +
 +     "3":{"T":4,"emit":"dht"},
 +     
 +ну и к шине 1-wire подключен термометр в прихожей
 +
 +
 +     "ow":{"28EEA76713160204":{"emit":"t_aentr"}
 +                   
 +
 +В этом случае, конфигурация HomeAssistant будет выглядеть вот таким образом:
 +    
 <code> <code>
 sensor: sensor:
-  - platform: mqtt +  - name: "CO2"
-    name: "CO2"+
     icon: "mdi:periodic-table-co2"     icon: "mdi:periodic-table-co2"
     expire_after: 600     expire_after: 600
Строка 54: Строка 61:
     payload_not_available: "disconnected"     payload_not_available: "disconnected"
          
-  - platform: mqtt +  - name: "TVOC"
-    name: "TVOC"+
     expire_after: 600     expire_after: 600
     state_topic: "myhome/sensor/airq/TVOC"     state_topic: "myhome/sensor/airq/TVOC"
Строка 63: Строка 69:
     payload_not_available: "disconnected"     payload_not_available: "disconnected"
          
-  - platform: mqtt +  - name: "Влажность"
-    name: "Влажность"+
     icon: "mdi:water-percent"     icon: "mdi:water-percent"
     expire_after: 600     expire_after: 600
Строка 71: Строка 76:
     availability_topic: "myhome/light-d2/$state"     availability_topic: "myhome/light-d2/$state"
     payload_available: "ready"     payload_available: "ready"
-    payload_not_available: "disconnected"        +    payload_not_available: "disconnected"      
-    +    
-</code>+
  
- +  - name: "Влажность ванная DHT"
-<code>   +
-   +
-  platform: mqtt +
-    name: "Горячая вода" +
-    icon: "mdi:water-outline" +
-    state_topic: "myhome/s_out/acount_hot/store" +
-    unit_of_measurement: 'м3' +
-  - platform: mqtt +
-    name: "Холодная вода" +
-    icon: "mdi:water" +
-    state_topic: "myhome/s_out/acount_cold/store" +
-    unit_of_measurement: 'м3' +
-  - platform: mqtt +
-    name: "На улице" +
-    icon: "mdi:thermometer" +
-    state_topic: "myhome/s_out/t_outside" +
-    unit_of_measurement: '°C' +
-    expire_after: 600 +
-     +
-     +
-  - platform: mqtt +
-    name: "Воздух гостиная" +
-    icon: "mdi:thermometer" +
-    state_topic: "myhome/s_out/t_kitchen" +
-    unit_of_measurement: '°C' +
-    expire_after: 600 +
-  - platform: mqtt +
-    name: "Влажность ванная"+
     icon: "mdi:water-percent"     icon: "mdi:water-percent"
     expire_after: 600     expire_after: 600
     state_topic: "myhome/s_out/dhtH"     state_topic: "myhome/s_out/dhtH"
     unit_of_measurement: '%'     unit_of_measurement: '%'
-  platform: mqtt + 
-    name: "Воздух ванная"+  - name: "Воздух ванная DHT"
     icon: "mdi:thermometer"     icon: "mdi:thermometer"
     expire_after: 600     expire_after: 600
     state_topic: "myhome/s_out/dhtT"     state_topic: "myhome/s_out/dhtT"
     unit_of_measurement: '°C'        unit_of_measurement: '°C'   
-  - platform: mqtt 
-    name: "Воздух прихожая" 
-    icon: "mdi:thermometer" 
-    expire_after: 600 
-    state_topic: "myhome/s_out/t_aentr" 
-    unit_of_measurement: '°C'   
-   
-  - platform: mqtt     
-    name: "Воздух душ" 
-    icon: "mdi:thermometer" 
-    expire_after: 600 
-    state_topic: "myhome/s_out/t_abath1" 
-    unit_of_measurement: '°C'  
          
-  - platform: mqtt     +  - name: "Воздух прихожая DS"
-    name: "Воздух кондиционера"+
     icon: "mdi:thermometer"     icon: "mdi:thermometer"
     expire_after: 600     expire_after: 600
-    state_topic: "myhome/s_out/t_ac+    state_topic: "myhome/s_out/t_aentr
-    unit_of_measurement: '°C'  +    unit_of_measurement: '°C'         
-     +   
-  - platform: mqtt     +
-    name: "Воздух внеш" +
-    icon: "mdi:thermometer" +
-    expire_after: 600 +
-    state_topic: "myhome/s_out/t_ext" +
-    unit_of_measurement: '°C'       +
-     +
-  - platform: mqtt +
-    name: "Heater power" +
-    state_topic: "myhome/s_out/fm_stat" +
-    icon: "mdi:radiator" +
-    unit_of_measurement: '%' +
-    value_template: "{{ value_json.pwr }}" +
-  - platform: mqtt     +
-    name: "Fan RPM" +
-    icon: "mdi:fan" +
-    state_topic: "myhome/s_out/fm_stat" +
-    unit_of_measurement: 'RPM' +
-    value_template: "{{ value_json.RPM }}" +
-  - platform: mqtt   +
-    name: "Fan Current" +
-    icon: "mdi:current-ac" +
-    state_topic: "myhome/s_out/fm_stat" +
-    unit_of_measurement: 'A' +
-    value_template: "{{ value_json.I }}" +
-  - platform: mqtt     +
-    name: "Fan Fault" +
-    icon: "mdi:alert" +
-    state_topic: "myhome/s_out/fm_stat" +
-    value_template: "{{ value_json.flt }}"    +
-#  - platform: mqtt     +
-#    name: "Fan Temp" +
-#    state_topic: "myhome/s_out/fm_stat" +
-#    unit_of_measurement: '°C'   +
-#    value_template: "{{ value_json.t }}"     +
-#  - platform: mqtt     +
-#    name: "Fan Temp set" +
-#    state_topic: "myhome/s_out/fm_stat" +
-#    unit_of_measurement: '°C'   +
-#    value_template: "{{ value_json.set }}"      +
-    +
 </code> </code>
- 
  
  
 ===== Светильники ===== ===== Светильники =====
- 
 <code>   <code>  
- 
- 
 light: light:
 # дискретный выключатель света (вкл-выкл) # дискретный выключатель света (вкл-выкл)
-  - platform: mqtt +  - name: "Прихожая"
-    name: "Прихожая"+
     state_topic: "myhome/s_out/spots_en"     state_topic: "myhome/s_out/spots_en"
     command_topic: "myhome/in/spots_en"     command_topic: "myhome/in/spots_en"
Строка 194: Строка 110:
          
 # Диммируемый одноцветный светильник     # Диммируемый одноцветный светильник    
-  - platform: mqtt +  - name: Кухня точки
-    name: Кухня точки+
     command_topic: "myhome/in/ktc/cmd"     command_topic: "myhome/in/ktc/cmd"
     state_topic: "myhome/s_out/ktc/cmd"     state_topic: "myhome/s_out/ktc/cmd"
-    brightness_scale: 100+#    brightness_scale: 100 - начиная с версии 3.0.0 контроллера, настройка не нужна
     brightness_command_topic: "myhome/in/ktc/set"     brightness_command_topic: "myhome/in/ktc/set"
     brightness_state_topic: "myhome/s_out/ktc/set"     brightness_state_topic: "myhome/s_out/ktc/set"
          
-# Цветной LED светильник     +# Цветной LED светильник         
-  - platform: mqtt + 
-    name: Кухня LED+  - name: Кухня LED
     command_topic: "myhome/in/kuh/cmd"     command_topic: "myhome/in/kuh/cmd"
     state_topic: "myhome/s_out/kuh/cmd"     state_topic: "myhome/s_out/kuh/cmd"
     hs_command_topic: "myhome/in/kuh/set"     hs_command_topic: "myhome/in/kuh/set"
     hs_state_topic: "myhome/s_out/kuh/set"       hs_state_topic: "myhome/s_out/kuh/set"  
-    hs_value_template: "{value.split(',')[0],value.split(',')[1] }}" +    hs_value_template: "{%set a=value.split(',')%} 
-    brightness_scale: 100+                        {% if a[1] -%} 
 +                          {{a[0]+','+a[1]}
 +                        {%- endif %}" 
     brightness_command_topic: "myhome/in/kuh/set"     brightness_command_topic: "myhome/in/kuh/set"
     brightness_state_topic: "myhome/s_out/kuh/set"     brightness_state_topic: "myhome/s_out/kuh/set"
     brightness_value_template: "{{ value.split(',')[2] }}"     brightness_value_template: "{{ value.split(',')[2] }}"
 +    
 +    color_temp_value_template: "{{ value.split(',')[3] }}" # Опционально
 +    color_temp_command_topic: "myhome/in/kuh/temp" # Опционально
 +    color_temp_state_topic: "myhome/s_out/kuh/set" # Опционально
 +    
 +    
 +#Новая версия интеграции. Поддерживает не только HSV но и RGBW нотацию цвета. 
 +#Полезно, если на DMX вход контроллера подключена сенсорная панель, которая выдает значения каждого из каналов в отдельности 
 +#- то есть RGBW. В этом случае контроллер прозрачно транслирует такой цвет в статусный топик, добавляя признак RGB в начало payload 
 +# предполагается имя контроллера light    
 +    
 +  - name: Кухня по новому LED
 +    command_topic: "myhome/light/kuh/cmd"
 +    state_topic: "myhome/s_out/kuh/cmd"
 +    hs_command_topic: "myhome/light/kuh/set"
 +    hs_state_topic: "myhome/s_out/kuh/set"
 +    brightness_command_topic: "myhome/light/kuh/set"    
 +    brightness_state_topic: "myhome/s_out/kuh/set"
 +    color_temp_command_topic: "myhome/light/kuh/temp"
 +    color_temp_state_topic: "myhome/s_out/kuh/set"    
 +    rgbw_state_topic: "myhome/s_out/kuh/set"
 +    
 +    hs_value_template:  "{%if not value is match('RGB')%}
 +                        {%set a=value.split(',')%}
 +                        {%if a[1]%}
 +                        {{a[0]+','+a[1]}}
 +                        {%endif%}
 +                        {% endif %}"
 +
 +    brightness_value_template: "{%if not value is match('RGB')%}
 +                                {%set a=value.split(',')%}
 +                                {% if a[2] %}
 +                                {{ a[2] }}
 +                                {% endif %}
 +                                {% endif %}"
 +                                
 +    color_temp_value_template: "{%if not value is match('RGB')%}
 +                                {%set a=value.split(',')%}
 +                                {% if a[3] %}
 +                                {{ a[3] }}
 +                                {% endif %}                              
 +                                {% endif %}"
 +
 +    rgbw_value_template: "{%if value is match('RGB')%}
 +                          {{value.split()[1]}}
 +                          {% endif %}"    
 +    
 +    
 +    
 </code> </code>
  
Строка 220: Строка 187:
 <code>     <code>    
 switch: switch:
-  - platform: mqtt +  - name: "Air heat"
-    name: "Air heat"+
     icon: "mdi:radiator"     icon: "mdi:radiator"
     state_topic: "myhome/s_out/fm_t/cmd"     state_topic: "myhome/s_out/fm_t/cmd"
     command_topic: "myhome/in/fm_t/cmd"     command_topic: "myhome/in/fm_t/cmd"
-  - platform: mqtt     +   
-    name: "Air auto"+  name: "Air auto"
     icon: "mdi:auto-fix"     icon: "mdi:auto-fix"
     state_topic: "myhome/s_out/fm_auto"     state_topic: "myhome/s_out/fm_auto"
     command_topic: "myhome/in/fm_auto"         command_topic: "myhome/in/fm_auto"    
-  - platform: mqtt + 
-    name: "Перекрыть воду"+  name: "Перекрыть воду"
     icon: "mdi:water-off"     icon: "mdi:water-off"
     state_topic: "myhome/s_out/alock_leak"     state_topic: "myhome/s_out/alock_leak"
     command_topic: "myhome/in/alock"     command_topic: "myhome/in/alock"
     qos: 1     qos: 1
-  - platform: mqtt + 
-    name: "Сушилки"+  name: "Сушилки"
     icon: "mdi:radiator"     icon: "mdi:radiator"
     state_topic: "myhome/s_out/h_polotenc"     state_topic: "myhome/s_out/h_polotenc"
     command_topic: "myhome/in/h_polotenc"     command_topic: "myhome/in/h_polotenc"
     qos: 1     qos: 1
-  - platform: mqtt + 
-    name: "Бойлер большой"+  name: "Бойлер большой"
     state_topic: "myhome/s_out/h_boil1"     state_topic: "myhome/s_out/h_boil1"
     command_topic: "myhome/in/h_boil1"     command_topic: "myhome/in/h_boil1"
     qos: 1         qos: 1    
-  - platform: mqtt + 
-    name: "Бойлер малый"+  name: "Бойлер малый"
     state_topic: "myhome/s_out/h_boil2"     state_topic: "myhome/s_out/h_boil2"
     command_topic: "myhome/in/h_boil2"     command_topic: "myhome/in/h_boil2"
Строка 258: Строка 224:
 <code>     <code>    
 climate: climate:
-  - platform: mqtt + 
-    name: Кондиционер+  name: Кондиционер
     modes:     modes:
       - "off"       - "off"
Строка 287: Строка 253:
     current_temperature_topic: "myhome/s_out/ac/temp"     current_temperature_topic: "myhome/s_out/ac/temp"
  
-  - platform: mqtt +  - name: "Теплый пол душ"
-    name: "Теплый пол душ"+
     modes:     modes:
       - "off"       - "off"
Строка 300: Строка 265:
     current_temperature_topic: "myhome/s_out/t_bath1"     current_temperature_topic: "myhome/s_out/t_bath1"
  
-  - platform: mqtt + 
-    name: "Климат спальня"+  name: "Климат спальня"
     modes:     modes:
       - "off"       - "off"
Строка 316: Строка 281:
  
     </code>     </code>
-    + 
 + 
 +===== Увлажнитель ===== 
 + 
 +<code> 
 +humidifier: 
 +  - name: "Увлажнитель пар" 
 +    command_topic: "myhome/plug00/reghum/cmd" 
 +    state_topic: "myhome/s_out/reghum/cmd" 
 +    target_humidity_command_topic: "myhome/plug00/reghum/set" 
 +    target_humidity_state_topic: "myhome/s_out/reghum/set" 
 +    current_humidity_topic: "myhome/s_out/plughum" 
 +    max_humidity: 60 
 +    min_humidity: 20 
 +</code>     
 ===== Приточка =====     ===== Приточка =====    
 <code> <code>
-  - platformmqtt +climate
-    name: Вентиляция+ 
 +  - name: Вентиляция
     modes:     modes:
       - "off"       - "off"
Строка 333: Строка 314:
     current_temperature_topic: "myhome/s_out/fm_stat"     current_temperature_topic: "myhome/s_out/fm_stat"
     current_temperature_template: "{{ value_json.t }}"     current_temperature_template: "{{ value_json.t }}"
 +    
 +sensor:    
 +
 +  - name: "Heater power"
 +    state_topic: "myhome/s_out/fm_stat"
 +    icon: "mdi:radiator"
 +    unit_of_measurement: '%'
 +    value_template: "{{ value_json.pwr }}"
 +  
 +  - name: "Fan RPM"
 +    icon: "mdi:fan"
 +    state_topic: "myhome/s_out/fm_stat"
 +    unit_of_measurement: 'RPM'
 +    value_template: "{{ value_json.RPM }}"
 +
 +  - name: "Fan Current"
 +    icon: "mdi:current-ac"
 +    state_topic: "myhome/s_out/fm_stat"
 +    unit_of_measurement: 'A'
 +    value_template: "{{ value_json.I }}"
 +        
 +  - name: "Fan Fault"
 +    icon: "mdi:alert"
 +    state_topic: "myhome/s_out/fm_stat"
 +    value_template: "{{ value_json.flt }}"   
 +#  - platform: mqtt    
 +#    name: "Fan Temp"
 +#    state_topic: "myhome/s_out/fm_stat"
 +#    unit_of_measurement: '°C'  
 +#    value_template: "{{ value_json.t }}"    
 +#  - platform: mqtt    
 +#    name: "Fan Temp set"
 +#    state_topic: "myhome/s_out/fm_stat"
 +#    unit_of_measurement: '°C'  
 +#    value_template: "{{ value_json.set }}"     
          
 </code> </code>
интеграция_с_homeassistant.1586964831.txt.gz · Последнее изменение: 2020/04/15 18:33 — 192.168.88.1