WBE2-I-OPENTHERM + BAXI ECO Life 31F

Приветствую!
Прошу помочь разобраться в следующей проблеме с котлом:
При уставке в 0 котел периодически включает горелку и практически сразу гасит ее.
Закономерности выявить не удалось, может раз в минуту это делать, может раз в 10 минут.

Может вообще не стоит тратить время, т.к. не факт что модуль правильно работает с данной моделью котла?
Прошивка модуля 1.74, шаблон устройства fw1.7.3.

P.S.
Кроме этой “фичи” есть и другие:
Например, котел не запускает контур отопления при положительной уставке (45), если флаг wbe2-i-opentherm_11/Auto Temp Switch = 0, смена данного флага на 1 запускает контур отопления.

В данный момент отключил котел от модуля и управляю “перемычкой” через реле.
Также пробовал через Ax_OUT имитировать работу сухого контакта - не получилось, котел все равно видит контакт несмотря на встроенный резистор в 100кОм.

Добрый день.

В списке поддерживаемых моделей нет BAXI ECO Life 31F, возможно у данного котла есть особенность.

Уточню у коллег про данное поведение.

Доброго дня.
С какой целью ноль отправляете в качестве уставки ?
Фото шаблона пришлите

Уставку ставлю в 0 чтобы отключить контур отопления когда температура в помещении поднимается на достаточный уровень.
вот фото шаблона из интерфейса:

У вас висит ошибка связи с котлом.
Не надо самостоятельно менять уставку в ноль. Модуль сам остановит нагрев теплоносителя при достижении уставки комнатной температуры.

Начните с простого.
Переведите в режим работы по теплоносителю. В этом режиме быстрее можно проверить как модуль работает с вашим котлом.

Добрый день, естественно висит ошибка связи, я его отключил чтобы не убить котел частыми включениями/ выключениями. Сейчас добрался до котла, снова соединил котел с модулем.
Выставил следующие настройки:


Наблюдаю…

Добрый день!
В результате общения с техподдержкой в телеграм чате с @NevotonSupportBot удалось должным образом настроить логику для отключения контура отопления. Для отключения контура отопления не нужно менять настройки уставки, нужно изменить режим работы котла на ЛЕТО.

dev["wbe2-i-opentherm_11/Season reg"] = 2 //отключить контур отопления
dev["wbe2-i-opentherm_11/Season reg"] = 1 //включить контур отопления

Также есть ключевой момент: настройка Auto Temp Switch должна быть выставлена в 0 (возможно при 1 это и есть причина частого включения/отключения).

Кроме того, после перезагрузки котроллера слетают настройки Auto Temp Switch, CH Max Value, CH Gest. Я сделал такой костыль через wb-rules:

setTimeout(function () {
    function setValue(param, val) {
        dev[param] = val;
        log("{} = {}", param, val);
    }
    setValue("wbe2-i-opentherm_11/Auto Temp Switch", 0);
    setValue("wbe2-i-opentherm_11/Heating Setpoint", 44);
    setValue("wbe2-i-opentherm_11/CH Gest", 5);
    setValue("wbe2-i-opentherm_11/CH Max Value", 50);
}, 60000);

Подскажите есть ли более правильный способ выставить настройки после перезагрузки контроллера?

Еще добавлю что периодически прилетает/пропадает бит ошибки

"wbe2-i-opentherm_11/Boiler fault indication" = 1

Котел при этом никак не реагирует (продолжает работать).

Еще понаблюдаю за работой котла в течение недели, отпишу сюда.

Уточняю. Не все котлы адекватно реагируют на работу в режиме “Отключение контуров”

Также есть ключевой момент: настройка Auto Temp Switch должна быть выставлена в
0 (возможно при 1 это и есть причина частого включения/отключения).

Приветствую!
В целом складывается впечатление что котел работает, если не принимать во внимание что периодически изменяются значения регистров Boiler Flame Status (хотя горелка фактически не менят своего состояния), Boiler CH mode, Boiler CH2, Boiler DHW mode, DHW Transfer, Boiler fault indication и т.п.
Приложу лог чтения топиков /devices/wbe2-i-opentherm_11/#. Во время записи лога котел работал в режиме отопления, также был перекрыт кран подачи ГВС для чистоты эксперимента.
highlighted_log.html (97,7 КБ)
boiler_log.txt (44,9 КБ)

