Build a smart thermostat using an Adafruit Feather HUZZAH ESP8266 board, a DHT22 temperature and humidity sensor and a 2.4 TFT touch panel.

The requirements are:

  • Show current temperature and humidity
  • Show current set point and heater status (on / off)
  • Weekly schedule, configurable using the TFT and remotely
  • Temporal set point override using the TFT and remotely
  • Automatic away mode (geofencing)
  • Show wifi status, schedule status, away status and current set point overrides
  • No dependencies on protocols or cloud services for IoT by third parties.

Looking for hackers with the skills:

Nothing? Add some keywords!

This project is part of:

Hack Week 17

Activity

  • about 6 years ago: sponz liked this project.
  • over 6 years ago: scabrero started this project.
  • over 6 years ago: mbrugger liked this project.
  • over 6 years ago: ilausuch liked this project.
  • over 6 years ago: jmoellers liked this project.
  • over 6 years ago: scabrero originated this project.

  • Comments

    • scabrero
      about 6 years ago by scabrero | Reply

      Video

      After a week of work this is how it looks like

      Done

      • Using Home Assistant hosted in a NAS box for geofencing and remote management using MQTT
      • Connects to WiFi on boot
      • Connects to MQTT broker and sends the status at regular intervals
      • Receive remote commands from MQTT
      • As the board does not have battery, gets time from NTP servers
      • DST rules
      • Hold modes: ** Hold until overrides schedule until a given time ** Hold permanent overrides the schedule forever (disable schedule)
      • Away mode
      • Home Assistant receive location from a GPS tracker installed in the mobile phone
      • Away status is set remotely by Home Assistant
      • Heater control loop, evaluate holds and away status to control the relay.
      • Heater min run time, to avoid switching the heater too fast
      • Touch UI
      • Status icons are bitmaps
      • Controls are drawn using the Adafruit GFX library primitives
      • Scheduler
      • Two modes, 5+2 and weekly schedule
      • Six intervals per day
      • Sensors
      • Read temperature and humidity

      Pending tasks

      • Cleanup the code, add licence and make it available
      • WiFi setup using WifiManager plugin
      • Show boot progress on display
      • Show errors on display
      • Show humidity on idle screen
      • Print a 3D case
      • Add more menu pages to configure settings
      • Handle reset button to format flash if file system gets corrupted

    • sponz
      about 6 years ago by sponz | Reply

      Hi,

      Great project! Do you have any git or repo to find the schematics and the code?

      Thanks!

    Similar Projects

    This project is one of its kind!