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 mad skills in:

Nothing? Add some keywords!

This project is part of:

Hack Week 17

Activity


Comments

  • scabrero
    over 1 year 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
    over 1 year 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!