Early-2019 note: Still alive! Living in an apartment so not much home hacking to do. I shall return.
A small project to monitor and control my HVAC system. Designed a PCB... need to get it critiqued!
Hardware is a WeMos D1 Mini, a few DS18B20 digital thermometers, and 4 relays. I started out with an ESP-01 but, as always, I wanted more! Check out the board design here.
sudo npm install -g phant
sudo git clone https://github.com/stoto/phant.git
to download fixed files (thanks stoto!)gksudo pcmanfm
to open file manager as root, allowing for drag and drop./phant/lib
into /usr/lib/node_modules/phant/lib
. If this folder doesn't exist, check /usr/local/lib/node_modules/phant/lib
.phant
.Title | Include | Link |
---|---|---|
Time | Timelib.h | https://github.com/PaulStoffregen/Time |
SimpleTimer | SimpleTimer.h | https://github.com/jfturcot/SimpleTimer |
blynk-library | BlynkSimpleEsp8266.h, WidgetRTC.h, TimeLib.h | https://github.com/blynkkk/blynk-library |
OneWire | OneWire.h | https://github.com/PaulStoffregen/OneWire |
Arduino-Temperature-Control-Library | DallasTemperature.h | https://github.com/milesburton/Arduino-Temperature-Control-Library |
ESP8266 board mgr | N/A | json & instructions |
Many thanks to all the library authors. I know nothing. They do.
HW Pin | GPIO† | Purpose |
---|---|---|
A0 | A0 | Available (todo: current transformer). |
D0 | 16 | Fan control relay (green wire††). |
D1 | 5 | Cooling control relay (yellow wire††). |
D2 | 4 | Heating control relay (white wire††). |
D3 | 0 | T-stat control bypass relay.††† |
D4 | 2 | Available.††† |
D5 | 14 | HVAC fan-only run state. |
D6 | 12 | DS18B20 array. 4.7KΩ pullup. |
D7 | 13 | HVAC cooling/heating motor run state. 10KΩ pullup. Future: Split these two states. |
D8 | 15 | Available.††† |
† ESP8266 GPIO: The pin number used in the IDE. †† Wire colors correspond to standard HVAC thermostat 4-wire system. ††† About ESP GPIOs and boot modes.
From friend
:
Cool, man.
From kids
:
What is that?
From wife
:
That's nice, honey.
From me
:
It's great to have historical data on outside temperatures and see how they impact the inside, as well as notifications if the return air/supply air delta temperature drops too low or is trending that way. I can at least get a jump on possible refrigerant loss, compressor overheat, or other service issue. I can also set any room's temperature sensor to be a virtual thermostat... from my phone. ZONES! Go team.