Awhile back I went on a vacation and was concerned that the heat might go out at my house and my pipes would freeze. My dad lent me a device that was fairly expensive that I could hook up to my land line which would call me in the event water was detected. It was a bit of a pain to setup and was unable to inform me of a power outage. Since then I've learned to program microcontrollers fairly well. That, coupled with the release of the NodeMCU 1.0 and a desire to create my own printed circuit board prompted me to create the Tricorder, a device that makes integrating the NodeMCU 1.0 with DHT sensor easy. It also breaks out every pin of the NodeMCU and has a small proto area for attaching a variety of other sensors and/or actuators.
Here you can see a NodeMCU 1.0 mounted on the Tricorder PCB in action, powered by a standard cell phone charger and cable. The "brain" of the contraption is an ESP8266, which I programmed using the Arduino IDE. To set this up, you must navigate to preferences and add the following URL in the Additional Boards Manager URLs box: http://arduino.esp8266.com/staging/package_esp8266com_index.json. Then, go to Toos >> Board >> Board Manager and install the esp8266 boards. I programmed mine to log into my WiFi network and update a channel that I setup on Ubidots every five minutes. From within Ubidots I am able to set up events that trigger emails or text messages that are sent whenever certain conditions are met (e.g.: my crawl space is too cold and the pipes are about to freeze).