Cloudless thermostats - more secure and private

Topics (not sure which fora)
when not sure where to post, post here and mods will move it to right forum.
Post Reply
blauwebuis
Posts: 153
Joined: Wednesday 21 December 2016 10:11
Target OS: Raspberry Pi
Domoticz version: current
Contact:

Cloudless thermostats - more secure and private

Post by blauwebuis » Friday 23 December 2016 14:26

There are a lot of good reasons to want a thermostat that doesn't connect to the cloud.

- Money. You may not want to pay monthly subscription fees.
- Security. Already the Nest was been offline multiple times, leaving people cold. Thermostat ransomware has also become a real thing.
- Privacy. Data about your energy use could be used against your interests by companies, governments, and criminals.

Finding smart thermostats that also deal with this reality in a smart way are very rare. Almost all smart thermostats (Nest, Ecobee, Icy, Honeywell, etc) only work through the cloud, and can't also be connected to via the local network.

Here I want to list some exceptions and hacks that I have found. If you know of others, please do share.


WIFI THERMOSTATS THAT CAN BE ACCESSED ON THE LOCAL NETWORK
These are thermostats with a built-in webserver that can you can connect to over the LAN:

1. Network Thermostat
This is a really good but really expensive (500 dollar) professional thermostat brand, mainly used in big corporate offices. It comes both in a wifi and a ethernet variety.
http://www.networkthermostat.com/thermostat/up32h-ip
http://www.smarthomehub.net/forums/disc ... cept-looks

2. Radio Thermostat
This company has made a number of thermostats that are interesting and affordable.
- Radio Thermostat CT-30. This was a popular device. It has wifi and z-wave support via modules you can plug into the side. It's seems to be the same device as the Filtrete 3M-50, which has the wifi module pre-installed. Be careful though: two versions of that wifi module exist. One works well (RTMV-01), one doesn't (RTWG-01). Someone also made a nice android app to control it locally.
https://www.amazon.com/gp/product/B004YZFU1Q
http://www.radiothermostat.com/filtrete/products/3M-50/
https://play.google.com/store/apps/deta ... stat&hl=en

- Radio Thermostat CT-50. Very similar to the others. The difference between all three is explained in this review:
http://topwifithermostat.info/review-of ... hermostat/

- Radio Thermostat CT-80 is one of the best ones on the market right now, and is even mentioned in some top ten lists for 2016. This looks like its the best option.
http://www.toptenreviews.com/home/smart ... at-review/

I read that Radio Thermostat may be losing sight of the DIY target audience, not sharing the API details anymore.
https://www.amazon.com/Homewerks-Thermo ... ee_all_btm
It seems like the forum is not gone, but has just moved. For example, here is one post with a PDF about the API in 2014:
https://radiothermostat.desk.com/custom ... -wifi-api-

3. HestiaPI & HestiaPi Touch
This is an open source thermostat based on the Raspberry Pi, sold as a complete device for 100 dollars. It's not as smart as the others yet, and working together with other open source smart home creations like Domoticz or openhab doesn't seem be its focus. This is fast changing though: they are working on a new version, the HestiaPi Touch, which has a touchscreen and has OpenHAB at its core.
http://www.hestiapi.com
http://www.hestiapi.com/content/hestia-touch-preview



Z-WAVE THERMOSTATS
This has not been my focus, so I don't know if these thermostats can work without the cloud. If someone does know good options here, please do share. Perhaps this is useful:
http://buildyoursmarthome.co/reviews/be ... hermostat/



HACKS AND OTHER WORK AROUNDS
You can use Domoticz to make a dumb thermostat smarter.

1. Paralel and serial overrides
The idea here is that you let your thermostat do its thing, but you also let Domoticz circumvent it safely:
- Heating. By placing a controllable relay paralel to the thermostat, you can let DOmoticz manually connect the wires for the heater together, and thus effectively override the thermostat to temporarily make it warmer. For safety reasons you should use a timed relay that will at maximum connect for 10 minutes or so, before needing another pulse from the Domoticz server. This prevents overheating in case your Domoticz server suddenly shuts down and the relay is still in the on position. The relay itself should of course be normally open when no power is applied. You should also make sure nothing bad happens if the temperature sensor goes faulty.
- Cooling. By placing another relay on the heater wire in serial, so somewhere along the circuit, you can always break the connection to the heater, effectively removing the thermostat from play. This is useful for shutting of heating completely, for example when you are away from home. A geofencing application can be used to trigger this.

Here is an example of a very cheap 433mhz kit with two relays.
https://nl.aliexpress.com/item/433-92M- ... 80651.html
Understanding timed relays: http://www.macromatic.com/blog/relays/u ... -functions

