Управление локальным термостатом MegaD через iH
-
В "основной" статье о MegaD-2561 описан функционал изменения значения "локального" термостата MegaD внешним HTTP-запросом без перезагрузки контроллера и записи этого значения в энергонезависимую память.
Те кто используют функцию "локального" термостата хотят иметь возможность изменения уставки из веб-интерфейса iH. Чтобы это реализовать нужно на мнемосхеме создать кнопку (button), при нажатии на которую будет срабатывать заранее созданный сценарий с входными параметрами, прописанными в поле "Команда/Дополнительный параметр" кнопки.
Для кнопки "UP" дополнительные параметры могут выглядеть так - {"ip":"192.168.11.11","act":"up"}, а для кнопки "DOWN" так - {"ip":"192.168.11.11","act":"down"}. В качестве примера привожу скриншот настройки параметров кнопки из PM iH:Код сценария следующий:
script({ //Параметры управления unit: "megad1", port: 24, temp: 20, max: 50, min: 10, step: 1, start(param) { const obj = JSON.parse(param); //Формирование команд управления if(obj.ip == "192.168.11.11") { if(obj.act == "up") { if(this.temp < this.max) this.temp = this.temp + this.step; else this.temp = this.max; } if(obj.act == "down") { if(this.temp > this.min) this.temp = this.temp - this.step; else this.temp = this.min; } } //Отправка команды плагину HTTP this.SendNewMiscToMegaD(); }, SendNewMiscToMegaD() { this.pluginCommand({unit: this.unit, command: "/sec/?pt=" +this.port+ "&misc=" +this.temp}); } });
В качестве переменных сценария есть:
port - номер порта MegaD, на котором активирован функционал "удаленного" термостата;
temp - это первоначальная уставка, от которой будут работать созданные кнопки;
max и min - максимальное и минимальное значение уставки термостата;
step - шаг изменения значения уставки.В статье приведен простейший сценарий для управления одним термостатом на одном контроллере MegaD-2561 с помощью кнопок из веб-интерфейса iH. Изменением IP-адреса и введением нового дополнительного параметра кнопки "port" можно сделать универсальный сценарий, с помощью которого можно будет управлять несколькими термостатами как на одном контроллере так и на нескольких.