IoT Unravelled Part 1: It's a Mess but Then There's Home Assistant
troyhunt.com
troyhunt.com
I really like its scripting feature. It allows me to, for example, dim the lights between 11 and midnight if tomorrow's a weekday, giving me a visual cue that it's time to go to bed. There's also some smart plug that automatically boils me some water when I wake up in the morning, providing me with coffee about 2 min earlier in the morning. I also have an NFC tag next to my door. If I hover my phone over it when I leave the house, it shuts off my TV and any lights that are turned on.
That being said, it's definitely still raw. I use a fairly basic amount of integrations, but I still have to fix something every few versions, and if I don't touch the configuration for a couple of months, a fair amount of things will either break or look out-of-order in my interface.
Overall, I consider "smart home" to be a fairly expensive and time-consuming hobby that saves me maybe 10 min per day. There's also a fairly limited amount of stuff you can do without making modifications to your home, making its use limited if you're renting a home.
Have you considered AppDaemon for automations? https://appdaemon.readthedocs.io
I tried to use the YAML based solutions but YAML is not done for that and anything more complicated is not doable (or at least without a super-complex code) - this is usually a few line sin Python in AD.
I would love to be able to use the presence automations but my wife ad children, for reasons that are beyond my understanding, sometimes switch off the wifi to use their data plan. The GPS tracking was draining the battery too much last time I tried (but I have to try again).
(As I recall, it's JSON with lots of long numeric IDs for each node, semantic data also mixed with presentational - coordinates for how you laid it out in the visual editor, etc.)
It's not git-friendly though, no easy way of versioning stuff really.
I know what git is, so I can already `git commit -a -m 'Updated nodes'` if that's what I wanted, but it isn't, I want logical diffs that show me what I did and why; not spurious ID changes because I accidentally moved a node visually a millimetre or two.
I'm more interested in getting rid of IFTTT/Zapier/way-too-messy-Python-scripts, but that'll probably wait until winter holidays.
Sometimes (usually) this is a toggle, sometimes a on, sometimes an off, sometimes something else.
This is easy to do in Python (the list if kept as a dict with actions, there are three lines, one for each action), but gets very verbose with YAML.
https://github.com/custom-components/pyscript https://hacs-pyscript.readthedocs.io/en/stable/tutorial.html...
This is a great software, bit it is really distinct from HA and simple automations require quite a bit of code anyway.
I was thinking about having a mixed mode: the very simple automations (covers up at 9:00) would go into the YAML and more complicated would use the Python scripting described here: https://www.home-assistant.io/integrations/python_script/ (also from automations, but the real work would be done in the script)
Now I see with your comment that there is a HACS component as well - have you compared both and chose one of them for some specific reason?
It looks like a very good solution for more complicated automation (and for simple ones as well, it is just two lines)
The re was a screenshot of a game running in DosBox in an XP running in VMWare running in Linux running in Virtualbox(?) running on Windows.
The complaint was, there was no sound coming from the game :)
Fair point, but does it really need to save time for you? For me it's more of a convenience thing. I recently bought a new house, and I didn't immediately have the time to install my smart devices (Nest, Hue lights, motion sensors etc). After just a couple of days I was already getting fed up with having to get up to "manually" flip switches, change the temprature, rolling down the blinds etc.
For example, leaving my home is about 20 seconds faster (no need to turn everything off manually and reach the switch to turn the lights on/off in the hallway when putting on shoes).
How much are people actually changing the temperature? I have a temp for the furnace (68F), and a temp for the A/C (73F). I almost never adjust it.
Almost no home heats completely evenly and you will have some rooms that are warmer than others, especially when the air is on. (Good HVAC setup can mitigate some but not all).
So for example, I live in a 4,000 sqft home, and the kitchen is far and away the hottest room in the house, especially when it is in use. So when I have guests over I will tend to turn the overall heat down, and leave the gas logs on in the den to keep guests cozy while I cook.
Just an example, but I am sure there are many situations like it out there.
In some cases, a fair bit.
On the other hand and friend and I did a back of the envelope calculation and worked out he could manually change the temperature in his house for about 100 years and still spend less time than he had already spent working on his somewhat homebrew solution (this was a while ago).
When you get used to something being either fully automated, like hallway lights turning off and on automatically or easily voice controlled, like enabling movie mode via Alexa (Dim lights, turn on TV and media devices) it's really hard to go back to the old way of running around pushing switches.
I do this with a small switch from Aqara ( https://www.aqara.com/en/smart_wireless_mini_switch.html ) next to the door. Single click turns everything off, double click turn everything off and starts the Vacuum cleaner.
Glad to see Troy likes it as much as we like creating it!
If you haven't heard about it, next month is the Home Assistant Conference[1] where we will have three tracks: everyone, advanced users and developers. Each filled with great talks and of course some exciting announcements!
I think a large portion of my gripes are due to what I describe as an in-between state right now. Is HA for those with Linux experience? Is it not? If it's the later, UI features that don't do anything should never be allowed in releases. Right now, I can't delete a dead Z-Wave node. The button is greyed out. I have to delete as much as I can from the UI, then clean it up from the yaml files. This is not something a layman can do. I just want one button to delete a dead node from entities, nodes, Z-Wave, switch, and devices, or tell me where exactly I need to delete things from yaml and .storage.
Also, I think the project needs to get away from entities and nodes, or at least hide them in the UI and end user documentation. It's too abstract and not always relevant to the end-user.
A lot of fun and I've picked up plenty of skills among the way all over the stack: Automated setup of Rasbperry Pis, Docker, Let's Encrypt, IP forwarding and NAT transversals, sniffing traffic from iOS Apps, developing Python modules for HA, hosting time series databases, accessing them from Junyper notebooks, programming ESPs, basic electronics, soldering your own sensor packages...
I really love Home Assistant as a powerful Open Source project, but the knowhow required to successfully run it is staggering.
I've just shut down my environmental monitoring solution. I had 7 of those things reporting temperature and humidity (along with various other readings if needed) over Mosquitto MQTT.
I put my initial solution together in 2013, and i shut everything down this year. Turns out i rarely looked at the data i collected, and never used historical data, so a regular digital thermometer with a LCD display is more than enough for me :)
By the time of shutting down, the thing had grown to include push notifications of temperature extremes for select sensors, as well as presence detection along with humidity alerts for getting people to open windows every now and then, and another notification if the temperature dropped fast (2-3C or more over 20 mins)(so they close the windows again)
These days i just open windows every day, and as for the temperature, if it's too hot/cold i adjust the thermostat. The one remaining issue is the temperature in my dog kennel, which was the original reason for implementing it, but as it has never been a problem in the 7 years it was running, i figure i won't be a problem ever.
When i got my current dog i built an outdoor dog kennel (12m2) for it. My previous dog lived inside in a temperature controlled environment, so i never wondered if it would get too hot or too cold. It did however destroy most of our stuff when it was alone.
Living in Scandinavia, temperatures can vary from +35C to -18C during the year, and while most of the range is "ok" (27C - -8C), the extremes was the reason for building it in the first place.
Had the dog been living outside all the time this wouldn't have been a problem, but when confined to a (relatively) small space, and living indoors for half it's day means that in the summer it cannot move to a better/cooler place, and in the winter it may not have a thick enough winter coat.
It has an insulated dog house there, approved for all year usage for guard dogs, and unlike my previous dog, this one actually uses it - though mostly when it rains.
Sometimes it's just art and craft. Kind of like people making tools / knifes. There's a pleasure in making something even if it's not really going to be used.
Sometimes the itch is "I like the challenge of finding/building a solution for X" not "I need a solution for X".
Different from home automation, but sometimes I find myself carried away researching "the best photo printer", "the nicest hybrid smart watch", "the best value tiny PC I can mount on a monitor" or some other gadget. I browse around the reviews, youtube videos, shopping sites, and find the best product for the best price. And then ... I move on because, realistically, I don't need the thing.
There’s a very nice one on Kickstarter right now. Ad Maiora.
It does look nice in the renders. If the smart features are also powered by the self-winding mechanism, that's a game changer. It's quite pricey though.
I currently have a Kronaby Apex on my wrist. A few years old model, but I quite like the legible watch face, the 2 year battery life, and the absence of anything giving away it has smart features.
Heavily underestimated the time sink it is and how often things break. But it definitely scratches and itch.
I’ve learned so much about circuit boards, electricity, and soldering in the past few weeks I think it’s well worth it, even if the smart home dream itself might never materialize.
I had nightmares about time zones.
I’ve always had a dream of living like the Jetsons and Home Assistant is an awesome way of building it out. However.... it seems destined to be an always-beta something-isn’t-working-right project. Right now, my lights turn off when I open my windows instead of flash briefly. Google Home doesn’t connect to several devices, and it lets me know every time I ask it to do something.
The reality is I don’t have time for this, but I’d be lying if I said it isn’t a whole lot of fun to solder some Alitove addressable LED strips to my NodeMCU and have them turn on with Christmas animations along with Christmas music, but only when it’s below 50 degrees outside and both me and my fiancé are home. Just kidding, that’s not setup yet - still trying to figure out why my bedroom lights turn off 10 seconds after the living room lights, when only the living room light Lutron dimmer switch was pressed.
Your always-beta made me think of this. I went the opposite direction I use as little of it as possible. A good old leviton toggle switch is kind of hard to beat for when you enter and leave a room. They cost basically nothing and work correctly for years.
When done up nicely it is pretty cool. But the cost still seems high on a lot of this and is very bespoke still.
Imagine buying a house and having to rip out the automation because it's implementation does not work with whatever you have to use.
Home automation should be seen as utility, just like electricity. I really don't care if apple or google doesn't see it that way. Electricity has standardized on something , so home automation can too.
Forcing them to use public standards and forbid them to develop their own? You can't possibly believe that, you're literally stifling innovation. A much better approach would be to force them to make their standards public.
However many monitors only implement part of the overall FreeSync spec. So when you buy a monitor with FreeSync, it might be fine from 1-60 fps, but 61-144 fps might have issues.
So, how do you enforce that all "basics" are met? Consider the complexity of new technologies like Bluetooth 5 or Wifi 6 - even getting all the basics is a huge amount of work.
They can do whatever they want in addition to that, but table stakes or you aren't installable in a new build home.
and we'll end up with something like TR-069
no, thanks.
Electricity standardized largely without government intervention, and it worked out mostly okay.
As another commenter pointed out, no harm is being done during this short period where the standards shake out, and most people still use plain ol' mechanical light switches.
Please don't be so quick to reach for the regulation hammer. It's not the solution you seem to think it is.
There's no advantage I can think of for Philips to host non-Philips protocols on their lightbulbs.
I don't know what the current policy for HomeKit is, but back when we first submitted for certification with Apple about 3 years ago, they required us to submit a homekit compatible ios app with full support before our devices could be certified. We couldn't just let users use the Home app. The whole process took a very long time and whats worse is the SDK doesn't provide stable identifiers for devices, rooms, scenes, etc between app sessions. Its a mess to work with.
By the time Apple realised their blunder, the market was already flooded with $10 wifi lightbulbs which used the dumbest protocol around, but, unlike Apple's thing, they simply worked.
Google Thread was from the same opera. Google demanded too many ceremonies, but in the end nobody bothered with Google Home because competitors released products faster than Google's lawyers came back from lunch.
There's at least a couple hundred other little things I've written automations for, and it's really nice to be able to do whatever YOU specifically want. (I even have an Android tablet mounted on the wall in my bedroom - great for setting things conveniently and it will bring up a camera stream when motion is detected in an area around the home.)
Sure the stuff requires some upkeep, but I actively enjoy that. I might have to replace a ZWave multisensor battery every year, or upgrade some configuration when a new version of HA comes out. But I always wanted a smart home I could tailor myself. Everything is local (well except Google Assistant, but that's ancillary). HA is just fantastic, and so is the community. :)
1. That would capture all water usage, which is not helpful when you're trying to take specific action based on water usage in a specific room. No point turning on the wrong bathroom's fan, or turning it on when you do laundry.
2. Presumably if you're ventilating the bathroom for odor control, you wish to ventilate it long before the toilet in question is actually consuming water, since it only does that at the end.
Ideally if you're trying to turn the fan on during toilet usage, you'd want a way to detect that the toilet is in use long before said toilet is using water. Presumably motion would be sufficient, although I guess one could detect weight on the toilet somehow.
> I walk around and the lights turn on with a time-appropriate brightness. They turn off when the room is empty again. I haven't touched a light switch in months
I have motion sensors in my "transient" areas as well (toilet, garage etc.), but not in the other areas of my house (living, kitchen etc.) How do you prevent the lights from going out again when you're sitting motionless for a couple of minutes or so? Do you use other stuff besides motion sensors, such as computer vision or geofencing for example?
A few thoughts:
1. Keep in mind the problems in this article span the ENTIRE IoT spectrum: industrial, transportation, medical... you name it, it is messy.
2. Be careful what you ask for: you can script and hack a lot of cool IoT stuff today. As the road gets paved, lots of that freedom will go away. It will get much easier for the common user, but not as fun for us hackers.
3. IoT in 2020 is like the web was in 1995: lots of potential, but it's mostly a dirt road. I have a pet theory that consumer IoT today is like the web pre-Google: it was cool, but difficult to navigate and use. Once we get our "Google" moment, we'll see a slow transition to a much more innovative and useful world. But we'll need some truly innovative new product categories, not just bolting on IoT features to existing things. Google and Amazon won't drive that: they're not making things, they're just trying to be the UI and infrastructure to the smart home. [1]
What could those categories be? Just some thoughts:
1. A truly smart and autonomous kitchen: "Kitchen, make me a sandwich" (This is my favorite line when I speak at conferences)
2. Smart electrical infrastructure of the home: I want to buy a smart light bulb, plug in it, and it "just works" (securely, of course)
3. Smart windows. (these are coming... they rock)
4. Microlocation. Everywhere. On all the things. I want to know where everything is in the home, even if I packed it in a box 5 years ago. "Google, where are my keys" [2] This might be smart tags, or just computer vision.
5. Walls are touch screen displays, likely with some sort of smart ink so we're not pushing a lot of light into the space. Apple's smart glasses might simulate this eventually, so this might not make sense...
6. Synthetic sensors everywhere.
[1] Don't get me wrong: The Echo/Alexa product line is really incredible. But until Amazon starts making some cool actuators that do real work for me, it's just a cool VUI.
[2] There's a comic from the old days that had this question. The punchline was "On your #@&*@# desk".
Some of my criticisms of HA are absolutely not their fault, and users should realize the state of devices. It's very common for HA to report a false state of a switch. However, if the switch is report "yes, I have turned the light on" but the actual mechanism in the switch to start and stop electricity is not working, what's HA, or any hub for that matter, supposed to do?
The quality of the devices highly matters, and the truth it, a lot of them are cheaply made junk with no or few alternatives.
Home automation is very, very far from "just works" and people getting into it need to jump in with their eyes open instead of falling for hype.
https://news.ycombinator.com/item?id=25099615
I chimed in to his blog and that thread about the problems I've had with Home Assistant:
First off, the project is schizophrenic. They are way too into rewriting things for the sake of rewriting things. You have to read the release notes because a routine pip upgrade can kill your whole installation. In the five years, I've run it, they have 1) Introduced, rebranded, and retired a recommended install method. 2) Completely redone the web architecture. 3) Completely redone the Z-Wave architecture. 4) Routinely release UI features that are just placeholders and useless.
This has ramifications when you're searching for a problem. Often examples on blog sites or Stack Overflow are obsolete after only a few months.
Second, they are trying to target a wider audience by moving functionality and maintenance to the web interface, but they are so far away from this, it will take years. They are trying to get around the inherent linux-ness of their project, which is a huge undertaking. Troubleshooting pretty much still requires journalctl. Because of this attempt hide away its linuxness, Home Assistant is now in an obnoxious state where some actions require you to start it in the web interface, but then you need to ssh in to finish the job.
Take deleting a Z-Wave node. You first have to Delete it in the UI. Some parts of it though, never work. The "Delete" button is greyed out. So then you have to ssh in and vi into the configuration file to delete it from config files.
Finally, the communication in terms of the UI and documentation are overly abstract. Everything is done in terms of "entities" and "nodes." When you add a Z-Wave device, you get an entry for it in entities, nodes, switches, Z-Wave, and devices panels. After five years, I can't succinctly tell you the difference between them.
Do I use Home Assistant still? Yes. It still is the most flexible and open product out there. Would I recommend it? If the user did not have a background in linux, I would definitely not recommend it. My biggest pet peeve with this project is how many people recommend HA regardless of audience, not taking into account the Linux knowledge required. HA is not a magic pill.
This is for people who do it for fun and are ready to maintain a system.
I might give Home Assistant a try after reading this:
https://www.reddit.com/r/homeassistant/comments/buol9s/homeb...
Deleting devices are a different story. The functionality of deleting devices doesn't work in the UI. I have literally had to grep the entire config directory to find all references in yaml files and delete them.
But then I wanted to change the dashboard, and stuff just didn't work.
I wanted to add some scripting, but the WebUI didn't let me do the things I wanted (and knew the system could do). And "programming" in YAML makes me puke in my mouth a bit every time.
Now I'm just consolidating all my devices to a simple MQTT-based environment with zigbee2mqtt, some python glue (BTLE sensors to MQTT) and NodeRED for automation and integration. Works like a charm.
I've been trying to move as many of my sensors and actuators to MQTT as possible, using HA only as a frontend. Most of my automations are in AppDaemon.
This feels like linux compatibility back in the 90s. Hypothetically, you could make many things work. Practically and sanely, you (as an end user interested in getting work done) should stick to paved roads that permit shorter stacks.
I would too very much like to see a filter on local only access. At least it's doable to check before buying something.
[0]: https://www.home-assistant.io/blog/2016/02/12/classifying-th...
[0]: https://esphome.io
And you can go completely custom using the Arduino IDE and anything compatible (Arduino boards and ESP32 or ESP8266s) and link them in to HA via MQTT, which works surprisingly well.
In fact, I just debugged and found a workaround for the Broadlinks rebooting every 3 minutes as their cloud connectivity watchdog timer expired, and now they're rock solid (not released in HA but it will be soon).
I tried Home Assistant, but by the time I got to it I had already built out 100% of what I needed and it didn't support a couple of custom integrations I'd built, so... I'm still running my combo today.
There is also a "direct" implementation that adds HAP support to Node-RED, but I prefer to have Homebridge do that and have a loose coupling between both.
It's a very cynical industry, one intent on selling subscriptions with minimal cost on their side.
I mean I got a smart thermostat a few years ago because I was living alone and it turning off when I left the house was pretty smart, but it was a 25 / year subscription, my girlfriend moved in, and we're home all the time now. I don't have the subscription anymore, so now it's "just" a very complicated thermostat that probably depends on the company's server just to turn my heat on.
The one bonus function it does have is a chart of temperature and humidity, so I can for example check how effective heat-limiting measures are vs last year.
You buy a house, but the seller still demands you to pay rent to live in it:
I stumbled upon SonoffLAN https://github.com/AlexxIT/SonoffLAN which I'm gonna try first. However there is a comment on github that gets me thinking:
> Local only mode (manual get devicekey)
> I don’t understand who needs it, but you never know. You must manually get devicekey for each device. Only works with devices on 3rd firmware.
I mean, he is thinking: why non-cloud access. While I'm thinking - having a power outlet depend on some 3rd party service, having internet access, having some app on android, which asks for location access to setup wifi and having account on manufacturer site just to control power outlet......... I just cannot wrap it in my head and glad I did some googling before buying.
Maybe databases.
But the killer one for me was making a garden irrigation system where it waters for 10 minutes, one hour after sunset.
You don't need IOT for this. Even the cheapest coffee pot has a timer on it.
But recently, I started discovering how I can build my own "things". That completely changed my view of what's happening in this field.
There's a thriving ecosystem of affordable micro-computers, controllers, sensors, a wide range of components; and people of all ages building all kinds of things with what's available in the market. As a sibling comment mentioned, the excitement is similar to the early days of the web, or what the early days of personal computers must have been like.
For me the joy comes from exploring the building blocks, technological marvels that are accessible to the public now, and learning how to build what I imagine in my mind. It kind of brings me back full circle, (re)learning C and electronics, controlling hardware directly, like I was doing in my childhood/pre-teens - but with all the advancements made in the last few decades.
Of all of out IoT mishaps, this one was possibly the most ridiculous. We have a SleepNumber bed that adjusts up and down. I'd just cracked a rib and really wanted to sit upright in bed.
The problem was, I'd gotten a new phone. The bed has an app (because of course it does) and the only way to adjust it is via the app. So I try to use the app and realize I first need to log in. The problem is, we have no idea what the email address that was used was, nor the password. Password reset isn't working. Eventually after half an hour we gave up and used a bunch of pillows instead.
Even when the app works, it's terrible. It's super laggy (it sometimes takes a full minute to adjust the bed) and is a privacy nightmare - it wants to log every bedroom "activity" and send all the data back to sleep number and there is no way to permanently disable the feature - all you can do is pause data collection temporarily, which means it will ask you again next time you open the app.
There doesn't seem to be a good way to pre-set "only adjust MY side of the bed" so usually any adjustments I try to make end up moving my wife as well. All in all, the app is terrible.
I fully intent to get around to reverse engineering the protocol and writing a home assistant plugin for it, just as soon as I get a spare few days (i.e. never).
I still can't believe I need a password to use my bed...
Also, HA presents the status of my Samsung/HP crappy printer Toner, without any configuration! Try finding that value in any of the 3 or 4 Samsung/HP applications I now run to interact with the printer.
Moreover, HA on my Pi4 makes installing and using stuff like AdGuard a breeze. It's my fav project (together with NextCloud).
Huh... what?
No, thanks.
Other times you can (/must) do the setup yourself and don't need to use the vendor app. This is the case with Broadlink devices where you join their provisioning AP and run a command to set up the WiFi credentials.
It's rare that you can just turn off the cloud features altogether, but for devices with local APIs like these you can just firewall them off or put them on an IoT-only WiFI network with no Internet routing.
And this questionable convenience uses finite resources on earth, both carbon emission and ore. It's hard to scale back on what we use, and I wouldn't go back to a 17" monitor for coding. But maybe we could at least try to avoid creating new stuff that's accelerating our demise?
Frankly, if I didn't love programming and tinkering, I simply wouldn't have any IoT stuff.
Two weeks after I'd got it all running on an old Raspberry Pi, TP-Link released a firmware update that nuked the HS100 plug's ability to be controlled via Home Assistant :/
There are quite a few irritated TP-Link customers, but to their credit, TP-Link do seem to be reverting the firmware for Home Assistant users.
https://community.tp-link.com/en/home/forum/topic/236268 https://community.tp-link.com/en/home/forum/topic/237614
Edit: once the firmware is reverted, I'll be blocking the plug's access to external networks! School boy error - I should have done that from the start, really!
https://old.reddit.com/r/homeassistant/comments/ev9hr8/prett...
so very soon i ended up with HA on my rpi - yes, the learning curve was quite steep, but my automations just work for years since the initial setup
since then my 'iot infrastructure' has also grown quite a bit, driving me through even more rabbit holes with zigbee2mqtt presence detectors, lighting etc
the only thing that now worries me a bit (in the light of covid etc) is that noone from my family will be able to support all this stuff if anything happens to me, so i have to be careful to design the workflows to fail gracefully and leave the possibility of just plain old manual control if stuff dies
I've bought lights, switches and sensors and so far only the zigbee stuff “just worked“ everything else gets me down a debugging rabbit hole. But zigbee is the easy part anyway because it all lives within deconz.
I guess would i have bought only official supported products my experience would be different.
But this way i really dont get the hype.
Edit:// also the docs are super confusing. Seems most things are now gui based, but most docs talk about config files that dont exist anymore. It also runs like shit on the raspberry pi 4 i only bought because it said its a recommended device. Wifi setup isnt working at all too.
As for HA I use it a state and device manager, the automations are via an external program (AppDaemon)
- SD card was getting corrupt with time
- After a power cut if HA comes online before your internet then you got a problem and have to manually restart it.
- System update frequently broke the installation
- All my use case was easily migrated to node-red and I end up using it more.
So, I formatted the pi and installed ubuntu and than started a docker container for node-red and motioneye.
I even got my Zigbee USB Stick working, you just gotta start the container once via the terminal on the synology and then I can clear it later to update it etc.
I've only just started using it and already built up a time-consuming to reproduce configuration. That it runs on a RPi means I expect the SD card to fail without warning in several years when I least expect it. Would be nice to get the restore story nailed now.
Restoration is now part of the new setup workflow, so you'd just flash a new SD card with the base image, and upload a snapshot as you go through the setup process. Poof, everything's back the way it was.
This is why I haven't jumped on board with HA or anything else. Long ago I had a very automated house with X10, but over time it slowly degraded to the point that I got tired of debugging my house every weekend so I ripped it all out. Ok, that was X10 and we all know X10 sucks, but my point is that was a single protocol from a single manufacturer. Imagine the MTBF where you have a federated system with 10 different protocols and 10 different "integrations."
No thank you. The (manual) light switches in my house are 20 years old and they'll probably last another 30. But "smart" gizmos are just not built to last. They could be, but they aren't.
In the company I was working for we were trying to create a building automation software and we were between HA and openHAB. We finally chose openHAB because it is written in Java and we could find easier help from Java developers in-house rather than Python where HA is written.
But one thing it isn't is user friendly.
I'm not an IoT novice (I did that for a living for half a deacade) neither a programming novice (Java for a living since -99). Still I couldn't wrap my head around the OpenHAB way of doing things.
And I didn't even want anything complicated, just wanted my Hue lights to turn on when I pressed a button.
I wonder if there are cool stuff that you can do with its scripting capabilities paired with comercial wireta... I mean assistants like Siri or Alexa. Think of "hey siri, please compile project foo and commit to GitLab" or "hey siri, please launch another instance of program x".
But the reviews for Yeelights say it requires you to use the Android app which has too many permissions for what it does. I would not recommend it after reading that review.
Hue, on the other hand, isn't just wifi. It has a box that will hook it to your network, but it's also got another wireless protocol that isn't affected by your wifi network. That means that physical Hue switches should continue to work even if your internet is down, a massive advantage of standard wifi bulbs.
I haven't actually got any Hue bulbs set up at this point, though, so I'm going on what I've read rather than experienced.
Yeelights you can control directly via self-hosted Home Assistant & the Home assistant app...on your LAN, no internet required, no proprietary hub, no Philips premium.
>There are a ton of wifi-enabled lights, so I wouldn't recommend one in particular.
You do realize Yeelight is Xiaomi, right? It's their competitor lineup to Hue
>which has too many permissions for what it does
I used the iphone app for initial linking - permissions look fine to me, but I did disable bluetooth & homekit later. That said the initial pairing process is indeed quite sketchy & fiddly.
>it's also got another wireless protocol that isn't affected by your wifi network
Yeah - Zigbee. Considered it but abandoned it due to cost - both on the individual device side and you're back to needing some sort of bridge/receiver device.
>Hue switches should continue to work even if your internet is down
Same for the HA solution since it's hosted on the local network. Unless your local wifi connection to your router is unstable from interference...in which case I'd be concerned about zigbee too since they're both on 2.4ghz
The Gateway doesn't even need an internet connection, everything is done locally.
I've considered smart bulbs but someone will always turn off the light switch and then nothing is smart.
I guess since then I've realised that I kind of like simple electric switches and regular LED bulbs.
Haven't had a single issue with them being unreliable over the past year or so I've had them.
1: https://xiaomi-mi.com/sockets-and-sensors/aqara-smart-light-...
You can (after turning off the power at the main breaker) take off the switches and just connect the two wires together as to have the circuit always-on. You can either put back the switches as-is (though they won't be functional anymore obviously) or replace them with a blanking plate or something depending on your setup. This is easily reversible and thus suitable for rentals too.
As long as I’m sticking with HomeKit as my hub, is there any reason to use Home Assistant, or is HA really just for people who want to use it as the hub?
Just give it a try and see how you like it
I myself went from smart home back to just motion sensor + light. And I mostly buy HomeKit devices because the certification means they work, and they speak HTTP/JSON (thanks apple).
The setup part still requires familiarity with the terminal and some basic unix/posix tools, but having followed the project from the sidelines for some years, there has been a consistent effort to reduce the need to interact with the terminal to use HA. Every release (and they come quite often) brings more user friendly ways of interacting with your devices. Can't wait to see what they can achieve in a few years time!
For me there are no other options, my IoT ecosystem has be under my control and contained on my own network. The open nature of the project brings a host of DIY folks together and it clearly shows in how diverse and flexible the system is for those who want to customize and tinker.
I'm currently running my setup on a pi3 with a deConz dongle, which controls my IKEA lights, switches etc through the open ZigBee protocol. I have also set up IKEAs outlet switches in combination with cheap temperature sensors from China to make all my "dumb" electrical heaters smart and thermostat-driven.
With HA, the opportunities are endless for those who have the prerequisite knowledge to get up to speed with how HA works. The less technically inclined is still bound to the commercial offerings, unless they know someone who can help them set it all up.
Come to think of it, I would expect local business offering people to help set up (and maintain) secure IoT solutions based on HA. Does anyone know if this exists already? The setup can be greatly simplified if a business have a standard set of open components and default configurations ready to deploy and build upon.
That seems preferable to getting locked into one of the proprietary walled gardens. The markup they throw on things is insane