Не очень понятный ответ. Перечня и расшифровки ошибок в руководстве на панель нет. Контроллер код ошибки тоже не может присылать. Если есть ошибки связи, то они будут отображены в логе контроллера (команда для просмотра была выше).
А на странице Devices каналы панели всегда черным цветом отображаются? Красными не становятся?
Попробуйте установить для порта, к которому подключена панель, параметр gurad_interval_us в 5000, потом 50000, а потом 100000 мкс. Иногда помогает при работе со сторонними устройствами.
04 MODBUS «таймаут» Время через которое выставляется
ошибка связи, если нет обращений
к ПУ3 по MODBUS
Также:
06 Источник температуры
для отображения
0. Внутренний датчик
1. Значение MODBUS HR[0]
2. Авто. Если не обновляется
HR[0], то выводятся показания
внутреннего датчика
Значит после серии повторных испытаний и смены прошивки на 1.9 (от прошивки ничего не поменялось) получается следующее:
У меня весь дом сделан на Wirenboarde, когда-нибудь будет время напишу статью. Отопление у меня всё водяное, в каждой комнате я поставил ПУ-3, а в комнатах, где теплые полы по два ПУ-3. На всех контурах у меня стоят нормально нормальнозакрытые термоголовки 220В, которые подключены к WBIO-DO-R10A-8. Радиаторы я уже настроил, т.к. ПУ-3 показывает реальную температуры комнаты и если надо открывает нужные контура, а вот с теплыми полами у меня сейчас затык, т.к. в ПУ-3 подсовывать температуру с датчиков M1W2.
Поменял регистр ЕР3 на 0, EP4 на 10 и ошибка пропала. Больше ошибка не показывается.
Сделал код, чтобы записывать сразу два параметра и 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;
}
});
Если менять clock_interval_ms = 10000 до 10, то в принципе сами показания ПУ-3 уже не проскальзывают. Но нормально ли это для контроллера, чтобы 10 раз в секунду писать данные. Просто у меня их 15 штук.
Как мне кажется, получается, что сам WB не только записывает данные в Current Temperature, но и считывает их (а при считывании получает температуру панели), поэтому и получается проскакивает не нужная мне температура. И возможно, дело в json шаблоне устройства?
Может быть в самом шаблоне устройств можно как-то указать, что не считывать параметр current temperature?
А вообще нормально для WB будет, если я на 10 устройств каждые 3 секунды (ресурсов хватит?) буду посылать внешнюю температуру. Потому что, впринципе технически данную проблему я могу обойти в spruthub, подменив там температуру?
Постоянно читать и записывать для драйвера контроллера - это нормально. Ничего не перегрузится, но может появиться некоторая задержка опроса, иногда это бывает критично. Если запросов будет слишком много просто не будет точно выдерживаться указанный интервал опроса.
Так все-таки пропала или не совсем? Можно EP4 еще увеличить?
Контроллер не сломается, но выдержать точно интервалы записи и чтения не сможет - не успеет . Будет читать и опрашивать так быстро, как получится.