A DIY connected thermostat using a Raspberry and Azure public cloud.
DISCLAIMER: think about it before connecting anything to your boiler.
I have always been fond of controlling my home's temperature while away (and I really suggest you to get a Netatmo if you like the idea) - so, the day I got a Rasperry I started working on a smart (it's better to say "connected") thermostat for my family's house in the mountains.
The solution is made of 5 parts.
The cloud infrastructure is made of:
- an Azure Iot Hub (free tier, less than 8k daily messages);
- an Azure Function app (Consumption tier) with a bounded Application Insight;
- a Storage account (V2, static site enabled).
Code definition missing at the moment.
Code for the Raspberry. The program gets data from a DHT sensor and sends it to the Azure IoT hub, listens for any cloud-to-device message and controls the relay. It also manages setpoints, manual overrides and a weekly program. At the moment the diagram of the sensors connections is missing but I will add it in the future.
The Function app definition. It manages incoming messages from the device, sending some data to Application Insight for cheap reporting (or to a PowerBI dataset) and listens for the API calls from the web app.
Simple webapp to see the data from the sensor and to send commands to the device.
Rewrite of the previous app as a Blazor WASM - still WIP
.Net shared project - JSON objects definition.