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