WBE2-I-OPENTHERM и BLOR или Block out reset

Всем привет!

Возможно кому-то пригодится то, что я почти сутки ковырял и доковырял.
Итак, удаленный сброс ошибок котла через Opentherm подключенный к Wirenboard через WBE2-I-OPENTHERM. Может быть полезно тем, у кого котел стоит на даче и не очень хочется при ошибках сразу туда лететь зимой!
!!!На всякий случай предупреждаю, что если ошибка связана с котлом, то перед её сбросом лучше оценить риски возгорания или полного отключения котла!!!

Вот этим кодом можно послать котлу, так называемый BLOR или Boiler Lock Out Reset:

dev["WBE2-I-OPENTHERM"]["TR Command"] = 3;
dev["WBE2-I-OPENTHERM"]["TR ID"] = 4;
dev["WBE2-I-OPENTHERM"]["TR Data"] = 256;

А вот этим кодом я сбрасываю ошибки и возвращаю котлу нормальную работоспособность по нажатию кнопки в интерфейсе:

  defineRule("boiler_status_manualRefresh_changed", { 
      whenChanged: "BoilerStatus/manualRefresh",
      then: function(newValue, devName, cellName) {
	if (newValue == true) {
		if (global.__proto__.debugLog) log("[Temperature] Boiler manual refresh initiated!");

		// Выключаем нагрев помещения
		dev["WBE2-I-OPENTHERM"]["TR Command"] = 2;
		dev["WBE2-I-OPENTHERM"]["TR ID"] = 0;
		dev["WBE2-I-OPENTHERM"]["TR Data"] = 13056;

		dev["BoilerStatus"]["cooldownState"] = true;

		setTimeout(function() { 
			// Делаем программный сброс BLOR Boiler Lockout Reset
			dev["WBE2-I-OPENTHERM"]["TR Command"] = 3; 
			dev["WBE2-I-OPENTHERM"]["TR ID"] = 4;
			dev["WBE2-I-OPENTHERM"]["TR Data"] = 256;

			if (global.__proto__.debugLog) log("[Temperature] Boiler BLOR sent!");

			setTimeout(function() { 
				// Читаем статус после BLOR Boiler Lockout Reset
				//dev["WBE2-I-OPENTHERM"]["TR Command"] = 2; 
				//dev["WBE2-I-OPENTHERM"]["TR ID"] = 4;

				status = dev["WBE2-I-OPENTHERM"]["TR Data"]; 

				if (global.__proto__.debugLog) log("[Temperature] Boiler BLOR status: " + status);

			}, 2000);

		}, 5000);

		setTimeout(function() { 
			// Включаем нагрев помещения
			dev["WBE2-I-OPENTHERM"]["TR Command"] = 2; //2 - Чтение, 3 - Запись
			dev["WBE2-I-OPENTHERM"]["TR ID"] = 0;
			dev["WBE2-I-OPENTHERM"]["TR Data"] = 4864;

			dev["BoilerStatus"]["manualRefresh"] = false;

			if (global.__proto__.debugLog) log("[Temperature] Boiler manual refresh finished!");

			dev["BoilerStatus"]["cooldownState"] = false;
		}, 15000);
	}
      }
  });
1 Like

Добрый день, благодарим за то что поделились своим опытом.
И так же дополнительно обращаем внимание о необходимости трезво оценивать риски, при использовании скрипта который позволяет игнорировать ошибки.

Доброго дня.

Как производитель оборудования, категорически не поддерживаем
использование такого способа сброса ошибки котла из-за риска
причинения ущерба имуществу и здоровью пользователей.
Выступаем против публикации и распостранения таких материалов на
любых форумах и соцсетях. Мы отказываемся от ответственности за
возможное причинение ущерба.

ООО НПФ «НЕВОТОН»