2. Geofencing based on passive listening
A lot of smart thermostats, including the CT-80, offer geofencing services. This means that if you leave home, the thermostat recognizes this, and turns the heating off automatically. However, the apps for this often use cloud based location services, which means that you are most likely sharing your location with Google/Apple and possibly with the thermostat's creator.
There is a way around this: make sure to use an app that doesn't use cloud based location services to figure out your phone's location. Instead, let your phone passively listen for Wifi or Cell Towers that are 'visible' when you are home. When it can hear those, it means it's (close to) home. It's less precise, but respects privacy and (mostly in the case of Cell Tower recognition) preserves battery.

One app that could be used is Tasker. I've also done a feature request for this in the Domoticz app.
https://tasker.dinglisch.net/userguide/en/loctears.html
viewtopic.php?f=37&t=8884&p=110134#p110134


If you know of other devices or tricks that support cloudless heating, please add them below.


Other places where this issue has been discussed
https://community.openhab.org/t/thermos ... re/1896/10
http://tombuildsstuff.blogspot.com/2012 ... cloud.html
http://cocoontech.com/forums/topic/2240 ... er-online/
http://forum.smarthome.com/topic.asp?TOPIC_ID=18312

User avatar
beckdac
Posts: 3
Joined: Thursday 17 December 2015 2:29
Target OS: Raspberry Pi
Domoticz version:
Location: Seattle, Earth
Contact:

Re: Cloudless thermostats - more secure and private

Post by beckdac » Thursday 12 January 2017 4:46

About geofencing with the Radio Thermostat models (I have a CT80)... I use a script from here: https://www.chopperrob.nl/domoticz/5-re ... o-domoticz

It runs with via a crontab periodically to check for our cell phones (note, they are configured to have the same IP address handed out every time by the DHCP server). The domoticz update triggers a node-RED glue workflow to handle the temperature control.

Code: Select all

[{"id":"f6ebd33f.09143","type":"mqtt-broker","broker":"mqtt.lan","port":"1883","clientid":""},{"id":"eae1bae6.151e48","type":"mqtt in","name":"Domoticz Presence","topic":"domoticz/out","broker":"f6ebd33f.09143","x":186,"y":139,"z":"35fb70d6.ca049","wires":[["818747fc.7e78b8"]]},{"id":"818747fc.7e78b8","type":"function","name":"Presence monitor","func":"var payloadJson = JSON.parse(msg.payload);\nif (payloadJson.name == \"Someone Home\") {\n    var temp;\n    if (payloadJson.nvalue === 0)\n        temp = 61;\n    else\n        temp = 66;\n    msg.payload = '{\"tmode\":1,\"t_heat\":' + temp + ',\"hold\":1}';\n    node.warn(msg.payload)\n    return [ msg, null ];\n}\nreturn [ null, msg];","outputs":"2","valid":true,"x":304,"y":266,"z":"35fb70d6.ca049","wires":[["6462e275.9b9d1c"],[]]},{"id":"6462e275.9b9d1c","type":"http request","name":"set thermostat","method":"POST","ret":"obj","url":"http://thermostat.lan/tstat","x":508,"y":206,"z":"35fb70d6.ca049","wires":[[]]}]
crontab entry:

Code: Select all

# m h  dom mon dow   command
*/10 * * * *  /home/pi/domoticz/scripts/check_device_online.py 192.168.1.80 29 10 120
*/10 * * * *  /home/pi/domoticz/scripts/check_device_online.py 192.168.1.81 30 10 900

mphilipp
Posts: 3
Joined: Thursday 29 December 2016 16:58
Target OS: Raspberry Pi
Domoticz version:
Location: Gorinchem, Netherlands
Contact:

Re: Cloudless thermostats - more secure and private

Post by mphilipp » Thursday 12 January 2017 16:55

Nice writeup!

What I'm wondering is: what about OpenTherm? I'm about to upgrade my 20-year old heating installation with a new one, which is an OpenTherm compatible installation. With it comes a Remeha Isense thermostat, which isn't a 'smart thermostat', but it allows programming and speaks OpenTherm. If you have the OpenTherm GateWay connected to your Domoticz server, you can use Domoticz to change (and read obviously) the temperature. The thermostat regards this as a temporary change of the normal program and will revert back to the program when the next programmed step is due. So it will never stay on a higher temperature.

An article about how to do that can be found here.

skybehind
Posts: 19
Joined: Monday 04 April 2016 22:00
Target OS: Raspberry Pi
Domoticz version:
Contact:

Re: Cloudless thermostats - more secure and private

Post by skybehind » Saturday 14 January 2017 6:39

I have a CT100 thermostat. It's touchscreen and z wave, but not programmable. This is exactly what I wanted though, because all of the programming and "smarts" come from Domoticz. It doesn't require the cloud, and it can be powered by battery or wire (in which case, the battery acts as a battery backup).

Post Reply

Who is online

Users browsing this forum: jvdz, Thomasdc and 11 guests