Как и обещал пример.
1) Создаем новый класс (в моем случае test)
2) Создаем новый метод (у меня temp_ch)
- test2.jpg (57.8 КБ) 8591 просмотр
Код метода такой:
Код: Выделить всё
if ($this->getProperty('current_temp')>($this->getProperty('need_temp')+1)) {
say("Включаю охлаждение");
}
if ($this->getProperty('current_temp')<($this->getProperty('need_temp')-1)) {
say("Включаю обогрев");
}
say("Текущая температура ".$this->getProperty('current_temp')." Нужная вам температура ".$this->getProperty('need_temp').".");
3) Создаем новые свойства (назвал current_temp - текущая температура, need_temp - нужная температура). При создании свойств не забываем выбрать исполняемый метод
- test3.jpg (41.69 КБ) 8591 просмотр
- test4.jpg (42.28 КБ) 8591 просмотр
4) Создаём объект (к примеру thermostat1).
5) Создаём элементы в меню типа слайдер, привязываем к thermostat1.current_temp и thermostat1.need_temp соответственно.
- test5.jpg (59.18 КБ) 8591 просмотр
6) Открываем главное меню, двигаем слайдеры, смотрим что происходит.
- test6.jpg (81.46 КБ) 8591 просмотр
Теперь можете создавать несколько объектов - для нескольких термостатов.
Это чисто тестовый пример, чтобы понять, как работает код. В реальном коде добавляете условия, нужные вам, и вместо
Пишете запуск методов на включение/выключение ваших реле. current_temp, понятное дело, должен обновляться с датчика, на него слайдера не надо.
В случае с модулем нужно сделать все тоже самое, только не выбирать метод, а плюсом (при настройке модуля) указать свойство с текущей температурой, с нужной температурой, и ссылкой на запускаемый метод. Более того каждое свойство/метод выставляется в два этапа - выбрать объект, выбрать свойство/метод у объекта. Метод кстати так же должен быть наполнен похожим кодом, дабы запускать различные реле. Как можно заметить - выбрать метод при изменении свойств - это гораздо быстрее и проще, чем настраивать записи в модуле. Раза в 3 меньше манипуляций.