Roughly a year ago I moved into my new apartment. One of the reasons I picked this apartment was age of the building. The construction was finished in 2015, which ensured pretty good thermal isolation for winters as well as small nice things like Ethernet ports in each room. However, there was one part of my apartment that was too new and too smart for me.
It is obviously a touchscreen of some sort, but there was zero indication as to what it controls. The landlord had no idea what this is. There are no buttons or labels on the thing, just a tiny yellow light to let you know it has the power.
↫ Nikita Lapkov
What follows is an investigation into what it is, how to get it working, and, of course, how to hack it and make it more useful.
That is probably the most egregious hyperbole in the article. I can point to much worse UX designs.
(Google says there are “About 8,990,000 results” for “worst ux designs”)
Anyway, what surprised me is that the device was actually still working, and especially after about 10 years. Most IoT devices, even premium ones are abandoned by their manufacturer. Even if they are still in business, dropping support for “older versions” is a common thing.
Case in point, Google “OnHub” routers:
https://support.google.com/googlenest/answer/11257354?hl=en
They will continue to “work”, but there won’t be an app to control it. And of course, there is no local web ui either.
sukru,
This is an industry-wide problem. And even those of us who know about it are left with few options Frankly 100% of them will be discontinued if supporting them only costs money and doesn’t create continuing revenue. Since I’ve been bitten by it before, I deliberately tried being smart about it by buying a smart thermostat with a local API, After several years of working fine, the service stopped just a few months ago. Low and behind, the god damn thermostat’s local API stops functioning after a couple days of the service going dark. These commercial IOT smart products are almost all destined to become e-waste because they are software bricked. As much as I absolutely despise being complicit as a consumer, there’s just no way to win.
I had enough of this crap, and since I couldn’t find a finished product that was open source I decided to bite the bullet and build my own. I have all the components working at this point.
First time I really build anything with an embedded touch screen. I thought the SPI display would be slow, and most of the example code I’ve seen don’t perform great. But after I wrote my own “diff” driver that only sends changes, I’m quite pleased.
I hacked together a clock with moving blocks demo and it’s smooth.
I’m planning on having it stream security cameras and maybe other useful widgets.
Believe it or not the Boche BME680 temperature sensor was the most complicated component. Turns out they expect you to use their proprietary libraries for some functionality, which I didn’t know. Using bits and pieces and probing here and there I managed to write a working driver, but I wouldn’t recommend this component to others.
I still need to build a case, but here’s a photo of the prototype in the works.
https://i.postimg.cc/NF83D4LH/prototype.jpg
That’s…really annoying about the BME sensor. Really terrible. Wouldn’t be surprised if you were to try and reverse engineer more to do an F/OSS library for it you’d find some other folks wanting to pitch in. Post on Adafruit/SparkFun and the like, I’m sure you’d get some hits.
Sadly, it’ll probably mean decompiling and going through the proprietary binary drivers, I’m sure there’s some magic numbers and compensation and magic “calibrate this way” and such in there.
Drizzt321,
Maybe I could dump the code somewhere.
Yeah, tons of “magic” numbers. not for the faint of heart. I got it working except for air quality sensor, which is supposed to measure particles, which I probably won’t get working.
The following temp sensor is probably better for most people since since it’s both well documented and strait forward.
https://www.ti.com/product/HDC1080
Well…. My heaters are working by flow of warm water through them. They are controlled by a thermostat. And my question to all who want everything connected to the internet are simply why? Why is it so hard and such a bad thing to drag ones lazy ass to the radiator and turn the knob? Like… That takes, like what? Two seconds, top…
Why use all that money for something that are supposed to work on it’s own, without any user interaction and are basically just mechanical things, that does the trick at least 40 years before it will breake down.
brostenen,
Actually, given how expensive it is to heat rooms, any saving you get by doing it more intelligently can add up quick.
There are two functions I’d really hate to give up going to a basic mechanical model:
1. Scheduling. I set the heat to go way down at night and come on in the morning. This way the heat profile is optimized for when you actually need it. If your heating system has enough zones you can set this per zone and in my case the scheduling function was making 28 adjustments per weak, and it was trivial to override.
This may be a “me” problem, but where we are the same boiler is responsible for both the heat and shower and it can’t keep up with both simultaneously. You need to run the heat for some 20 minutes before getting into the shower, otherwise you’ll have a cold shower. This is not a problem with scheduled heat, but quite a nuance otherwise if you normally take a shower when you get up – you’d have to turn on the heat after you get out of the shower.
2. Remote control. Even if you want to chalk this up to laziness, a mechanical thermostat can’t offer remote control when you aren’t physically home to program/set the thermostat, it’s so nice to do so from your phone coming home from store/work/vacation and whatnot. There’s even radius functions than can start the heat when you’re coming home and turn it off when you leave.
I’ve lived without smart thermostats too. Been there, done that and honestly having experienced the benefits of a smart thermostat I really do find it better. Of course my gripe with them isn’t about the functionality, but the fact that so many of them are engineered to be vendor locked to servers we can’t control. Unfortunately from google brands to home depot brands to no-name brands, they’re all doing it now, F*** all the vendors who do this, they are ruining IOT.
Good read. Fun stuff. Anyway, reason why I dont want everything in my home onto any network. Also, I am quite happy to manually adjust the temperature on my heaters. They are basically just temperature reguolators, that regulate the flow of warm water.