Термостат (updated: 18 Apr 2018, 10:19:53)

Управление состоянием GPIO по температуре, влажности, освещенности или уровня АЦП.

Описание опций настройки: Range:X-Y , где Y - порог отключения GPIO. X - порог включения. При установленной опции "Параметры как гистерезис" требуется указывать температуру поддержания и гистерезис. Так же необходимо выбрать датчик и GPIO. 

При установленном модуле "планировщик" можно включать/выключать термостат по времени.

В дополнительных настройках доступна опция 10х для сравнения чисел с десятыми долями, но умноженными на 10. Т.е. в этом случае например температуру 25.3 необходимо вводить как 253. Опция относится только к температурным датчикам.


Проект умного модуля на базе ESP8266 и ESP32 поддерживает опцию термостата. Эту опцию для её появления в прошивке необходимо включить в конструкторе прошивки. Поддерживается 3 раздельных профиля термостата, но в настройках опции их количество можно увеличить. Хотя опция и называется термостат, но поддерживает все датчики, включая влажность, освещенность, подключенные и включенные в прошивке.

В дополнительных опциях конструктора включена опция "Параметры как гистерезис" для настройки срабатывания термостата по гистерезису, если требуется простое отображение диапазона , то опцию требуется выключить.

 Простейшая настройка термостата

В настройках необходимо задать номер устанавливаемого термостата, температуру включения и температуру выключения термостата , указать датчик и GPIO на котором будет находится исполнительное устройство. На примере скриншота температура включения установлена 30 градусов, выключения - 32 по датчику DHT22 (температура). Это значит, что при температуре ниже 30 градусов включится указанный GPIO (нагрев), а при 32 и выше он выключится.

Термостат включается нажатием кнопки OFF, состояние кнопки изменится в положение ON.

Если вам необходимо наоборот выключать, а не включать исполняющее устройство, то достаточно включить invert output в настройках GPIO. Либо использовать электрическую схему инвертирования сигнала.

Ниже пример настройки для установки диапазона температуры 38-40 градусов с параметром х10 для более точной установки температуры. Пример показан без включенной установки "Параметры как гистерезис":

Включенная опция "Параметры как гистерезис" позволяет указывать простое значение температуры и параметр гистерезиса.

Управление термостатом по времени. Включение/выключение

Для управления термостатом по времени необходимо установить в прошивке планировщик заданий (Scheduler).

Для включения термостата по времени необходимо выбрать  пункт termostat в поле mode. Указать время, дни недели. В GPIO NUM указываем номер термостата, а в state ставим 1 для того чтобы включить термостат. Для выключения термостата все аналогично, но в поле state ставим 0.

Необходимо позаботится о установке правильного состояния GPIO при выключении термостата- для этого через этот же планировщик установите в другом задании требуемое состояние GPIO.

Если на установленный момент времени устройство не было включено, то выключение или включение термостата не произойдет. Если это критично, то воспользуйтесь опцией логического модуля, который имеет более гибкий функционал.


Управление термостатом по времени. Установка температуры

Для установки другой температуры по времени необходимо выбрать пункт termo set согласно номеру требуемого термостата, остальные настройки аналогичны предыдущему абзацу. Устанавливаем в GPIO NUM границу включения, а в State - границу выключения термостата. Добавляем аналогично другую запись на другом профиле планировщика заданий для установки другой температуры.

 

Функция Умное управление GPIO

Функция находится в дополнительных настройках (в шестеренке) в конструкторе прошивки.

В этом режиме подача команды на изменение состояния GPIO происходит только при событии, поддерживается немедленная отправка состояния на MQTT. Ручное изменение GPIO нарушает логику работы термостата.

БЕЗ включенной опции каждые 10 секунд (по опросу датчиков) термостат принудительно включает требуемый уровень на GPIO, внешнее управление не нарушает логику работы.  Крайне не рекомендуется использовать remap gpio и vgpio !

До введения данной опции по умолчанию было умное управление GPIO.


Управление термостатом через SMS GSM модули и Telegram(ESP32)

settermo X Y Z - Установка параметров указанного термостата. Где X - номер термостата. Y и Z  -  нижняя и верхняя граница.

gettermo X - Чтение параметров указанного термостата. Где X - номер термостата.

ontermo X - включение термостата X

offtermo X - выключение термостата X

Управление термостатом через MQTT

При установленной опции термостата в mqtt будут видны топики, которые доступны как на чтение, так и на запись:

email/hostname/thermo_enX - Включение/выключение термостата, отправляем 1 или 0 соответственно. X - номер термостата.

email/hostname/thermo_setX - Установка значения срабатывания.X - номер термостата. Гистерезис остается тот же.

Не забываем, что при установленной опции "Отдельный топик на запись" для записи топик будет содержать путь set (Например email/hostname/set/thermo_enX)

Управление get командами

Ссылку управления термостатами можно подсмотреть при нажатии SET в веб в настройках термостата

IP/configtermo?rmin0=11&rmax0=22&gpio0=1&st=1 - установить температуру 

IP/configtermo?trn=2&ts=1 - вкл термостат

IP/configtermo?trn=2&ts=1 - выкл термостат