new val for <modbus:64:input: 121>: 2ff0
register value change: <modbus:64:input: 121> ← 12.272
channel Supply voltage device id: wb-mrps6_64 – topic: /devices/wb-mrps6_64/controls/Supply voltage ← 12.272
В журнале MQTT брокера инфа о устройстве wb есть (вроде бы как):
1646784764: New client connected from 172.30.33.2 as wb-modbus (p2, c1, k60, u’mqtt’).
Как мне теперь эти данные по состоянию реле вывести в карточку в интерфейс HA?
Не пинайте с такой задачей сталкиваюсь первый раз.
Спасибо за советы, с топиками чуть разобрался.
Но есть ещё вопрос. Как добавить ещё одно устройство WB-MAP6S в файл конфигурации wb-mqtt-serial.conf?
Сейчас с одним устройством WB конфиг такой:
Точно счетчик?
У вас добавлено релеМодуль Modbus-реле WB-MRPS6 — Wiren Board
Проще всего - церез веб-интерфейс, в настроках wb-mqtt-serial нажать кнопку
и выбрать шаблон и адрес.
У меня нет контроллера WB, есть контроллер jethome d1 с home assistent? к нему подключено реле wb-mrps6. С одним устройством процесс настройки движется. Теперь нужно добавить ещё счётчик WB-MAP6S. Как ещё одно устройство прописать в файл в файл конфигурации wb-mqtt-serial.conf?
У меня Home Assistant. Или по лицензии, я что-то не понял?
И по счётчику WB-MAP6S есть вопрос, в логах есть параметр @ 4317. При считывании ошибка. я так понимаю это из-за версии по на счётчике. Как мне обновить по до актуальной версии?
По этой инструкции Обновление прошивки Modbus-устройств Wiren Board — Wiren Board “ручное обновление”?
ModbusRTU::ReadRegisterRange(): failed to read 3 input(s) @ 4317 of device modbus:19: Serial protocol error: illegal data value
Имеется в виду что ПО Wirenboard - открытое, но допускается к использовнию только на оборудовании производства WB.
Кстати, HA умеет сам опрашивать Modbus устройства: Modbus - Home Assistant
4317 (0x10dd) это старший регистр на старой прошивке и отсутствует на новой. Если у вас на счетчике новая прошивка - то использовать шаблон надо “fw2”
Добрый день, снова.
Шаблон “fw2” решает вопрос. Но теперь вопрос по прямому опросу modbus из home assistant.
В configuration.yaml modbus я добавил, в sensor.yaml и switch.yaml объекты добавил, но sensor и switch в объектах не появляются.
modbus:
- name: modbus_hub1
type: serial
baudrate: 9600
bytesize: 8
method: rtu
parity: N
port: /dev/ttyUSB0
stopbits: 2
Остановка/запуск не запускает опрос.
“Modbus: Write coil” отрабатывает, например делаю запрос на: Address 1, slave 64, state 1 или 0 реле срабатывает. Получается, я как-то неправильно создаю sensor/switch? Соединение с самим mrps6 есть, параметры регистров получается записывать.
По логам вот, что есть:
2022-03-15 16:02:23 INFO (MainThread) [homeassistant.setup] Setting up modbus
2022-03-15 16:02:23 INFO (MainThread) [homeassistant.setup] Setting up history
2022-03-15 16:02:23 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event panels_updated[L]>
2022-03-15 16:02:23 INFO (MainThread) [homeassistant.setup] Setup of domain history took 0.0 seconds
2022-03-15 16:02:23 INFO (SyncWorker_3) [homeassistant.components.modbus.modbus] modbus modbus_hub1 communication open
И снова вопрос по топикам. Например по напряжению или частоте эти самые топики есть и понятно, что “описывать”. Как описать те топики (считать значения) параметры которых не меняются? У реле это Serial NO и uptime.
Serial - оно вообще, как правило, нужно только для диагностики.
uptime - в общем тоже, (и оно меняется) просто состоит из двух регистров, из младшей и старшей части.
Читаются они так:
ключевое тут count: , количество читаемых регистров.
А сенсоры в списках появились?
Потому как именно такое поведение не гуглится, как примеры
Сенсоры с платформы modbus нет, не появляются. С сенсорами с других платформ всё ок, например mqtt и systemmonitor, все появляются. Такое ощущение, что баг или “фича” конкретно с modbus, ну или я олень.
И поэтому можно ещё раз, для особо так одарённых. Если будет такой сенсор:
Всё нормально это я олень, сенсоры и тд. для modbus нужно прописывать в configuration.yaml. Те файлы/папки которые используются для sensor и switch, модбасом как бы не читаются. У меня для датчиков такой путь:
sensor: !include_dir_merge_list myconfig/sensor
Но теперь следующие вопросы: У счётчика WB-MAP6S в регистрах есть формат/тип данных “s32”, но в описании modbus такого input_type нет
И ещё, может подскажите как можно реализовать такую задачу. Сейчас есть автоматизация, которая запускает скрипт с такой логикой: активировать канал1 - ждать 2 часа - выключить канал 1 - активировать канал2 - ждать 2 часа - выключить канал2 и так по кругу. Ещё нужно понимать есть ли потребление на канале1, когда этот канал1 активен и если потребления нет, то активировать канал2 и со вторым каналом точно так же, если канал2 активен а потребления нет, активировать канал1. В потребителях насосы, один 2 часа работает, второй выключен, потом второй 2 часа работает, а первый выключен, ну и так по кругу + нужно понимать, что когда насос должен работать, а потребления нет должен запускаться другой насос.
Home assistant + wb-mrps6 + WB-MAP6S