Есть проблема отображения и работы устройства ПВУ подключенной к WB напрямую по модбас. При изменении температуры в HA, WB также меняет, но в реальности оборудование ничего не изменяет. Если поменять температуру с WB, то все работает.
Связь настроена через каналы mqtt.
Добрый день.
В какие топики и какие значения пишете?
Скриншоты тут не добавляют понимания. Подпишитесь пожалуйста на топик устройства, рекурсиивно с сабтопиками и проверьте - куда именно публикуются значения.
Может есть инструкция как подписаться рекурсиивно с сабтопиками?
С подтопиками - например
mosquitto_sub -v -t "/devices/wb-gpio/#"
Выдаст то что публикуется ниже чем “/devices/wb-gpio/”. Ну и проверьте - точно ли уставку публикуете в подтопик “/on”?
Через mosquitto_sub -v -t “/devices/wb-gpio/#” публикуется все правильно, значение на WB меняется, но в реальности нет.
Также обнаружил, что если топик прокинуть в home assistant через wb-engine, то все работает. Я добавлял как готовое устройство:
mqtt:
climate:
- name: Кондиционер
unique_id: virtual_air
modes:
- "auto"
- "cool"
- "dry"
- "fan_only"
- "heat"
max_temp: 31
min_temp: 16
fan_modes:
- "auto"
- "max"
- "high"
- "medium"
- "low"
fan_mode_command_topic: "/devices/ac_fujitsu_2/controls/Fan Speed"
fan_mode_command_template: >-
{% if value == 'auto' %}
0
{% elif value == 'low' %}
1
{% elif value == 'medium' %}
2
{% elif value == 'high' %}
3
{% elif value == 'max' %}
4
{% endif %}
fan_mode_state_topic: "/devices/ac_fujitsu_2/controls/Fan Speed"
fan_mode_state_template: >-
{% if value == '0' %}
auto
{% elif value == '1' %}
low
{% elif value == '2' %}
medium
{% elif value == '3' %}
high
{% else %}
max
{% endif %}
mode_command_topic: '/devices/ac_fujitsu_2/controls/Mode'
mode_command_template: >-
{% if value == 'auto' %}
0
{% elif value == 'heat' %}
1
{% elif value == 'dry' %}
2
{% elif value == 'fan_only' %}
3
{% elif value == 'cool' %}
4
{% endif %}
mode_state_topic: '/devices/ac_fujitsu_2/controls/Mode'
mode_state_template: >-
{% if value == '0' %}
auto
{% elif value == '1' %}
heat
{% elif value == '2' %}
dry
{% elif value == '3' %}
fan_only
{% elif value == '4' %}
cool
{% endif %}
temperature_command_topic: '/devices/ac_fujitsu_2/controls/Temp Setpoint'
temperature_state_topic: '/devices/ac_fujitsu_2/controls/Temp Setpoint'
current_temperature_topic: '/devices/PVU_SystemAir_1/controls/Temperature Supply'
temp_step: 1
temperature_unit: C
Пробовал в конце добавить on, но тогда вообще ничего не передает
Покажите пожалуйста результат подписки на топик в котором как раз видно что и куда публикуете.
К сожалению я не понимаю по описанию.
root@wirenboard-APHX3TJL:~# mosquitto_sub -v -t "/devices/ac_fujitsu_2/controls/Fan Speed"
/devices/ac_fujitsu_2/controls/Fan Speed 3
/devices/ac_fujitsu_2/controls/Fan Speed 4
/devices/ac_fujitsu_2/controls/Fan Speed 3
На 4 изменил через wb-engine, на 3 вернул через готовое устройство. Но в реальности сейчас скорость 4
Неверно.
Следует подписываться так:
mosquitto_sub -v -t "/devices/ac_fujitsu_2/controls/Fan Speed/#"
Чтобы видеть все подтопики.
Повторите пожалуйста те же действия но с такой подпиской.
root@wirenboard-APHX3TJL:~# mosquitto_sub -v -t "/devices/ac_fujitsu_2/controls/Fan Speed/#"
/devices/ac_fujitsu_2/controls/Fan Speed/meta {"max":4.0,"order":3,"readonly":false,"type":"range"}
/devices/ac_fujitsu_2/controls/Fan Speed/meta/max 4
/devices/ac_fujitsu_2/controls/Fan Speed/meta/order 3
/devices/ac_fujitsu_2/controls/Fan Speed/meta/readonly 0
/devices/ac_fujitsu_2/controls/Fan Speed/meta/type range
/devices/ac_fujitsu_2/controls/Fan Speed 3
/devices/ac_fujitsu_2/controls/Fan Speed/on 4
/devices/ac_fujitsu_2/controls/Fan Speed 4
/devices/ac_fujitsu_2/controls/Fan Speed 3
Обратите внимание - публикация в /on.
Про это,например, написано тут