Hommyn / local_mqtt

17 stars 0 forks source link

Need mqtt support for water boilers #1

Open avbor opened 2 years ago

avbor commented 2 years ago

Please, add mqtt support for other compatible devices, especially - water boilers (ie Electrolux Centurio IQ 2.0).

Andrew55529 commented 1 year ago

@Lasta2007 У них у всех единый пароль. Дай куда отправить, отправлю. А вообще ты ответил на инструкцию по его получению. По какой-то причине сюда скидывать не хотят и я не хочу

anym1re commented 1 year ago

@Lasta2007 У них у всех единый пароль. Дай куда отправить, отправлю. А вообще ты ответил на инструкцию по его получению. По какой-то причине сюда скидывать не хотят и я не хочу

@Andrew55529 Сообщи и мне, пожалуйста - https://t.me/ssdjsjjsha

knartur commented 1 year ago

Расскажите пожалуйста про методику интеграции в HA и пароль на брокер. https://t.me/knartur

Drafteed commented 1 year ago

Всем спасибо за ресерч! Получилось добавить чайник Polaris (работает на тех же облаках, что и Русклимат).

Долго мучался с mosqutto. emqx из-за громоздкости и прожорливости использовать не хотелось, а в nanomq TLS почему-то не завелся.

В итоге поднял второй инстанс mosqutto с версией 1.5.11 (выше уже не работают) через докер, оставив слушать только 8883 и связал его с основным брокером (уже на актуальной версии) на той же машине через мост.

Конфигурация такая:

autosave_interval 1800
autosave_on_changes false
persistence true
persistence_location /mosquitto/data/
per_listener_settings true
log_type error
log_dest file /mosquitto/log/mosquitto.log

listener 8883
allow_anonymous true
cafile /mosquitto/certs/ca.crt
keyfile /mosquitto/certs/mosquitto.key
certfile /mosquitto/certs/mosquitto.crt

connection mosquitto-tls-legacy
address localhost:1883
topic polaris/# both

Последнюю строку нужно отредактировать если используете с rusclimate. Получать логин/пароль/токен, кстати, оказалось необязательно.

Сертификаты генерировал командами:

openssl genrsa -out ca.key 2048
openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.crt
openssl genrsa -out mosquitto.key 2048
openssl req -new -key mosquitto.key -out mosquitto.csr
openssl x509 -req -in mosquitto.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out mosquitto.crt -days 3650 -sha256

При генерации mosquitto.key в CN на всякий случай поставил mqtt.cloud.polaris-iot.com, но думаю это не важно.

Скрипт для запуска контейнера с готовой конфигураций и сертификатами оставлю здесь: mosquitto-tls-legacy.zip.

dashernln commented 1 year ago

созрел вопрос. описанное выше всё выполнялось на версиях со внешним wifi свистками? на новых модулях управления для конвекторов (Ballu BCT/EVU-4I, там нет внешнего свистка, как и на 3.1) никто не пробовал выполнить эти действия? Может, у меня просто лыжи не едут и я в логах mosquitto не вижу строк auth?

1689366581: New connection from 192.168.1.14:51142 on port 8883.
1689366582: New client connected from 192.168.1.14:51142 as 5070cd47cdb2a83247a8a1e492847f88 (p2, c1, k20, u'rusclimate').
1689366582: Will message specified (4 bytes) (r1, q1).
1689366582:     rusclimate/46/5070cd47cdb2a83247a8a1e492847f88/state/error/connection
1689366582: Sending CONNACK to 5070cd47cdb2a83247a8a1e492847f88 (0, 0)
1689366582: Received SUBSCRIBE from 5070cd47cdb2a83247a8a1e492847f88
1689366582: Client 5070cd47cdb2a83247a8a1e492847f88 disconnected due to malformed packet.
LegalizeYogurt commented 1 year ago

@dashernln только что все сделал с 4 версией модуля управления Electrolux. Пришлось отказаться от mosquito и поставить emqx.

nitrogenium commented 1 year ago

@LegalizeYogurt Можешь описать алгоритм действий. Как удалось подружить?

LegalizeYogurt commented 1 year ago

@nitrogenium Перенаправляешь на роутере траффик до mqtt.cloud.rusklimat.ru на свой home assistant, где установлен emqx и создаешь конфиг типа такого Топики и клиент айди можно посмотреть в логах emqx. Никакие пароли и прочее искать не понадобилось.

Вопрос - создал в конфиге устройство mqtt climate, а так же sensor, чтобы показывал текущую мощность обогрева от 0 до 10. Как объединить их в одно устройство?

vasokot commented 10 months ago

На Сайте Hommyn указано, что для конвекторов можно настроить через приложение. А где эта настройка в приложении?

dashernln commented 10 months ago

На Сайте Hommyn указано, что для конвекторов можно настроить через приложение. А где эта настройка в приложении?

Вроде только для модулей со свистком только

Lepi4 commented 9 months ago

народ, а бойлер электролюкс получилось у кого настроить? какие настройки в configuration.yaml делали.Соединить соединился, а вот настройки никак. У меня он как кондюк отображается

bublikOff commented 9 months ago

