Founder of Home Assistant here. If anyone has any questions, let me know!
Besides being able to install it as a Python package on Python 3, you can also install it using our Hass.io OS. Based on ResinOS and powered by Docker, it offers over the air updates and management of your device via the user interface: https://home-assistant.io/hassio/
Hass has probably been the biggest help to this quadriplegic in the past decade. The way it's made it easy to stitch together a massive variety of Internet connected devices is absolutely awesome. I've got lightbulbs from one company, plugs from another, sensors from another and then there are all the web-based sensors which I can easily control with my Amazon echoes. It truly is a remarkable piece of technology.
Were I to ask a specialist disability company to replicate the setup I have at home it would probably cost me 10 times what it already has, and unfortunately that's not hyperbole is it really would cost me that much.
Not only that, but the Discord[1] channel is not full of terrible old greybeards having a go at n00bs for not knowing things. The amount of patient and helpful advice I've had was learning over these past six months how to set it up has been amazing. That seems to be getting rarer and rarer these days among technical online communities, or maybe it's just confirmation bias. Either way they are very nice people. I've even had the developers help me with problems that are specific to me and my disability and probably not to very many other people just because they could.
They deserve serious props for this work, they really do.
I've been using Home Assistant for about 1.5 years on an RPi3, controlling some outdoor and indoor lights using a Zwave hub. It has been rock solid and never given me any issues.
Thank you for this awesome software and community!
Are there any plans to improve the integration with openzwave?
Currently, there is not much feedback available to the API when adding/removing nodes except for viewing the openzwave log files and comparing state lists before and after.
Also, are there any plans to provide hot reloading of config files, instead of having to reset hass? Large zwave networks can take 10mins+ stabilise after a reset.
We reload right after you make a change in the UI. Seems pretty hot ;-)
If you want automatic reloading when a file changes, feel free to contribute a watchdog component to Home Assistant so people can hook it up themselves.
I use LIFX bulbs all throughout the house, I think we have about nine of them and they are always discovered every single time I restart Hass and have been doing for as long as I've been using it.
Are yours just not showing up at all, or are they coming on and off-line?
If I had to guess, I'd say "Hassel" is related to "Hasel" in this case (as is the case with quite a few similar place names), which would make it more like "David from the farm with the hazel trees" or something.
Isn't that usually Haas? I know 3 or 4 independent people with the last name Haas, as well as the Haas business school at berkely, but only know Hass as the avocado brand.
Did you guys consider distributing reference 3D printing designs to accommodate the Raspberry Pi at home. For example replacing a wall light switch? The wall niche for the Pi+ switch is a perfect place because it supplies electricity and is already reserved for a human interface.
I've developed a open hardware 3d printable LCD touchscreen which uses WiFi+MQTT to interact with Home Assistant which fits into a standard wall panel which you can find here: https://github.com/aderusha/HASwitchPlate
This still requires Home Assistant to be running somewhere else on the network and uses an ESP8266 instead of a Pi for several reasons, but it might help you out on your use case.
I don't have a external screen and http://hassio.local:8123/ says 'Server not found', because my network is a bit special. Therefor I connected via serial to the rp and now it asks me for a username and password which I can't find. Would you care sharing this?
I tried that but it's not it, this is default for raspbian I guess, the hassio people use Yocto to create a custom linux distribution, I guess I'll need to check out the yocto layers if I can find which password is used.
Founder? Is this for-profit? If so, how you gonna make money?
Edit: glad to see the project on Github is APACHE licensed. Any drawbacks from using the software compiled str8 from Github as opposed to downloading the binary blob from the website?
It is not for-profit. We will soon start a program for people to support the project.
The published version of Home Assistant is 100% what is on GitHub. Home automation is able to gather very private details of your house. It knows when you're home, what TV shows you watch, when you go to sleep. We keep all this data locally in your house, without the cloud. We want to make sure that anyone can check and influence the code that is distributed. No data should leave your house without your permission.
asyncio is amazing. It has been way faster and more predictable. Home Assistant has a lot of small tasks running all the time with the occasional task taking a long time (ie. trying to reach a device which has been turned off). The number of tasks running simultaneously used to be limited by the size of the thread worker pool, which is no longer the case. A request taking a long time is now just a coroutine pending result in our event loop.
We still offer the old API on top of asyncio, so we have been able to incrementally transition. By now the core and important components are all fully asyncio. Most integrations are not.
Dude. A blog post on writing application on top of asyncio which may interchangeably use threads or async/await, and incrementally making the switch to asyncio would be awesome.
I work with a large-fintech platform which is partially powered by Python. Our old server was based around threads, queues, and socket multiplexing but we are gradually starting new applications in asyncio.
I recently completed a project in aiohttp which has been fantastic. What are your thoughts on aiohttp vs tornado?
I have not used tornado but I love aiohttp. it's super fast (part in cython) and does HTTP + websocket client and server. Their team is are part of the asyncio contributors, they know their stuff.
I'm a co-founder of Snips https://snips.ai, we are building a 100% on-device Voice AI platform which protects your privacy as it does not rely on sending voice on servers like Google and Apple do
You can use the platform for free (we will also open-source over time), it can run on Raspberry 3 and we added an integration with the amazing Home Assistant: https://home-assistant.io/components/snips
One tip is to use GPLv3, which would force the users of your code, who would put the software on their hardware, to make it possible for their users to reflash the devices. For everyone who doesn't want to allow that you could offer a commercial license.
This way of open sourcing works quite well for example for the Qt Company, they sell commercial licenses to automobile companies which don't want people to reflash their in vehicle infotainment systems for some reason, so they pay a per device commercial license. The Qt Company takes the money and pays developers to keep on working on the free software version of Qt which is GPLv3.
Kind of win win for everyone, small users who play with the sofware on their raspberry pi get the source code and big companies with their own propriatary hardware would pay licenses.
> which protects your privacy as it does not rely on sending voice on servers like Google and Apple do
And on your website:
> The First On-Device Voice Platform
Android already has on-device voice recognition. Just try getting in airplane mode and saying "OK Google, play music" or something that does not require being online.
Yes, but their business model is still to get and sell your data to advertiser
We do a 100% on-device platform, where your data never leaves the platform, and we want to power the next generation of private-by-design smart IoT devices
Google is absolutely selling your data to advertisers.
If you mean they won't sell it to them in raw form I guess you're technically correct, and I'd of course agree with you, but I don't think this is the parent posters point.
They aren't being altruistic by not doing this; if they did they wouldn't be able to monetize it anymore.
Am I misunderstanding something here or are you just being pedantic?
It's the same reason I'm an iPhone user. I'd rather deal with a company whose business model is to sell me overpriced hardware rather than to "sell my data to advertisers"
I just watched an interview with Trump where the interviewer asked about the possibility of regulating tech and specifically mentioned all the info these large tech companies are gathering and "selling" our data. While it may be considered pedantic, I think the nuance is important. Fake news often has a kernel of truth in it and being sloppy about the facts has implications.
Here on HN, we know the specifics, but FOX viewers don't (for the most part).
The accuracy is actually very good, and will improve a lot with the new models in the next release you can test them for yourself by downloading the platform which is free!
Is anyone else here completely confused at how much hype there is around automated light management systems? I don’t get it. Is it really that hard to turn on and off lights manually that people really need all this stuff? What am I not getting?
While I understand your skepticism, there are a few use cases for which I use HA which would be either painful manually, or would require alternate devices such as timers/etc:
1 - outside lights - various lights which light our home's pathway or areas we prefer to have lit at night come on automatically at sundown and turn off at sun-up.
2 - scenes; with HA, we can click one button - a switch with scene control in our case - and have the lights in the room go to a specific set point, receiver come on, select sonos, and tune in to a particular station - an activity which would conventionally require several manual steps with various input devices.
3 - notifications; with HA, I get notifications when the front door or garage doors are opened/closed.
There are several things I plan to implement:
1 - using presence detection and adjusting temps/lights/etc based upon that
2 - fan control; we are heavy users of ceiling fans, and integrating them into home automation would be a significant upgrade. Haven't found a replacement for our Minka controllers which supports zwave (or anything else).
All of this has been possible for years - usually with single vendor solutions which are very costly; HA integrates nearly all automation platforms into a single system allowing each platform's features to work together relatively seamlessly. It's a moving target, but has become very stable/reliable with recent releases.
Tried to get a single outside light automated through a z-wave gaget hidden behind the switch. Endless hours later the thing is still either working intermittently or not at all. Even with the nodes in the network right next to each other the network is fragile as hell. I just can't believe how expensive z-wave things can be so much worse than the old 433mhz things that have been around for ages.
I finally gave up and now it's just on (or off) 24/7...
I'm considering giving it another try but I'm not to keen on investing in another tech only to see it fail as miserably as first gen z-wave
Is there no good standard that works over electric lines? Seems it could be so much more reliable and cheap. And every single device already has the wires.
Powerline Ethernet is sketchy with some wiring configurations but you'd think that these minimal bandwidths could be handled in nearly all wiring setups.
Z-wave is a mesh network, so the more devices you have the better the connectivity. If you only need a single device, try locating your hub as close to the switch as possible. Otherwise, ironically, the solution may be to invest in more light switches.
Yes. I considered the distance but before spending more money on switches I don't really need, I figured I'd try with the base next to the switch. Didn't work reliably there either. So I'm not going to dare buying more nodes.
Is there any standard that isnt mesh based? Hub and spoke with lots of power like wifi seems much smarter.
Seems like complete idiocy to use a fragile low power mesh network for something that a) has to have 99.9999 reliability (like lights) and also has unlimited power (2kW+ available at each node!!) like lights.
The reason I went with zwave was because of the need to work behind an existing switch. For sockets it would have been much easier with 433-plugs.
You’re probably using one of those cheap USB z-wave stick. Attaching it to a USB extension will improve reception significantly. You can also try changing the angle of the stick.
Definitely a regular z-stick yes. I don't think it's the problem though, because it reliably switches an external wall socket plug I use for testing. Just not the recessed switch I need it to manage...
I think the problem is that the switch itself is too weak in signal, and sits built into the wall. The z-stick doesn't reliably switch it even if I have it inches from the switch.
My Kuna security cameras turn lights on at night and off at sun-up. My Nest already has presence detection and adjusts temps based on that.
More importantly, I didn't buy a Kuna for lights on and off with the sun, nor a Nest for presence detection, so I still don't see these functions as killer apps for HA.
There is usually a screw to adjust at what light level they turn on. So I suppose you could hit the 30 min. mark with some trial and error. But why would you?
You can get an astronomical light switch that replaces the manual light switch that can do that and more based around actual sunrise/sunset time for $30 - it’s a little pricey but they just work.
Yes but I have 4 bulbs outdoors controlled by my $27 switch. Bulbs will fail over time, especially when exposed to the elements and seasonal temperature swings. I can set my lights to turn on off at a fixed time relative to sunset/rise or randomize it +- 30 mins. All with a switch that I bought at a big box store 10 years ago.
that would definitely require them to not be "dumb" anymore.
A simple sunset/sunrise detector can be had from a cheap photo-resistor. 30 minutes prior to sunset sounds like it needs at least a micro controller with a real time clock and a lookup table with sunset times
I don't mean this to sound snarky, I really don't so please don't take it as such but yes, it is really hard to turn light switches on and off when you are quadriplegic. This software solves that problem completely.
Again, I am not trying to flame you, just telling you how I use it and giving you my reason for using the software.
Cron job on my home server starts sending commands over zwave at 6am for about half an hour to slowly increase the brightness of my master bedroom light from 0% to 100% at 1% increments. So when I get up, it's not pitch black, and I don't go from zero to blinding light in one moment. Probably my favourite thing I've done with home automation so far.
You were being offered a slightly simplified example, the Hue bridge does indeed require authentication.
To answer your other question, the bridge can be accessible via the online “meethue” portal for things like easy remote access but I think this is optional.
EDIT: oh, and it’ll generate internet traffic for firmware updates I suppose!
Yes, the Hue hub will expose a local internal REST API where you can easily GET the status of your bulbs and POST updates, and really do anything the Hue app can.
Lots of time I'm lying in bed, almost falling asleep and suddenly realizing I left the kitchen light on. In fact, I'm not sure I did. But it doesn't allow me to sleep, so now I need to wake up, check the kitchen for a light that might not even be on. At that moment I'd be willing to pay a lot for a button on my phone to turn off all the lights.
I have a Roomba and if I don't close my bathroom door at night, it always gets stuck in the bathroom when it goes off in the morning. So every night, I make sure the bathroom door is closed before I go to bed. I would not pay anything for an app that closed my bathroom door. I just make sure I check at night. It still doesn't make sense to me.
Roomba makes sense to me. Sweeping is hard and takes a significant amount of time. Flipping a switch is not hard and takes no time at all.
That's cool, I like that one, except the sun does that for me in my case. But if I needed to wake up earlier than the sun, I could see that being useful.
I think light switches are an absolutely fantastic UI. You can look at them to determine state, you an interact with them without unlocking a device and when they're placed well you can just "wave your hand" and lights come on.
However, when the light switches aren't well placed it is nice to add a layer of software abstraction between the switch and the light to be able to rearrange existing switches in your home without having to pull new wiring. So you can essentially just keep what you are already doing but make the existing, mature UI even more suited to your needs even if you're skeptical of all of the rest of it.
This might sound crazy but my remote dimming hue lightbulb is probably my favorite purchase all year - more than my 55" 4k tv and new gaming computer.
Light dimming alone is a huge improvement but the ability to start a movie or go to sleep without needing to get up to turn off the light is really great. Believe me I was just as skeptical as many people here.
All the other options I tried before the (admittedly more expensive) hue bulb were either clunky/big or unreliable.
I installed extra lighting temporarily in the corner of my garage/shop. By using a zwave outlet controller, zwave light switch, and Home assistant, in about 10 minutes I could turn those lights on or off with the main lights without having to rewire my garage. When I’m done with my project I can simply take the lights down or move them around the garage without changing any wiring. It’s simple and convenient.
Another benefit not already mentioned is home security. Getting some cheap zigbee window/door/presence senors, I was able to completely set up a home security system for < $200 by myself. That's about an order of magnitude less than existing solutions. Granted its a self-monitored solution, you could just as easily pay for a monitoring service afterwards.
Is your first reaction to anything you don't understand to question its existence? Maybe try to find the value others see first, then you will be better prepared to weigh that value against your own values.
No, the questions in the original comment were posed in a clearly dismissive way, in a way trying to get others to join in the dismissal ("Does anybody else..." isn't an honest question, it's a call to action).
I don't get why people are all excited about pushing buttons on a machine to write. Is it so hard to carve stuff into a stone tablet? Help me out here.
(Seriously, I use a nanoleaf aurora to make a nice sunrise to wake up to, and it also acts as a clock and part of it lights up red if any of my servers are down. I'm pretty excited about open HA.)
How does it compare to OpenHAB 2, other than the language (OpenHAB is written in Java)?
I'm currently running OpenHAB and it's rock solid (I have one with >2 years uptime on a BananaPI). If I want to extend it, I usually write Python scripts that either use OpenHAB HTTP API or send MQTT messages, so I've not yet felt the need to write Java code. While I'm proficient with Java, I'd have to set up a development environment.
But the OpenHAB scripting language - while very powerful - has a very steep learning curve. It's hard to work with if you don't use it all the time and you end up having to google everything single thing you want to do.
The Home Assistant community appears to be more active (about 2x) and the barrier for entry is much lower.
> The Home Assistant community appears to be more active (about 2x) and the barrier for entry is much lower.
I would go so far as to say Home Assistant is literally the best open source community out there today. Very active, lots of folks happy to help users with issues, and lots of devs happy to help newer devs through the PR process.
Having contributed to a number of projects via github, this is not true at all. I have had prs closed within minutes with curt replies. That is not how you “help newer devs through a PR process.” In another case this happened for a very clear bug. I’m cool with making amendments but maintainers do not seem open to that often, feeling more content to close things because they see the fix as a “hack”. Compared to other projects HASS is one of the worst I have dealt with, sorry to say.
Obviously this is an entirely subjective thing, and neither of us is "right" or "wrong".
Home Assistant has certainly gotten a lot more particular about new code as the project has grown, but I still feel they do a great job of helping new users along.
Which is sad considering an issue I was attempting to contribute was a bug fix rather than new feature work. Clearly a lot of the earlier code suffers from lack of design.
As I mentioned later I have had PRs accepted but overall I find maintainership to be a real mixed bag. Better run open source projects do not have this inconsistency.
As a counterpoint, I had a really good experience with the 2 or 3 PRs I submitted. They were merged pretty quickly with helpful feedback. It definitely makes me more likely to contribute in the future.
Probably. I had a couple prs accepted by another maintainer fwiw. The code standards were not the issue, nor were unit tests. Not my first rodeo. The later interactions were not pleasant and did not engender much interest in further contribution.
Sorry to hear that you had a bad experience. As an open source project we get bombarded with pull requests where people have spent time and research to create something without reaching out to us in advance. This means that sometimes the way you are architecting your new feature doesn't fit with the current design or our vision. It means that we will sometimes say the feature needs changing.
We are all volunteers and the last thing we want is to start argueing with every person on the internet. The maintainers would burn out pretty quickly. And that means that if we are looking at 20 PRs a night, we will make mistakes and judge too quickly. Can we look at less PRs and spent more time on each PR? Sure, then people get pissed that it takes too long to get feedback on their PRs. There is no winning for us here and so each maintainer will have to find their balance.
For 9272, Pascal has offered the correct solution: a service switch. Every platform could be sharing code with other platforms given enough configuration parameters. We have made the decision that that is not in our best interest as it means that growing one platform now has to be made compatible with all the other configuration options and it becomes a mess. So create a new platform if your change is changing the core of a platform (like removing the template from a template switch). Your comments after the PR got closed got probably missed.
For 9270, you rebased after the discussion took place and I don't remember if the code was different before. The current change looks fine for me. You've removed your clone so I can't re-open the PR for you, but feel free to open a new PR with those changes and tag me in the PR message.
I'm a software developer for one of those biG tech companies programming in Java and c++ all day, and I found openhab largely inscrutable without putting a large amount of time in. In contrast, I had the relatively simple time setting up hass and got to my desired level of automation in about 1hr.
So, it was an easy choice for me. I also really like home assistants philosphy on library code- there is basically no device or tech specific code in Hass, their rule is to only use third party libraries with a wrapper around them. This greatly reduced the scope of the task for developing the internals of a home automation system
Finally, there is now a system in place in has where you can pretty easily write straight python code for scripts, instead of using a yaml config
I've experimented with both Home Assistant, Domoticz and OpenHab. They're all pretty good in different ways, but in the end in decided to roll my own.
They all have built-in scripting, but it's pretty common to send events to mqtt and use some external tools for scripting. In ended up using node-red, because it looked interesting and was really easy to get going.
After a while it seemed like the only reason for using any of those 3 systems was the device support, and since I was just using z-wave, for which there is a nice node-red library, I decided to do it all on my own. It only took a couple of week nights before I had most of the things I needed.
It did feel kinda silly to do drag and drop programming, and I did en up using the function node a whole lot, but in the end I stuck with it because it allowed me to show the family what it does and how it works.
I was able to get Home Assistant spun up via Hass.io on an RPi2 very rapidly, switched to RPi3 for improved UI performance though.
OTA updates have been seamless, but the out-of-box still requires some conf file editing, which may be a turn off for some. It did automatically discover AppleTV, Roku, and Hue (easy pairing).
For integrating "homebrew" sensors I was able to roll MySensors[0] platform with parts lying around in drawers to get house-wide temperature monitoring with a few lines of yaml.
Looking forward to further refinements to the platform!!
This thing seems to be mostly an interface for other home automation devices. In the demo, it doesn't directly control anything important. It's not like there are motor control relays connected to the Raspberry Pi's GPIO ports.
A big question is how this fails. It needs to fail into some safe condition. Raspberry Pi machines have a full Linux and no stall timer, so they can end up crashed or hung. If this thing turns devices on and is relied on to turn them off, that's a problem.
Home Assistant is indeed an "aggregator" for a lot of different home automation devices. Personally, I find it very useful to have my Nest, my ZWave devices, various ESP8266 "things" (garage door controller, temp/humidity sensors, my doorbell, etc), along with my Chromecasts, and the home/away status of my wife and I all rolled into one state machine (plus a lot of "general" information... the time, sunrise/sunset timing, current weather in my area, traffic conditions, etc).
Having all that information in one place means those various components can be controlled intelligently, based on all the available information, rather than just the small island each of them would be on their own.
A Pi is totally optional, BTW. You can run HA on pretty much anything that runs Python3.
Wonderful , this summarized the capabilities of this HAss
> A Pi is totally optional, BTW. You can run HA on pretty much anything that runs Python3.
> Home Assistant supports sensors and switches using GPIO pins (if you're running on a Pi, obviously)
> Home Assistant is indeed an "aggregator" for a lot of different home automation devices.
> Having all that information in one place means those various components can be controlled intelligently, based on all the available information, rather than just the small island each of them would be on their own.
Assuming I have a few lights controllable via GPIO on the Raspberry pi (with custom circuitry to power the lights), what’d be the easiest way to integrate them with Hass?
Yeah, I’m trying to switch to an arduino-based solution, but I just really want to avoid WiFi. And building custom protocols isn’t that optimal either.
Also, the ESP8266 (which supports the Android SDK) has WiFi onboard, and is available in some very small form factors. I'm particularly fond of the WeMos D1 Mini (which you can get for a couple bucks each).
Reasonable satisfied user here. I love python and even contributed support for one particular device to a component library.
But my plan for the next free weekend is to look into Node-RED and a fully MQTT based system. I feel like that's the way to mix and match different frontends, automations, components etc.
If you're a new user, hass.io is going to be the most approachable way to get hass up and running while making it easy to install all of the add-ons and configure things securely + upgrade easily. The docs for zwave on hass.io are pretty straightforward as well
One of the best things of HA is the Emulated Hue Bridge. It allows you the mapping of any kind of Hardware on the corresponding Hue Device. It basically translates e.g. MQTT to Hue. This nicely allowed it to me to integrate my custom built devices in my Home Automation and control them with Amazons Echo Dot.
I had a lot of challenges running home-assistant. Wouldnt find devices properly, issues with devices falling out of the zwave network. Would constantly have to "re-sync".
I went and spent the money on HomeSeer and it has been so much better. Tons of great plugins that just work like MQ for the garage, IFTTT, etc. Has schedules, adhoc scripting integeration so you can run your own shell scripts on events, multi-event groups, a decent UI, logging and strong device support.
Its strangely written in VB but from a device support standpoint has been extremely solid and finding any device i throw at it quite easily.
I originally tried to use OpenHab and was turned off it because it required me to define all my stuff manually instead of discovering it automatically. Does HA do the same thing?
Haven't used it but I've heard openHAB is an option to speak to the various devices (alexa and hue directly supported, sonos and roku supported through IFTTT)
I love Home Assistant, by far my favorite automation platform. I couldn't recommend it more. At home we use it to automatically dim the lights based on the luminance outside, send us messages when laundry is done, activate and deactivate our alarm system based on who is home, turn the radio on in the morning when we enter the living room, turn off all lights in the house when we go to bed, etc. etc. !
I really really wanted to set this up and have it working, but configuring devices and actions with it is so unnecessarily complicated that I ended up writing my own scripts to do whatever I wanted rather than writing templating code inside YAML config files (literally) to do certain things.
If you want to build everything yourself you can get stuff for very cheap eg a pir sensor for 1$ and it will be a good learning experience. If you think it's fun you can even start selling stuff, there's a huge market with huge margins.
Last time I looked into this there was an uninvuative (for a newbie) config file that required a server restart to see changes. Not exactly the easiest way to learn as it was a very slow feedback loop.
I have been using the web interface on Android without installing anything. Home Assistant leverages web app manifest (essentially, creates an icon in apps list/homescreen which opens the web interface in a full-screen web browser).
Besides being able to install it as a Python package on Python 3, you can also install it using our Hass.io OS. Based on ResinOS and powered by Docker, it offers over the air updates and management of your device via the user interface: https://home-assistant.io/hassio/