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.
Yes, you can, with the right combination of things. I essentially create a JSON payload to describe the desired device state and send it over to a Homebridge plugin over MQTT.
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.
This sounds uncomfortably familiar. I started out wanting to measure my room temperature and log it into a database. Three years later and you're soldering ESP8266s.
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.
I like stories like that (experienced this myself). Building complex system, because it scratches an itch, and not using it after completion. So what happened witch the itch, where is it. What was it all about? Why did it happen? Why this kind of system and not the other, etc. This kind if questioning. Was that because the dog was the only part of the environment, that was alive / uncontrollable?
> Was that because the dog was the only part of the environment, that was alive / uncontrollable
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.
> So what happened witch the itch, where is it. What was it all about?
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.
> So what happened witch the itch, where is it. What was it all about?
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.
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.
I call this "the permaresearch queue". Stuff that just becomes perpetually research, and you get more out of doing the research than doing the thing. For me right now is learning how to build a shed. I have a feeling it could also be called "procrastiresearch" too!
This is basically happening for me now. Bought a house and a ton of gadgets to tinker with, with a dream of having the ultimate smart home.
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.
Have you had trouble with time zones and timestamps Distributed Raspberry PIs that had to connect to a device via Bluetooth Low Energy, and send data through a 4G dongle, and do updates, reboots, etc. completely unattended.
Currently I'm using the InfluxDB integration to send selected sensor data to an InfluxDB V1 instance. Graphing is done in Grafana, all outside of Home Assistant itself.
Are there any maintained whitelists of "direct access" HA IoT hardware? I.e. hardware I can either directly access from HA, or firmware flash and do so?
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 use a TI CC2531 with the zigbee2mqtt firmware and HA add-on: https://www.zigbee2mqtt.io
This gives you "direct access" to a long list of Zigbee hardware (eg. IKEA Tradfri, Xioami Aquara) without a separate hub.
Not directly Home Assistant but tangentially related is ESPHome[0] which is all about making those custom chips with custom hardware and sensors and integrating them into HA later. They also have guides on flashing firmware of some brand-devices (since those devices are also running these same open-source dev boards).
This, so very much. That project is amazing. It feels very close to the metal and is very satisfying to do, whilst also being pretty straight-forward for a beginner.
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.
I've focused on IoT-devices that uses the ZigBee-protocol, which can be integrated directly (trough a ZigBee controller of your choice, like deConz) into HA without the need of any proprietary hubs. Luckily IKEAs IoT-devices (primarily lights, controllers and switches) use the ZigBee-protocol and are decently priced. I have also used cheap environmental sensors[0] from China that supports ZigBee. I really like the idea of only using components with an open protocol and being able to isolate my IoT-setup to my local network. Everything would still work if I lost my internet connection and no data is leaving my house.
I can give you two at least: TP-Link's Kasa line and Broadlink devices (IR blasters/etc). Now both try to hit their respective clouds, but they have local APIs and if you firewall them off from the internet they work fine locally.
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).
LIFX has a documented LAN-only protocol which doesn't require their cloud or any kind of authentication. Their own app and account system is only required upon first setup and I bet even that could be reverse-engineered.
https://templates.blakadder.com/ lists things that can be flashed with Tasmota. So it's not a full list of everything with a direct API, but it's a list that is already contains basically every type of device. And once you re-flash the thing it's fully yours, no need to worry about who your device data is getting shared with, no apps that vacuum up your contacts, and no risk of the mfg pushing an update that breaks your setup.
There should be regulation that forces all vendors to use a public standars, instead of letting them develop their own. Home automation would clearly benefit from a single specification and multiple implementations, instead of current multiple implementation scenario. Web has grown thanks to html being a common ground. HA is wonderful considering how many walled gardens there are .
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.
> There should be regulation that forces all vendors to use a public standars, instead of letting them develop their own.
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.
But how do you prevent it from turning into another AMD FreeSync issue? FreeSync is a royalty-free, free to use display syncing technology.
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.
The proper place to do this is in building codes: forbid hardwiring of devices at build time that don't (at minimum) support a basic, local protocol and be cloud-disable-able.
They can do whatever they want in addition to that, but table stakes or you aren't installable in a new build home.
You might be interested in https://www.connectedhomeip.com/, which is a "Working Group [that] plans to develop and promote the adoption of a new, royalty-free connectivity standard to increase compatibility among smart home products, with security as a fundamental design tenet."
Hopefully standards will coalesce over time, but right now I feel like the industry still needs to experiment to find the best interfaces to address power usage, security, and features.
Mandatory tech standards enforced by regulation are likely to be crap and out of date, thats the problem. Also, big corps will capture the regulation process and force their version to be standard, and so on. Better to let something emerge from the chaos, probably will in a few years time. In the meantime, no real damage is being done, its not like people are dying due to the lack of an HA standard.
It works fairly well in the EU and non "IT" areas, where introduction of an ISO standard is required to gain wider market access and consumer approval.
It could be sufficient to point out that there are X organizations that created accepted standards, any device needs to implement a standard from at least 2 orgs.
A standard would specify transport (HTTPS), schema and meaning for all messages, authentication and authorization protocol. Most importantly, there should be a standardized way to poll devices for data.
I think your comment presupposes that the solution that the state would dictate would be better or, at least, more useful than the alternatives. That's likely incorrect.
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.
It was to manufacturer's advantage for electricity to be standardized. Otherwise they would have to support components for every single distributor. I don't know if it was to distributor's advantage... I think there's probably some argument for a shared grid and lines improving them also.
There's no advantage I can think of for Philips to host non-Philips protocols on their lightbulbs.
A lot of them use UPnP but there are almost no apps that can deal with the IoT features of the protocol so most manufactures write their own UPnP app with a bunch of "features" demanded by business people.
Funny today was the day my simple setup (IKEA bridge + HomeKit) did not run. IKEA bridge restart fixed 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).
I've shared this because I absolutely love Home Assistant. It's one of the rare open source projects that I cannot imagine being replaced by a proprietary solution. I'm definitely not using it in its full capacity, just for a fairly limited amount of integrations (Philips Hue, some smart plugs, various stuff I've installed alongside Home Assistant on my Intel NUC).
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.
I am in the same situation as you. I also have a tolerant wife that "understands" that the lights are available 90% of the time (but when they are, it is magic).
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).
Alternatively Homeassistant also offers an integration for Node Red, which feels a bit odd to work with at first but I learned to love it more and more. I never really bothered to learn Homeassistants YAML automation syntax.
I wish NodeRed had a YAML (or whatever) syntax though, something git-friendly; that it was a viewer/editor for a sane human-readable text format.
(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.)
NodeRED keeps its stuff in a single directory, which can be backed up easily. Also the state can be fully restored with just the contents of that directory.
It's not git-friendly though, no easy way of versioning stuff really.
You got me excited for a second, but that seems just to be a UI for people that don't know what 'a git' is, and `commit -a`-ing of changes, in the same non-'git-friendly sane human-readable plaintext format' I was complaining about.
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.
It does give you a better diff option, actually. :) It may not meet your needs, but it will show you a diff between commits that is more context-aware for Node-RED.
My typical automation that is cumbersome with YAML is with RF433 switches. I have plenty of wall switches (say - 20) that emit a signal AAAAAABBBBBB, I am only interested in the BBBBB part, and then I need to match this with an action.
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.
There's also PyScript, a custom component that allows you to write automations in Python. The docs have a bunch of nice examples that give you an idea how it looks.
Excellent timing, thanks! I am looking at possibly replacing AppDaemon as we speak.
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?
Exactly, that's what I like about pyscript: it is a great alternative for simple YAML automations, but it also allows for complex logic that would be impossible or very cumbersome with YAML.
> Overall, I consider "smart home" to be a fairly expensive and time-consuming hobby that saves me maybe 10 min per day
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.
Omg yes. I had an Ecobee in my previous hone and thought it was just kinda okay. 3 weeks ago I moved into a new place that has a traditional thermostat and I’m now aware of how much better that Ecobee was.
We're aiming at the same thing, I just quantify convenience by the amount of time saved per action.
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).
It depends on many factors: size of the house and where you spend most of your time. It sounds like you may live in a relatively small space.
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.
My thermostat is on an exterior wall, so the reading is affected by the outdoor temperature. I need to adjust it every few weeks as it gets colder so it doesn't turn my house into a sauna in the winter time. Obviously this is not ideal, but count this story as one more anecdotal example that some people change their thermostat frequently.
Temperature is a huge factor influencing sleep cycle for some people, myself included. I sleep and wake much better if physical temperature and light color temperature adjust in time with my schedule, which isn't always uniform so rigidly programmable thermostats don't quite do the job.
> How much are people actually changing the temperature?
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).
Seriously. I set the times and temperatures in my thermostat when I bought this house in the late 90s. I tweaked them a bit over the next few months and have not changed them in over 20 years.
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 used the Alexa media player integration along with the integration for my alarm panel, so Home Assistant automatically synchronizes Alexa's Guard Mode with the alarm being armed or disarmed.
I have a friend who a few months wanted to automate/remote control a water pump at his cabin and monitor his solar system and batteries. He has internet connectivity there but otherwise is off the grid. So I thought okay, raspberry pi, arduino with an Ethernet shield and some extra electronics, and then use dataplicity to remote connect. It's not straightforward with his internet setup to initiate a connection from the outside world. But he wasn't crazy about controlling the thing with a command line and really wanted a web interface. After some searching around I ended up using Home Assistant. We are still putting it all together but it's been very nice so far, like battery voltage graphs and sending/receiving data via MQTT is really pretty easy.
What kettle/device are you using that boils when the power comes on without having to press a button manually? Every single kettle I've looked at requires pressing a button to start a boil "for safety".
Love HA, my Sonoff basic (Tasmote reflashed) controls the fan on the toilet, based on a Philips Hue motion sensor. I have bought Sonoff ZigBee temp/hum sensors to automate fan switching in the bathroom based on humidity. The fan will be controlled using a TP link smart wifi plug, which I have lying around. It's all no problem and I see everything nicely grouped per space, completely unaware of underlying manufacturer, because of HA.
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).
Ah, yeah haha I had some doubts because I also use the word bathroom for the room where the bath (and shower) actually are (humidity is only relevant there). I see now that that is also called a bathroom, irrespective of the presence of a toilet. TIL :)
What would you use? In would for me be "in the bowl" :). Which incidentally in my country does not mean it will get wet, another cultural difference ;)
In British English "toilet" can refer to either the room or the device in the room, depending on context. So if you said "the fan in the toilet" I would understand it to be a fan in the room, and if you said "the water in the toilet" I would understand it differently.
Just a thing to consider: I moved from Tasmota to ESPHome and like it very much. Their rebuild OTA solution is nice but could be much, much better by updating devices that happened to be off at the moment where the update was launched.
I only started toying with HA a few weeks ago and am currently writing my own platform.
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.
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.
I agree. I use HA extensively for three years now and I still do not understand what is configured where (config files vs. the web UI). The web UI is more and more useful for that but then the config goes into the magical .storage bin and it is lost there.
This is for people who do it for fun and are ready to maintain a system.
This is one of the things that has bothered me the most about Home Assistant. When devices get added suing the web interface, why are they not added into the same YAML configuration that you add devices to manually? Or even if not in the same file, a different file in the same location?
I think the devs were changing the design on the fly, and the direction itself changed a few times. I am still not sure what goes where (though using HA extensively)
Pretty much. Adding devices are done through the UI these days. Manually adding them to config files is not recommended.
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.
This is what turned me off from HA too. It almost magically discovered a pretty much all of my devices (hue+ikea+xiaomi hub) and created a default dashboard for 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'm just consolidating all my devices to a simple MQTT-based environment
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.
It's really cool that there are open source bridges between the proprietary ecosystems. But I have to ask, why would you want to deal with all of this just to speak to your phone instead of pressing a button to open the garage door or turning on the light?
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?
The amount of resources involved is next to nothing compared to pretty much any other hobby you might imagine, whether that's painting, tinkering with motorcycles, setting up a home recording studio or even just hiking.
I always wanted to fiddle with this but I don't have enough IOT systems besides a Roomba. Everything related to home automation including lamps are quite expensive specially considering I live in a small apartment.
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".
There are a ton of wifi-enabled lights, so I wouldn't recommend one in particular.
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.
Much like Troy I'm trying to avoid getting sucked into one of the walled gardens. Apple, Google...or Philips.
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
Am I reading the article correctly that various apps from the vendors are required to properly control the devices? I guess the apps all talk to the vendor? So in the end the vendor knows what's happening in my bedroom?
Welcome to the realities of our great and glorious IoT future! These devices are the next frontier in data collection, and it's a grueling privacy nightmare.
It varies by device. Sometimes you need the vendor app to configure the device to join your Wi-Fi, but then you can use its local API and firewall them off from the internet. This is the case with TP-Link's Kasa devices.
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.
If you are into home automation, you should also consider "ioBroker". Lot's of adapters to connect all the different standards easily, e.g. controlling Zigbee devices from your KNX devices, adding Amazon Alexa to the show, etc. Scriptable via Javascript, but you can also use Blockly or NodeRed on the low code side. Keeping track of all your IoT sensor data can be done by integrating e.g. InfluxDB to store the values you like and then use Grafana to display any charts based upon your values as you like. There's also a web-based visualization available to show and control the status of all your IoT devices. Lot's of options and easy to use.
My HA install was on a Synology and in Docker, with a UPS so power outages weren’t a things. However the lack of WAN occurred a few times. It didn’t ever cause trouble, no matter what order it started up. What was the issue it caused for you?
I don't know the exact problem but have have noticed that whenever router(with dhcp) starts after the home assistant.
HA doesn't get's an IP and thus it's not accessible ever after waiting for 5-10min.
Also, that it not always the case sometimes it works(and I don't know how).
The docker Synology setup is very good in my experience. When an update is available for HA you can just clear the container and start it again, provided you have correctly mounted the volumes.
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.
That's not going to solve the SD card corruption issue. That's not specific to Home Assistant, it's just a fact of life with SD cards. You'd be much better off using an SSD via USB.
There's an issue with the recommended "default" setup of Home Assistant on a Raspberry Pi, where it will set up a database for recording events. But these ends up being a ton of writes to the SD card over time. If anyone else is using Home Assistant on a Pi, I highly recommend moving your database files to an external USB HDD, or connecting it to a database over the network on another machine. That should make the SD card issue vanish.
I’m using HomeKit as my hub, and it has been frustrating dealing with all the accessories that don’t support it natively. I run Homebridge, but that depends on availability of plugins.
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?
I've been hacking on computer for over thirty years, and maybe it's a testament to my age -- but I've got to say, there's not a lot that gets me less excited than the "internet of things".
man, i feel completely the opposite. Once I realized there was a world outside of the IoT 'products' with proprietary ecosystems and that I could build my own, I found this whole world that took me back in time to the early days were I was working much closer to the hardware. Writing code in C, soldering i2c peripherals to microcontrolers, etc. And at the same time its given me real world use-cases to learn the new hotness tech like docker, mqtt, and some industrial stuff like node-red.
I'm also in that 30 year camp. Will say that I value things that understand my time has value. I can say that I've gone from having the stereo with 7.1 channels and balancing a room to just give me a Sonos.
It’s achievable for sure, and a timer was what I was after. They are horrible to use and quite hard to find and that’s how I ended up with a Kasa smart plug, followed by HA.
I felt the same way about the "Internet of Things". There's no fun in it, when the "things" are built by companies, connected to their servers, and they're just products designed and controlled by someone else.
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.
I have played around the last few months with HA to cover my IoT-needs, and it's the only option if you want to avoid vendor lock-in and fragmented, expensive and often insecure ecosystems. It is a joy to use and everything works perfectly once you have set it up.
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.
due to regular air pollution in the area where i live, i had to buy a couple of air purifiers 2 years ago. those happened to be xiaomi, which had "chinese" auto settings with too high particle ppms to my liking and no possibility to automate it manually (they had it for china, but not europe)
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
So familiar. I learned how to solder, how to program real-time things (Arduino, ESP32), MQTT, I built this whole device based on a Raspberry Pi and an Arduino to measure air quality and control an air purifier, programmed this whole thing in Python which I learned because at the time my favorite language didn't have much support on the RPi, wrote my own "drivers" here and there, set up all sorts of docker containers...
Frankly, if I didn't love programming and tinkering, I simply wouldn't have any IoT stuff.
What's the recommended automated backup / manual restore method for Home Assistant config?
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.
Assuming you're running the full version with the supervisor and add-ons, I'd recommend the Home Assistant Google Drive Backup add-on[1]. You can set it up to take snapshots on whatever schedule you like and keep a rolling backup in the cloud.
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.
> In fact, HomeKit was often the odd one out when I looked at IoT products and I can imagine someone explaining it away as Apple demanding things be done the Apple way or the highway hence the lack of compatible devices.
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.
Same experience, we heard "proprietary chip," and the prototype flew to the dumpster.
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.
192 comments
[ 3.4 ms ] story [ 203 ms ] threadI 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.
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.
https://old.reddit.com/r/homeassistant/comments/ev9hr8/prett...
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.
[0]: https://www.aliexpress.com/item/4000713849766.html
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).
https://zigbee.blakadder.com/all.html
https://templates.blakadder.com/us.html
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 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).
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).
https://nodered.org/
(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.
[0]: https://nodered.org/docs/user-guide/projects/
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.
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?
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)
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.
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?
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.
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.
That seems preferable to getting locked into one of the proprietary walled gardens. The markup they throw on things is insane
- 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.
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
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.
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.
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
Frankly, if I didn't love programming and tinkering, I simply wouldn't have any IoT stuff.
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.
[1] https://github.com/sabeechen/hassio-google-drive-backup
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.