народ, а бойлер электролюкс получилось у кого настроить? какие настройки в configuration.yaml делали.Соединить соединился, а вот настройки никак. У меня он как кондюк отображается я плюнул дак просто свисток с прошивкой на базе esphome использую ... работает на ура

Lepi4 commented 9 months ago

народ, а бойлер электролюкс получилось у кого настроить? какие настройки в configuration.yaml делали.Соединить соединился, а вот настройки никак. У меня он как кондюк отображается я плюнул дак просто свисток с прошивкой на базе esphome использую ... работает на ура

у меня свистка нет, он где то внутри, ковыряться не горю желаньем, гарантия еще 2 года. Застрял на описании устройства в конфиге.

Lepi4 commented 9 months ago

@nitrogenium Перенаправляешь на роутере траффик до mqtt.cloud.rusklimat.ru на свой home assistant, где установлен emqx и создаешь конфиг типа такого Топики и клиент айди можно посмотреть в логах emqx. Никакие пароли и прочее искать не понадобилось.

Вопрос - создал в конфиге устройство mqtt climate, а так же sensor, чтобы показывал текущую мощность обогрева от 0 до 10. Как объединить их в одно устройство?

можешь поделиться конфигом если не трудно, сделал как сенсор, а дальше никак https://t.me/Lepi4

v-vadim commented 9 months ago

Делал для себя для бризера Ballu_ASP-100 Бойлер я бы описывал как MQTT water heater

Grundefuht commented 9 months ago

@Lasta2007 У них у всех единый пароль. Дай куда отправить, отправлю. А вообще ты ответил на инструкцию по его получению. По какой-то причине сюда скидывать не хотят и я не хочу

@Andrew55529 Если не затруднит, скиньте этот пароль. https://t.me/pawlick_3 А то не совсем понятно. emqx в логах не пишет эту строку. То ли версию надо другую, то ли другой mqtt сервер

LegalizeYogurt commented 9 months ago

можешь поделиться конфигом если не трудно, сделал как сенсор, а дальше никак https://t.me/Lepi4

Вот полный конфиг

# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

# Text to speech
tts:
  - platform: google_translate

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

mqtt:
  - climate:
      name: Heater
      unique_id: "electrolux_heater_<MAC>"
      retain: true
      initial: 23
      precision: 0.1
      modes:
       - "auto"
       - "off"
      min_temp: 10
      max_temp: 35
      payload_available: "Online"
      payload_not_available: "Offline"
      current_temperature_topic: "rusclimate/46/78f7ed45cf2f9c9dc0eb6dc01eb31594/state/sensor/temperature"
      temperature_state_topic: "rusclimate/46/78f7ed45cf2f9c9dc0eb6dc01eb31594/state/temperature"
      temperature_command_topic: "rusclimate/46/78f7ed45cf2f9c9dc0eb6dc01eb31594/control/temperature"
      mode_state_topic: "rusclimate/46/78f7ed45cf2f9c9dc0eb6dc01eb31594/state/mode"
      mode_command_topic: "rusclimate/46/78f7ed45cf2f9c9dc0eb6dc01eb31594/control/mode"
      mode_state_template: >
        {% if value == "0" %}
          off
        {% elif value == "1" %}
          auto
        {% elif value == "4" %}
          auto
        {% endif %}
      mode_command_template: >
        {% if value == "off" %}
          {{ 0 }}
        {% else %}
          {{ 1 }}
        {% endif %}
      temperature_command_template: >
        {{value | int}}
  - number:
      name: Heater_power
      unique_id: "electrolux_heater_power"
      retain: true
      min: 0
      max: 10
      mode: slider
      step: 1
      state_topic: "rusclimate/46/78f7ed45cf2f9c9dc0eb6dc01eb31594/state/speed"
      command_topic: "rusclimate/46/78f7ed45cf2f9c9dc0eb6dc01eb31594/control/speed"
      value_template: >
          {{ value | int}}
  - sensor:
      name: Heater_power_meter
      unique_id: "electrolux_heater_power_meter"
      state_topic: rusclimate/46/78f7ed45cf2f9c9dc0eb6dc01eb31594/state/program_data/0
      value_template: >
          {{ value[1] | int(base=16)}}
LegalizeYogurt commented 9 months ago

Если кто-то использует внешний датчик, подключенный через фирменное приложение, посмотрите, пожалуйста, что прилетает в топик rusclimate/xx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/state/subscriptions при смене источника данных в приложении со встроенного на внешний. При "смене" встроенного на встроенный приходят nullы. Вероятно, можно будет подсунуть ему любой термометр из HA, зная формат сообщения.

sizzname commented 6 months ago

@Hommyn после очередного обновления прошивки свистка, в приложении опять пропала настройка mqtt, опять homeassist не видит конвектор. можно это как-то вернуть?

VitaLSHEL commented 5 months ago

Ballu oneair asp100 прекрасно залетает в HA через EMQX, танцы с бубном вокруг Mosquitto к результатам не привели. FW 1.29

mexpetrov commented 2 months ago

Шел 2024 год а mqtt так и не подвезли, есть ли какие то подвижки в эту сторону?