Heating Return Water Temperature и Water Pressure также чушь выдает.

Котёл постоянно меняет свои статусы…
Обновить надо прошивку до 1.75

В документации нет информации о версии 1.7.5. Есть ли инструкция как обновить прошивку модуля?

По обновлению пишите в Telegram: Contact @NevotonSupportBot

Может так будет лучше сохранять параметры :

defineVirtualDevice("wb-rules-persist", {
    cells: {        
        "CH Min Value": { type: "value", value: 30, readonly: true },
        "CH Max Value": { type: "value", value: 80, readonly: true },
        "CH Gest": { type: "value", value: 5, readonly: true },
        "DHW Gest": { type: "value", value: 5, readonly: true },
        "Room Temperature Setpoint": { type: "value", value: 20, readonly: true },
        "Hot Water Setpoint": { type: "value", value: 0, readonly: true },
        "Auto Temp Switch": { type: "value", value: 0, readonly: true, meta: { hidden: true }},
        "Season reg": { type: "value", value: 0, readonly: true },
        "OT MasterID": { type: "value", value: 0, readonly: true }
    }
});

var persistParams = [  
    "CH Min Value",
    "CH Max Value",
    "CH Gest",
    "DHW Gest",
    "Room Temperature Setpoint",
    "Hot Water Setpoint",
    "Auto Temp Switch",
    "Season reg",
    "OT MasterID"
];

// Глобальная переменная для отслеживания состояния восстановления
var recoveryMode = true;

// Функция для сохранения параметров в долговременную память
function saveToPersistentStorage(param, newValue) {
    if (!recoveryMode) {  // Сохраняем только если не в режиме восстановления
        var persistDevice = dev["wb-rules-persist"];
        if (persistDevice && persistDevice[param] !== newValue) {
            persistDevice[param] = newValue;
            log("Сохранено в долговременную память: " + param + " = " + newValue);
        }
    }
}

// Функция для восстановления параметров из долговременной памяти
function restoreFromPersistentStorage(param) {
    var persistDevice = dev["wb-rules-persist"];
    return persistDevice ? persistDevice[param] : null;
}

// Функция для восстановления значений на устройстве
function restoreValues() {
    persistParams.forEach(function (persistParam) {
        var restoredValue = restoreFromPersistentStorage(persistParam);
        if (restoredValue !== null) {
            var device = dev["wbe2-i-opentherm_11"];
            if (device && device[persistParam] !== restoredValue) {
                log("Восстановлено из долговременной памяти: " + persistParam + " = " + restoredValue);
                device[persistParam] = restoredValue;
            } else if (device) {
                log("Параметр " + persistParam + " уже восстановлен и не будет изменён.");
            } else {
                log("Ошибка: wbe2-i-opentherm_11 не найден");
            }
        } else {
            log("Ошибка: Не найдено сохранённое значение для " + persistParam);
        }
    });
}

// Функция для восстановления режима сохранения
function startRecoveryMode() {
    log("Режим восстановления активирован. Ожидание 15 секунд...");
    // 15 секунд, когда только восстановление значений
    setTimeout(function () {
        recoveryMode = false;  // После 15 секунд выключаем режим восстановления
        log("Режим восстановления завершён. Сохранение значений теперь доступно.");
    }, 15000);  // 15 секунд задержки
}

// Дожидаемся 15 секунд перед выполнением всех операций
setTimeout(function () {
    // Восстанавливаем сохраненные значения после перезапуска
    restoreValues();

    // Активируем режим восстановления сразу после перезапуска
    startRecoveryMode();
}, 15000);  // Задержка 15 секунд

// Создаем правила для сохранения параметров
persistParams.forEach(function (persistParam) {
    defineRule({
        whenChanged: "wbe2-i-opentherm_11/" + persistParam,
        then: function (newValue) {
            // Сохраняем значение только если не в режиме восстановления
            saveToPersistentStorage(persistParam, newValue);
        }
    });
1 лайк