Датчики температуры в Умном доме на OpenHAB: DHT22 и DS18B20

Датчики температуры в OpenHAB — основа автоматизации климата и комфорта. DHT22 (температура + влажность) и DS18B20 (точный цифровой термометр) подключаются к ESP8266 с ESPEasy, передают данные по MQTT. Вывод в HABPanel: температура/влажность с цветовой индикацией (красный >30°C, синий <15°C). Правила Rules: включение реле при превышении порога влажности (вентилятор) или температуры (кондиционер/обогрев). Настройка things/items/rules/sitemap. Простая интеграция, точность, надёжность. Проект для умного дома: проветривание, отопление, кондиционирование по данным датчиков.

Датчики температуры DHT22 DS18B20 OpenHAB ESP8266 MQTT правила

Зачем нужны датчики температуры и влажности в OpenHAB

Датчики DHT22 и DS18B20 — основа климат-контроля. DHT22 измеряет температуру (-40…+80°C) и влажность (0–99.9%). DS18B20 — цифровой, точный, диапазон -55…+125°C, до 10 датчиков на один провод. Данные передаются в OpenHAB по MQTT. В HABPanel отображаются с цветовой индикацией: красный >30°C, синий <15°C, оранжевый средние значения. Правила Rules включают реле (вентилятор при высокой влажности, обогрев/кондиционер при отклонении температуры). Автоматизация: проветривание, поддержание комфортных 22–24°C, экономия энергии. Надёжность, точность, простая настройка.

Компоненты системы

  • ESP8266 NodeMCU/Wemos D1 Mini с ESPEasy
  • DHT22 (температура + влажность)
  • DS18B20 (водонепроницаемый или обычный)
  • Реле модуль (1–2 канала)
  • MQTT-брокер (Mosquitto)
  • Блок питания 5В

Подключение датчиков к ESP8266

DHT22: VCC 5В, GND, Data → GPIO13 (pull-up 4.7–10 кОм). DS18B20: VCC 5В, GND, Data → GPIO14 (pull-up 4.7 кОм). До 10 DS18B20 на один провод. ESPEasy: Dallas DS18B20 device, DHT22 device. Interval 30–60 сек. MQTT controller для OpenHAB.

Настройка ESPEasy

Dallas DS18B20 на GPIO. DHT22 на GPIO. Interval 30 сек. MQTT: IP брокера, топики temperature/humidity. Status топик для ONLINE/OFFLINE.

Things в OpenHAB

Generic MQTT thing. Channels: temperature Number (DHT22/DS18B20), humidity Number (DHT22).

Items для датчиков

Number Temp «Температура [%.1f °C]» {channel=»…»}. Number Humidity «Влажность [%.0f %%]» {channel=»…»}. Color индикация: red >30, blue <15, orange средние.

Sitemap и HABPanel

Text Temp color red >30 blue <15. Text Humidity color red >60 blue <50. Frame "Климат" с датчиками.

Rules для автоматизации

rule "Вентилятор по влажности"
when
  Item Humidity changed
then
  if (Humidity.state > 70) {
    Fan_Relay.sendCommand(ON)
  } else if (Humidity.state < 50) {
    Fan_Relay.sendCommand(OFF)
  }
end

rule "Обогрев/кондиционер по температуре"
when
  Item Temp changed
then
  if (Temp.state > 28) {
    AC_Relay.sendCommand(ON)
  } else if (Temp.state < 20) {
    Heat_Relay.sendCommand(ON)
  } else {
    AC_Relay.sendCommand(OFF)
    Heat_Relay.sendCommand(OFF)
  }
end

Расширение системы

Группы датчиков по комнатам. Логи температуры/влажности (persistence). Графики Grafana. Уведомления "Высокая влажность!". Интеграция с кондиционером, обогревателем. Авто-проветривание по CO2.

Заключение

Датчики DHT22/DS18B20 в OpenHAB — точный климат-контроль. ESP8266 MQTT, правила Rules, цветовая индикация. Комфорт, экономия энергии, автоматизация.

FAQ — Датчики температуры OpenHAB

Температура неточная?

Калибровка offset в ESPEasy. Тестируйте в кипятке/морозилке. DS18B20 ±0.5°C, DHT22 ±0.5°C.

Датчики не читаются?

Pull-up 4.7–10 кОм на Data. Interval 30–60 сек. MQTT топики правильные. Логи ESPEasy.

Реле не включается?

Relay item Switch. MQTT binding работает. GPIO в ESPEasy настроен. Логи OpenHAB.

Цвета не меняются?

labelcolor=["30"="red","15"="blue"] в items. Проверьте значение в Paper UI.

Несколько DS18B20?

Один провод, разные адреса. Dallas device в ESPEasy, отдельные channels.

Уведомление "Высокая температура"?

Rule: Temp >28 → sendNotification. Добавьте push/email/SMS.

HABPanel красиво?

Template с иконками, цветом, графиками. Скачать виджеты сообщества.