I've been working for some time now on this app. It is still in the works but it has been working pretty well in my home now for enough of a long time so I thought it was ready to share.
What this app can do:
- Manage one thermostat (one at a time)
- Manage the temperature in your room based on a secondary sensor or an array of sensors
- Set the desired temperature based on a virtual dimmer input
- Or work simply without a dimmer and still learn from your inputs
- Decision making using multiple algorithms themselves based on several math functions (linear and logarithmic mostly but it goes beyond that).
- Or Decision making based on simpler criteria set during settings
- Decisions making based on outside/inside humidity
- Power saving features
- Windows management (as switch capables devices so they can also work with fans).
- Windows opening level based on outside conditions
- Button management for differentiated conditions (like when you're going to bed and would like a higher or lower temperature in your room as when you're awake, or when you're working out...)
- Bed sensor management - works in conjunctions (or not) with button management - buttons taking precedence in case bed sensor is not reliable (I have not been able to find nor build a 100% reliable bed sensor so the button can come as a complement that compensate for my bed sensor unreliability, giving an overall complete satisfaction: The app knows when I'm up or sleeping...)
- Antifreeze alerts and safety management
- failed devices management: if your thermostat controls a furnace or an HVAC that you can plug to a power meter plug, then you can have the app double control that current consumption is consistent with needed mode (off, heating, cooling, etc.).
- Other consistency controls: the app will "deduce" that your thermostat is or is not responding well and try different strategies to have it refreshed, polled and resend commands if needed at regular intervals
- overall device polling to verify consistency even further
- Manage temperature and states of the thermostat depending on whether or not your doors are opened or closed
- motion management and alternate motion sensors for when doors are opened
- another array of contact sensors for windows and power saving management
- it will probe, analyse and define some of your devices (sensors, contacts, windows...) capabilities and adapt its behavior accordingly.
- It will, finally, make some coffee and poor it in a cup and bring it to you in the morning or when it notices you're tired...
WARNING: Many bugs are to be expected as I was not able to test all possible scenarios so much this app is complex. Please, do not hesitate to let me know, I usually respond and update the code accordingly quite quickly.