No Description

FloKra 6beccad9e2 v0.3.1 4 years ago
bin 6beccad9e2 v0.3.1 4 years ago
examples 173b4c12df v0.1.3 6 years ago
libraries c8ef723bb2 ## 0.2.2 4 years ago
src 6beccad9e2 v0.3.1 4 years ago
.gitignore 1489c71249 add README.md, .gitignore 6 years ago
CHANGELOG.md 6beccad9e2 v0.3.1 4 years ago
ESP8266-WiFi-Thermostat.txt 173b4c12df v0.1.3 6 years ago
ESP8266-WiFi-Thermostat_old.txt 173b4c12df v0.1.3 6 years ago
HTTP-web-interface-and-API.md ad0cd017bd v0.2.0 6 years ago
Home Assistant integration NEW.txt 8260c5c877 * split "mode" to "mode" and "preset", changes in nearly all source files 4 years ago
Home Assistant integration.txt c8ef723bb2 ## 0.2.2 4 years ago
MQTT-commands.txt c8ef723bb2 ## 0.2.2 4 years ago
Pin-assignment.txt ad0cd017bd v0.2.0 6 years ago
README.md d7057e19cd updated README.md 4 years ago
custom LCD chars.txt 173b4c12df v0.1.3 6 years ago
domoticz-thermostat.txt e65002677b Grundfunktionen fertig, Webinterface, Konfiguration, Werte speichern, Domoticz-Anbindung weitgehend fertig, Unterstützung für PIR-Sensor fehlt noch 6 years ago

README.md

WiFiThermostat

ESP8266 based, WiFi connected set-point thermostat designed as replacement for electric room thermostats used for most domestic heating systems.

Features

  • current temperature/humidity measurement using DHT22 sensor with value smoothing
  • thermostat with configurable hysteresis and 3 modes with different set-point temperatures (normal, 2x reduction)
  • control unit with LCD and 3 pushbuttons
  • power unit with power supply and relais for heating control
  • telemetry via WiFi/MQTT (set temp, heating mode, heating on/off, PIR-sensor)
  • web interface for configuration and control
  • configuration and value changes also via MQTT and UART commands
  • PIR movement sensor for room surveillance can be attached, status is pushed via MQTT
  • initial configuration via WiFi AP mode with captive portal
  • non blocking WiFi and MQTT connection
  • built-in support for Home Assistant home automation server via MQTT, supports:
    • set heating target temperature
    • set heating mode
    • local or webIF changes sends updates to HASS
    • current temperature/humidity is reported
    • PIR sensor state changes (if connected) are reported
  • built-in 2-way support for Domoticz Home Automation controller over MQTT
    • set point and mode can be controlled from Domoticz
    • local changes sending updates to Domoticz
    • current temperature/humidity is reported to Domoticz
    • PIR sensor state changes (if connected) are pushed to Domoticz
    • designed to use Domoticz as the "intelligent" controller for schedules etc.
    • NOW NOT UNDER ACTIVE DEVELOPMENT ANY MORE as I switched to Home Assistant
  • value changes (set point and mode, both from local and remote) can be automatically saved to flash

Hardware

Control Unit

To be installed instead of normal room thermostat. Uses 3 wires directly connected with Power Unit (+5V, GND, HEATING).

consists of:

  • small wall mount case
  • 2x16 char LCD display
  • 3 buttons (plus, minus, mode)
  • DHT22 temperature/humidity sensor
  • ESP8266 MCU (Wemos D1 mini)
  • transistor for relay

Power Unit

To be installed near or inside the actual heating. Power supply must be connected to power (230V), heating relay (2 wires) connects to room thermostat terminals on the heating controller. Supports all 5-240V AC/DC (but requires extra relay to switch high loads such as an electric heating!).

consists of:

  • power supply module (5V/3W)
  • 5V close-circuit relay for heating control

Libraries

ESP8266 core for Arduino 2.4.0 beta2 (as 2.4 release has connection bugs)

  • ESP8266WiFi.h
  • WiFiClient.h
  • ESP8266WebServer.h
  • ESP8266mDNS.h
  • ESP8266HTTPUpdateServer.h
  • DNSServer.h
  • FS.h (SPIFFS)
  • Wire.h (I2C library)

https://github.com/esp8266/Arduino

ArduinoJson 5.13.0

from library manager

Adafruit DHT-sensor-library (DHT.h)

Used unmodified for reading the DHT22 sensor.

https://github.com/adafruit/DHT-sensor-library

Adafruit Sensor 1.0.2

Not really used, but has to be installed when using Adafruit DHT-sensor-library (even if I dont use the DHT_U.h version included in this lib, but gives compile error if not installed).

https://github.com/adafruit/Adafruit_Sensor

r-downing PersWiFiManager 3.0.1

AP with captive portal for initial (WiFi-) configuration. Used with modification - added #define WIFI_HTM_PROGMEM to PersWiFiManager.cpp (turns off SPIFFS usage and stores HTML page to PROGMEM)

https://github.com/r-downing/PersWiFiManager

knolleary PubSubClient 2.7

MQTT client for Arduino. Used with the following modified DEFINEs in PubSubClient.h:

  • MQTT_MAX_PACKET_SIZE: increased to 512, needed for receiving/parsing domoticz/out topic

https://github.com/knolleary/pubsubclient

https://pubsubclient.knolleary.net/

LiquidCrystal I2C (commit e3701fb, Mar 9 2017)

https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library

r89m Button + PushButton

Button handling library with callbacks on press, release, hold, hold-repeat. PushButton.h extends Button.h.

https://github.com/r89m/PushButton

https://github.com/r89m/Button

Bounce2

used by r89m Button/PushButton.

https://github.com/thomasfredericks/Bounce2