Готовое правило для профилактики кранов через WB-MWAC

Здравствуйте !

Поделитесь пожалуйста правилом (близким примером) для управления шаровыми кранами с помощью WB-MWAC.
Чтобы например раз в квартал, ночью, “проворачивать” все краны, для профилактики залипания.

Ну, это по сути правило по расписанию, например так: Примеры правил — Wiren Board

Пример правила "антизакисания" (прототип)
defineRule("dr_cron_taps_close_open", { //переодическое закрытия/открытие против антизакисания
	when: cron("00 00 03 01 * *"), 
	then: function ()  {
		if ( !dev["wb-mwac_35/K1"] && !dev["wb-mwac_35/K2"] ) { //Если краны открыты
			dev["wb-mwac_35/K1"] = true;
			dev["wb-mwac_35/K2"] = true;
			log("Закрытие кранов");

			var Timer_Taps;
//			if (Timer_Taps) {
//				clearTimeout(Timer_Taps);
//			}
			Timer_Taps = setTimeout(function () {
				log("Открытие кранов");
				dev["wb-mwac_35/K1"] = false;
				dev["wb-mwac_35/K2"] = false;
				Timer_Taps = null;
			}, 15000);
		}
	}
});
3 лайка
defineVirtualDevice("service", {

    title: "СервисКран",

    cells: {

        quarterlyMaintenance: {

            type: "pushbutton",

            value: false

        }

    }

});

 

defineRule("quarterlyMaintenance", {

    whenChanged: "service/quarterlyMaintenance",

    then: function () {

        var devices = ["wb-mwac221", "wb-mwac222", "wb-mwac223"];

        var valves = ["K1", "K2"];

 

        devices.forEach(function(device) {

            valves.forEach(function(valve) {

                var path = device + "/" + valve;

                if (dev[path] === false) {

                    dev[path] = true;

                    setTimeout(function() {

                        dev[path] = false;

                    }, 20000);

                }

            });

        });

    }

});

 

defineRule("scheduleQuarterlyMaintenance", {

    when: cron("0 2 1 1,4,7,10 *"),

    then: function () {

        dev["service/quarterlyMaintenance"] = true;

    }

});

Можно еще вот так, по мнению ChatGPT…

Этот скрипт определяет виртуальное устройство “service” с кнопкой “quarterlyMaintenance”. Когда кнопка нажата, скрипт перебирает все устройства и клапаны, закрывает их, если они открыты, и через 20 секунд открывает их снова.

Также определено правило “scheduleQuarterlyMaintenance”, которое автоматически нажимает кнопку “quarterlyMaintenance” в 2 часа утра первого числа января, апреля, июля и октября. Это обеспечивает квартальное обслуживание в указанное вами время. Пожалуйста, убедитесь, что время на вашем устройстве Wirenboard корректно.

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

Ну, в общем - да. Выглядит работающим.

ChatGPT скрипт написал?

Да, он владеет wb-rules ))
Я написал запрос/ТЗ в Bing (он использует ChatGPT в режиме чата). Указал топики управления кранами, указал в какое время ну просто обывательским языком описал что делать - и он смог. Да это все требует проверки. Но в общем прогресс на лицо )

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.