Прямое подключение устройств WB в HomeAssistant по modbus

Добрый день.

Есть ли где-то готовый пакет настроек config.yaml и шаблонов для прямого подключения устройств WirenBoard в HomeAssistant по modbus? Интересуют реле, диммеры, датчики и т.д. Не планирую отдельно приобретать центральный контроллер WB, а подключать девайсы WB напрямую в HomeAssistant. Поделитесь кто-нибудь? В обсуждениях видел фрагменты. Сам сделал какие-то базовые вещи, но не хочется сидеть с каждым регистром ковыряться.

Заранее спасибо!

Добрый день!

Готового решения на данный момент нет, но есть несколько возможных вариантов:

  • передать ИИ список топиков, которые необходимо прописать в Home Assistant;
  • использовать wb-engine;
  • перспективе планируется проект, который позволит нативно пробрасывать данные, но точные сроки назвать не могу — известно, что разработка уже ведётся.

Спасибо. Уточню:

  1. ИИ сам преобразует топики в регистры вашего оборудования и сформирует config для modbus HomeAssistant? Подозреваю, что так не сработает и мне топики не нужны. я напрямую проводом по modbus подключаю ваши устройства к миниПК с HomeAssistant.
  2. wb-engine я использую когда использую центральный контроллер WB. Ну и в целом, при большом количестве оборудования и потребности в быстром modbus конечно использую центральный контроллер WB. Я же не могу wb-engibe установить на HomeAssistant?
  3. Очень ждем проект, спасибо. Думаю это точно увеличит продажи ваших реле/диммеров/датчиков, т.к. для небольших проектов резко снизится порог входа - не потребуется покупать центральный контроллер.

Да, так вполне работает. Подробный промпт и использование Cloude Opus, например, в режиме агента - еще и отладит конфиг.

Добрый день! Я описываю все устройства WB через binary_sensors и sensors.
WB-MDM3:

name: wbmge
type: tcp
host: 192.168.1.202
port: 502
delay: 5
timeout: 5
message_wait_milliseconds: 30

binary_sensors:
  - name: “d28_state”
    scan_interval: 1
    slave: 28
    address: 0
    input_type: coil
    slave_count: 2
    unique_id: “d28_state”
sensors:
  - name: "d28_brightness"
    scan_interval: 1
    slave: 28
    address: 0
    data_type: uint16
    input_type: holding
    slave_count: 2
    unique_id: "d28_brightness"

WB-LED (W+W+W+W):

binary_sensors:
  - name: 'd84_state'
    scan_interval: 1
    slave: 84
    address: 0
    input_type: coil
    slave_count: 3
    unique_id: 'd84_state'
sensors:
  - name: 'd84_brightness'
    scan_interval: 1
    slave: 84
    address: 2000
    data_type: uint16
    slave_count: 3
    unique_id: 'd84_brightness'

WB-MSW v.4 (T/H/Motion)

sensors:
  - name: "s145_state"
    scan_interval: 30
    slave: 145
    address: 4
    data_type: int16
    input_type: input
    scale: 0.01
    precision: 2
    slave_count: 1
    state_class: measurement
    nan_value: 0x7FFF
    unique_id: "s145_state"
  - name: "s145_motion"
    scan_interval: 1
    slave: 145
    address: 283
    data_type: uint16
    input_type: input
    nan_value: 0xFFFF
    unique_id: "s145_motion"

WB-MRWM2

binary_sensors:
  - name: “r1_state”
    scan_interval: 1
    slave: 1
    address: 0
    input_type: coil
    slave_count: 1
    unique_id: “r1_state”

sensors:
  - name: “r1_electric_meter_voltage”
    scan_interval: 1
    slave: 1
    address: 56
    data_type: uint16
    input_type: input
    scale: 0.01
    precision: 2
    slave_count: 1
    unit_of_measurement: “V”
    device_class: voltage
    state_class: measurement
    unique_id: “r1_electric_meter_voltage”
  - name: “r1_electric_meter_active_power”
    scan_interval: 1
    slave: 1
    address: 64
    data_type: uint16
    input_type: input
    scale: 0.1
    precision: 2
    slave_count: 1
    unit_of_measurement: “W”
    device_class: power
    state_class: measurement
    unique_id: “r1_electric_meter_active_power”

WB-MR6C [v.2,v.3]

binary_sensors:
  - name: "r2_state"
    scan_interval: 1
    slave: 2
    address: 0
    input_type: coil
    slave_count: 1
    unique_id: "r2_state"

WB-MAP3E

sensors:
  - name: "electric_meter_voltage"
    scan_interval: 5
    slave: 133
    address: 5136
    data_type: uint32
    input_type: input
    scale: 0.000000152588
    precision: 2
    slave_count: 2
    unit_of_measurement: "V"
    device_class: voltage
    state_class: measurement
    nan_value: 0xFFFFFFFF
    unique_id: "electric_meter_voltage"
  - name: "electric_meter_peak_voltage"
    scan_interval: 60
    slave: 133
    address: 6160
    data_type: int32
    input_type: input
    swap: word
    scale: 0.01
    precision: 2
    slave_count: 2
    unit_of_measurement: "V"
    device_class: voltage
    state_class: measurement
    nan_value: 0xFFFFFFFF
    unique_id: "electric_meter_peak_voltage"
  - name: "electric_meter_frequency"
    scan_interval: 120
    slave: 133
    address: 4344
    data_type: uint16
    input_type: input
    scale: 0.01
    precision: 2
    unit_of_measurement: "Hz"
    device_class: frequency
    state_class: measurement
    unique_id: "electric_meter_frequency"
  - name: "electric_meter_current"
    scan_interval: 5
    slave: 133
    address: 5142
    data_type: uint32
    input_type: input
    scale: 0.000000244141
    precision: 2
    slave_count: 2
    unit_of_measurement: "A"
    device_class: current
    state_class: measurement
    unique_id: "electric_meter_current"
  - name: "electric_meter_active_power"
    scan_interval: 5
    slave: 133
    address: 4864
    data_type: uint32
    input_type: input
    scale: 0.00512
    precision: 2
    slave_count: 3
    unit_of_measurement: "W"
    device_class: power
    state_class: measurement
    unique_id: "electric_meter_active_power"
  - name: "electric_meter_active_summary_energy"
    scan_interval: 5
    slave: 133
    address: 4608
    data_type: uint64
    input_type: input
    swap: word
    scale: 0.00001
    precision: 2
    unit_of_measurement: kWh
    device_class: energy
    state_class: total
    unique_id: "electric_meter_active_summary_energy"
  - name: "phase_angle_shift"
    scan_interval: 0
    slave: 133
    address: 4345
    data_type: custom
    input_type: input
    structure: ">1h1h1h"
    scale: 0.1
    precision: 2
    count: 3
    unique_id: "phase_angle_shift"

Спасибо, но доступа к Клоду нет.

Александр, выручили! То что нужно )

Добрый день,
Я верно понимаю что все получилось и работает ?