Передача данных температуры M1W2 панель управления

Не очень понятный ответ. Перечня и расшифровки ошибок в руководстве на панель нет. Контроллер код ошибки тоже не может присылать. Если есть ошибки связи, то они будут отображены в логе контроллера (команда для просмотра была выше).

А на странице Devices каналы панели всегда черным цветом отображаются? Красными не становятся?

Попробуйте установить для порта, к которому подключена панель, параметр gurad_interval_us в 5000, потом 50000, а потом 100000 мкс. Иногда помогает при работе со сторонними устройствами.

Возможно, тут дело не в контроллере Wirenboard. Для теста можно попробовать записывать этот регистр прямо с ПК через переходник USB-RS-485.

Да,
А параметр 4 в панели проверен?

04 MODBUS «таймаут» Время через которое выставляется
ошибка связи, если нет обращений
к ПУ3 по MODBUS

Также:

06 Источник температуры
для отображения
0. Внутренний датчик
1. Значение MODBUS HR[0]
2. Авто. Если не обновляется
HR[0], то выводятся показания
внутреннего датчика

Ну и маску параметров проверить…

Значит после серии повторных испытаний и смены прошивки на 1.9 (от прошивки ничего не поменялось) получается следующее:

  1. У меня весь дом сделан на Wirenboarde, когда-нибудь будет время напишу статью. Отопление у меня всё водяное, в каждой комнате я поставил ПУ-3, а в комнатах, где теплые полы по два ПУ-3. На всех контурах у меня стоят нормально нормальнозакрытые термоголовки 220В, которые подключены к WBIO-DO-R10A-8. Радиаторы я уже настроил, т.к. ПУ-3 показывает реальную температуры комнаты и если надо открывает нужные контура, а вот с теплыми полами у меня сейчас затык, т.к. в ПУ-3 подсовывать температуру с датчиков M1W2.
  2. Поменял регистр ЕР3 на 0, EP4 на 10 и ошибка пропала. Больше ошибка не показывается.
  3. Сделал код, чтобы записывать сразу два параметра и Current Temperature и Outdoor Temperature
//создаем таймер с интервалом срабатывания 3 секунды
var clock_interval_ms = 10000;
startTicker("clock", clock_interval_ms);
defineRule("write_data_to_panel2",{
  when: function () { return timers.clock.firing; },
  then: function () {
    //лог для диагностики
	log("Write data to panel executed. Temperature =" + dev["temperature_source"]["Температура"]);
    //пишем в панель
    dev["temp_53"]["Current temperature"] = dev["wb-m1w2_89"]["External Sensor 1"];
  }
});
defineRule("test_rule", { //имя правила test_rule
  whenChanged: "wb-m1w2_89/External Sensor 1",
  then: function (newValue, devName, cellName) {
    dev["temp_53"]["Outdoor temperature"] = newValue;
  }
});
  1. Если менять clock_interval_ms = 10000 до 10, то в принципе сами показания ПУ-3 уже не проскальзывают. Но нормально ли это для контроллера, чтобы 10 раз в секунду писать данные. Просто у меня их 15 штук.
  2. Как мне кажется, получается, что сам WB не только записывает данные в Current Temperature, но и считывает их (а при считывании получает температуру панели), поэтому и получается проскакивает не нужная мне температура. И возможно, дело в json шаблоне устройства?
  3. Может быть в самом шаблоне устройств можно как-то указать, что не считывать параметр current temperature?
{

"name":"Current temperature",

"reg_type":"holding",

"readonly":false,

"address":0,

"type":"temperature",

"scale":0.1,

"format":"s16"

}

Если не работает - все-таки полезно чтение документации. :wink:

Как писал выше - параметр 06. Что (откуда) показывать в качестве температуры.

Да, вообще считывает, конечно. Можно включить Debug для порта и убедиться.

Нет, сейчас в шаблонах так не настраивается. Надо настраивать саму панель.

Да, выставлено 1. И кстати, на самом панели температура панели не показывается, вместо неё ставить прочерк “–”.

А вообще нормально для WB будет, если я на 10 устройств каждые 3 секунды (ресурсов хватит?) буду посылать внешнюю температуру. Потому что, впринципе технически данную проблему я могу обойти в spruthub, подменив там температуру?

Постоянно читать и записывать для драйвера контроллера - это нормально. Ничего не перегрузится, но может появиться некоторая задержка опроса, иногда это бывает критично. Если запросов будет слишком много просто не будет точно выдерживаться указанный интервал опроса.

Так все-таки пропала или не совсем? Можно EP4 еще увеличить?

Контроллер не сломается, но выдержать точно интервалы записи и чтения не сможет - не успеет . Будет читать и опрашивать так быстро, как получится.

Для панели сейчас доступна прошивка 2.1, где, например 2 стопбита. Ну и, возможно, будет работать лучше.