Приобрели датчик WB-MSW v.3 для интеграции с нашей системой EasyHome.
Сменил адрес с 26 на 13, регистры 0 и 1 читаются, регистр 3 тоже читается, а 2й не читается, хотя сенсор освещённости есть.
Кроме того, не читается сразу несколько регистров, например с 0го по 11й, чтоб все аналоговые измерения можно было прочитать одним разом.
Как это исправить?
Добрый день, grif926!
Второго регистра нет на устройстве, вместо него используются 9-10. регистры 4-7 не определены, поэтому вы и не можете одной командой считать несколько регистров подряд, “дырка” там. У вас странный скриншот страницы с картой регистров, какая-то предыдущая версия, почему? Актуальная версия тут: https://wirenboard.com/wiki/index.php/Sensors_Modbus_Management
Таблица должна выглядеть так (начало):
Смотрите на столбец WB-MSW v3
А как быть с дыркой? У Вас же в таблице написано отрибут “R” - т.е. РЕГИСТР ДОСТУПЕН ДЛЯ ЧТЕНИЯ, ну пуcть там 0 или 0xFFFF считывается… Получается, вместо одного запроса, придётся в драйвере делать много запросов и тормозить весь обмен, особенно, если много датчиков поставить. А в датчике есть функции требующие скорость работы - ИК шлюз и датчик движения. Есть возможность устранить этот дефект в прошивке и обновить её, чтоб соответсвовало заявленной таблице? Для этого надо к Вам присылать на перепрошивку датчик или можно самостоятельно обновление сделать?
Пока не вижу возможности, но можем учесть ваше пожелание в будущих версиях прошивки. В таблице для WB-MSW v3 эти регистры и не заявлены, как поддерживаемые. Прошить устройство можно только у нас.
По скорости: ИК не требует никаких особенных скоростей, вы обучаете его, а дальше отправляете команды на воспроизведение, когда надо, прерывая опрос. Датчик движения можно тоже опрашивать не так часто, если функции охранные. Если нужно что-то включать, то да, регистр нужно опрашивать чаще остальных.
А какое количество датчиков вы планируете установить?