Перейти к содержанию

Термостат

Обновлено: 7 Dec 2024, 16:52:58

Описание

Управление состоянием GPIO (Например реле) по температуре, влажности, освещенности, уровню АЦП или любой другой метрике.
Поддерживается до 20 термостатов.


Для входа в опцию в устройстве выбираем Thermostat

1

Настройка термостата

2

  1. Select thermostat
    Выбор номера термостата доступен, если в настройках указано количество термостатов больше одного.
    Рекомендация: Устанавливать минимально необходимое количество термостатов для экономии ресурсов.

  2. Поле GPIO
    Указывается номер GPIO для управления:

  3. Локальный GPIO: должен быть настроен на выход через опцию GPIO.
  4. GPIO на расширителях портов: также могут иметь собственные настройки.
  5. Удаленный GPIO: использование крайне не рекомендуется.

  6. Enable invert mode
    Включить режим для управления охлаждением или понижением влажности.

  7. Выбор сенсора
    Укажите датчик/метрику, который будет управлять термостатом (локальный, удаленный D2D или VSENS).
    В поле Num задается номер датчика.

  8. Настройки значений

  9. Поле setup: значение температуры или другой метрики.
  10. Поле Hysteresis: гистерезис.
    Значения могут быть указаны с точностью до 3 знаков после запятой.

  11. Обработка ошибок
    При ошибках чтения датчика после 3 попыток термостат выключает GPIO.
    На странице термостата отображается ошибка.

Коды ошибок

  • 4: датчик не существует или данные не получены.
  • 5: 32-битное значение (не поддерживается).
  • 100+: ошибка датчика.

Работа с планировщиком заданий

Работа термостата предусмотрена в новом планировщике заданий (cron).

Пример настройки

week:1,2,3,4,5
set:20
7:00-16:00
set:25
16:01-22:00

week:6,7
set:25
7:00-22:00

Примечания

  • Значения температуры вводятся без запятой.
  • Если в настройках термостата установлено значение с 2 знаками, то вводите значение, умноженное на 100.

Работа в ModBus Slave

  • Поддерживается чтение и запись настроек через Holding register.
  • На каждый термостат выделено 3 регистра: установка, гистерезис, ID датчика.
  • Данные хранятся в целых числах (умноженные на 10 или 100 в зависимости от настроек).

Работа в Interpreter

  • Чтение значения термостата:

    thermsetX  # X — номер термостата (начиная с 1)
    

  • Установка температуры:

    thermoset(1,251)  # Устанавливает 25.1°C для 1-го термостата
    

  • Пример с условием:

    if(hour>=6&&hour<21)
      thermoset(1,251)
    else
      thermoset(1,200)
    endif
    


Умное управление GPIO

3

Режимы работы:

  1. Событийный режим:
  2. Состояние GPIO изменяется только при событии.
  3. Поддерживается отправка состояния в MQTT и MajorDoMo.
  4. Ручное изменение GPIO нарушает логику работы термостата.

  5. Принудительный режим:

  6. Каждые 10 секунд термостат включает заданный уровень на GPIO.
  7. Внешнее управление не нарушает логику работы.

Примечание: Не рекомендуется использовать remap gpio и vgpio.


Управление через SMS, Telnet, Telegram, ICQ

  • Установка параметров:
    settermo X Y Z  # X — номер термостата, Y — установка, Z — гистерезис
    
  • Чтение параметров:
    gettermo X  # X — номер термостата
    
  • Включение/выключение термостата:
    ontermo X
    offtermo X
    

Управление через MQTT

  • Включение/выключение:
    email/hostname/[set/]thermo_enX
    
  • Установка температуры:
    email/hostname/[set/]thermsetX
    
  • Установка гистерезиса:
    email/hostname/[set/]thermhsX
    

Управление через API Options

Описание настройки доступно в документации опции.


Управление как GPIO

5

Для контроля включения/выключения термостата можно использовать виртуальный GPIO.
Пример: Если начальный GPIO задан как 200, то:
- 1-й термостат = 200 GPIO
- 2-й термостат = 201 GPIO
и так далее.