Nubbie. Techie. Extremely frustrated with HA :(

Hi guys,

I’m sorry that I have to share it that way, but I just found myself looking at alternative software, after over 2 weeks of configuring HA, so I’m thinking maybe there are many others who tried and let go silently - and you guys should be aware.

I truly appreciate all the efforts you guys are putting into HA and I deeply wish I could help you with development. I’m really sorry for having to write such negative words, please bare in mind it’s just to try to make things better, not to bash for the sake of bashing.

I’ve been writing code for most of my life. Have lots of experience with Python, Java and web. In the past 15 years I’ve done lots of product management and UX work, for big and small companies. I’m techie enough to be able to configure and write scripts for a home automation system.

Just installed HA 2 weeks ago and have tried configuring it to do some basic stuff. While some things are working great, the majority of what I’ve tried to achieve simply doesn’t work. I ended up writing python scripts to do the stuff HA components should have been doing :-/

Basically, there are 2 major issues I keep bumping my head into:

  1. The YAML syntax is AWEFUL. It is not mediocre, it is just unbelievably bad.
    It’s a mix of a terrible markup language and a confusing implementation.

Here’s an example:

- alias: "Piano light off 23:00"
  trigger:
    - platform: time
      at: '23:00:00'
  condition:
    - condition: state
      entity_id: media_player.yamaha
      state: 'off'
  action:
    - service: light.turn_off
      data:
        entity_id: light.piano_light

This is a simple automation rule that turns on a light at 23:00 if the amp is off.

  • Why do you have a condition inside a condition? Yes, I know one is a section and one is an item, but why isn’t it so in the action or trigger sections?
  • Why does entity_id appear as an integral part of the condition item, but has to be in the data section of the action item?
  • Why is it that some of the values must be specified as strings (offset: “-00:15:00”) and others should not? (in a data section, message: hello).
  • Why do you sometimes use sequence and sometimes action? What is the difference? It seems to be selective - sometimes you have to use this or that.
  • In the automation trigger section, sometimes I see examples that force an array of items even when just one item exists, and sometimes not. I actually found that changing from a single item to an array solved a problem I had. Very strange.

These are just a few examples.
It literally took me HOURS of work to write simple automations. I looked up the documentation, downloaded a couple of published configs - and still, couldn’t figure out what the correct syntax was :frowning:

2: The second big frustration: I have tried to use few components and most of them simply do not work.

  • Yamaha Receiver: keeps disconnecting/not connecting. It should have sent 4 consecutive commands, one morning it skipped the 'set volume" command and the result was a stereo playing full-volume at 7am…

  • Panasonic Viera: it took me HOURS to understand that I couldn’t use:

    • condition: state
      entity_id: media_player.panasonic_tv
      state: ‘on’

in a script. It didn’t work. I ended up copying some strange code that declared a boolean_input field, set it at startup and when the tv status changed, and used it as the condition for a script. Only that way worked. WHY??

  • Kodi: for the life of me, I couldn’t manage to issue a media_stop command in an automation script. It did work when I issued it in the UX. BTW: why is it media_stop and start_media? why not media_start?

  • Broadlink RM switch: managed to receive IR codes from the unit. Every time I tried I got a different code (using the same button!). Transmitting never worked, not even from the UX.

Some components that do work nicely: Yeelight, Ifttt and Pushbullet.

I ended up writing Python scripts to control my Yamaha receiver, Kodi installation and Broadlink switch. My current HA scripts just call my Python scripts and it works nice. But I’m missing all the nice HA functionality here…

Along my struggle I’ve found the log files useless. There is nothing helpful there. Found out that the Broadlink module sometimes gets a timeout from the socket and that Kodi didn’t issue any command at all. Also, on a local installation I have on my laptop (Windows) the homeassistant.start event does not fire. Nothing happens. On my RPI it works ok. Nothing in the logs to explain what is going wrong there.

The need to restart the server for every change in the config files is like adding an insult to an injury. For every change I do I have to wait a minute to see what happens. This can be fine for production mode, but when I write a script - it is simply too much to ask.

Again, I am sorry for writing so much and I know it sounds like I’m here just to complain and bash. I’m not. I’ve spent huge amount of time (seriously, to the point where my wife claimed I’m obsessed… but I was, I just HAD to figure out what I was doing wrong!) trying to configure the system.

I’m sure things can be much smoother, especially for HA nubbies.

7 Likes

If you have the outlook of a programmer, maybe take a look at AppDaemon

3 Likes

I started out with Openhab and I miss the error logs, automation programming.
I reatch a much more automation home in days , that I have not been able to ahivce in HASS. But the components are much more basic in openhab, I’m was not able to find a way to play internet radio in mp3 on it, but programming was so much more intuitive.
I would love to be able to combine the hass componets with openhab configuration and automation, but you cannot have all.

I agree with point 1, yaml is a terrible scripting language, which is why I switched to using appDaemon, so all the scripting is done in Python.

I don’t use any of the other components you mention, so I can’t help there.

3 Likes

Thanks guys. I’ll give AppDaemon a try.

I completely agree with #1. Like gpbenton that’s why I switched to using AppDaemon for the automations. HA does a good job of bringing the components into a common platform where we can access them through AD and then do whatever we want.

HA has come a long way, and so many things change with each release that sometimes I miss things. Like at some point back they gave us the ability to reload automations without restarting. It doesn’t fix the overall YAML problem, but at least I don’t have to do a restart of HA every time.

AD has it’s own log file which is entirely composed of items you as the developer put in it. I hardly ever go back to the HA log files anymore. But with that said, my AD log is getting pretty busy now too. I need to go through and clean it up some. But since I’m using AD it’s something I can do without opening a request or anything. I’m in control. :slight_smile: (yes I’m a bit of a control freak when it comes to coding).

As for the components not working, I’m mostly using light switches, wall outlets, and multi sensors, so I don’t have the experience with the components you are using. I imagine that the reliability of the components is probably closely tied to the number of people using the particular component. But the good news is, as a developer, if you want to see it fixed, the code is available and I’m sure others would appreciate any help they can get maintaining it.

HA does have a steep learning curve especially when it comes to the YAML configuration. Some of the reason for that is the large number of developers, each with a slightly different slant on how things should work I think. Having worked on large development projects I’m sure you know how each developer has their own style. You can often times tell who wrote something just by looking at the structure of the code and the choice of variable names, and flow control. In a user driven solution like HA, there aren’t the same rigid structures as there are in an application team, so things tend to get done quicker, if somewhat less consistently in their implementation.

The good news is everyone here is willing to help if you have questions. They may discuss it passionately for a while, but they are all willing to help. :slight_smile:

7 Likes

For someone who isn’t a coder on any level, like me, it works really well. Apply simple common sense and it all becomes clear. I had no problems getting HA to know when my Panasonic is on or off.

I think your background has just made you expect it to be more complicated than it is.

6 Likes

I agree that YAML is neither perfect nor pretty, but it works for simple automation. As @aimc said already, for more complex tasks, try AppDaemon.

If some components work better than others it may simply be down to the fact that this is a relatively young, fast growing open source project, where new components are contributed by many many people. And as it is with open source software, if you find some problems and errors and your are into programming you are free to find it, fix it and contribute back, so others might benefit as well.

why is it media_stop and start_media? why not media_start?

If you look at the service panel you’d see that it actually media_play, media_pause and media_stop, so it’s pretty consistent.

On a side note, I really wonder how such a tech savvy guy doesn’t know the difference between UI and UX. (I’m sorry, but I just couldn’t help it)

2 Likes

I’m sorry if I have to continue this, but it got me thinking, if you had issues why is the only post on this forum a rant about how bad HA is? Did you open an issue on github for things that are broken? Maybe you were more active on gitter asking for solutions and such, I don’t know, but this is the main place for support.

As @turboc stated, this is a friendly, helpful and very active community, so I’m sure if you would have posted a word about any of your issues and had asked for help, assistance or suggestions, someone would have provided these.

So please go some place else for this unqualified ranting. Open source projects are for people who are interested in the things they want to play with, not for those who just look for a cheap solution.

5 Likes

Thanks for all your comments, guys.

cgtobi, you seem very bitter. I’m sorry if my words hurt you in any way, but you will not change my point of view by insulting or being offensive. I am sure there are MANY more ppl like me who simply gave up. I just chose to share my feelings in hope that things get better.

The problems I’m talking about are not related to code. They are not related to specific bugs.
You cannot expect a user, whether they’re techies or not, to dive into code and try fixing stuff, especially when the problem is of that magnitude. The issues here are strictly UX. It is the entire way I am expected to work with the system and the way the system helps (or to be more accurate: doesn’t help) me in the process. Do you really expect me to spend hours trying to figure out why I should be using input_boolean to follow my TV’s status, instead of just querying the TV state itself? Why do you think this is viable?

I see from your signature that you’re really involved in home automation, maybe you’re a part of the HA team. That’s great. I’m not. I do not know enough about the entire home automation world (just bought my first Yeelight a couple of weeks ago) and I certainly don’t have the capability to come up with a product-oriented solution for this terrible YAML problem.

My objective was to raise a flag. Maybe it’s just me. I don’t think so. I think many others tried and gave up.
I think the leaders of HA should take this into notice. The community here can be amazing, I honestly didn’t try asking for help and I’m sure I’d received it, but the current UX (UX, not UI) is way too complicated for the average user.

Re AppDaemon - thanks guys for suggesting it!
I’ve already written my first app, looks like a great solution and managed to do what I needed in a couple of minutes!
Also, you really don’t have to restart the entire system which makes working very quickly and easy.
I even managed to debug my own code - this is super friendly for a developer.
THANKS A LOT!

2 Likes

I did not mean to be insulting and I respect your opinion. It is just my experience with open source projects that you can rarely download it and it works out of the box. You get great value, but you have to pay with your own time to get it to do what you want. Why I may seem bitter is simply the fact that is is easy to put up a rant about this and that not working but it is much more involving to help and improve these things. I am not a part of the HA team, I am simply a user and proud member of this community and I certainly don’t expect every other user to be fluent in python and get their hands in the code and fix things themself. But if components don’t work as expected I really wonder if it is much to ask for users to open an issue on github or at least a thread on the forum rather than just giving it a go, finding out that it’s not easy - and by all means home automation is a vast field and not easy at all - and than giving up and rant about how poorly things are made.

As I said, I respect your opinion, and it certainly is worth a discussion.

5 Likes

As cgtobi says, we can only suggest things if you ask questions when you are having problems.

Most open source projects are going to suffer from poor documentation, especially in the beta phase when development is going fast, so your best option if you have a problem is to ask.

3 Likes

All ranting and reply-ranting aside.

There is also a really nice web dashboard that just came out of beta, that’s available as part of AD. It still lacks some components and will continue to be upgraded as time goes on, but it’s a great starting point if you want something a little more polished than the standard HA UI to play with.

It’s nice having another developer around in the AD world. We get into some spirited discussions when you get Rene and I started. :slight_smile:

3 Likes

Sounds promising.
What is it called?
I’ve found this: https://github.com/andrey-git/home-assistant-custom-ui
Is it that?

It is here:

https://home-assistant.io/docs/ecosystem/hadashboard/

1 Like

I am an average user if you mean that as someone who has zero programming experience. I think the way they have done things is very average-user friendly and yaml may suck to people that know what they are doing but it has been perfect for me to dip my toes in. This seems very much like an issue where you know too much, and so the appdaemon approach is perfect for you. For me, I have not touched appdaemon and do not have the capability to yet. However I have got an extensive HA setup using the yaml.

So it really depends on the HA people’s target userbase. If they are targeting people like you who know how to program then yeah yaml is dumb. But since there is appdaemon for you guys, I think yaml for us noobs is a nice way to dip our toes into HA. There is also documentation and the forums that literally will help you with every single issue you run into. So going into things as a humble noob you have plenty of options if you are humble enough to ask for help. I guess if people are coming in as an experienced programmer that feel above seeking help then their options are limited to their own knowledge.

5 Likes

Thanks!
Looks really nice!

Thank you i agree :ยิ้ม:

I am a HASS nubbie, who also been programming for years (learned on Z80 asm). I too feel your (@moti_r) pain. I started with Tuxedo, then got a Almond Plus, now looking at HASS on a Pi3.

Setting the stage …
Tuxedo (Honeywell product), was very dependable. I sold it with the old house in November. The new owners have not got broadband yet and the Sun rise/set is still has not been updated. When I drive by the outside accent lights are still coming on although it is daylight. Tuxedo only supports Z Wave. Tuxedo big down fall is not very active with support for new devices. I had a simple dual switch device and Tuxedo would only support it as simple binary switch. Also you could not send back commands to configure devices. But it could take advantage of the Alarms Sensors.

So when we bought the new house, I needed a new router, that’s when I found Almond Plus (A+). Supports Z Wave, zigbee, and IP. It can not take input from Alarms Sensors. Also, the hardware (chipset) is obsolete. I expect the software updates to slow down. They have some new hardware platforms, but there is the issue of using Alarms Sensors.

So next is HASS. What got me looking was a link from someone who interfaced to a Honeywell Alarm. I have a friend who is in the security business and a Honeywell dealer, so I get good deals on hardware and monitoring. My first attempt at Hasbian failed, because the brand new Pi3 had issues. That threw me for a loop because I kept figuring I was messing up the Hasbian install. Got a new Pi3 and solved that problem. So now HASS has been running in a lab environment for a couple of weeks.

Now to the meat …
My biggest issue is getting a 30,000 foot view of what’s going on. So I am trying to figure out that this is an elephant from just feeling around parts. Getting zwave up and running was tough. It took me a few tries before I realized the connection between Open Z Wave (OZW) and HASS. I still don’t have a good grip yet. Which brings me to the next point. HASS great strength is how fast it software is evolving. So I start googling and run across great information, but without realizing it was for .27 and now we are on .48.1. There needs to be a “better” golden repository of examples. If you go the home page, there are the Docs and Examples tabs and that is where I have started. The example for rainy day, got me learning to set up sensors and how platforms fit in. But there is no flow to them.

I think us programmers try and dig too much instead of asking questions. I know I do. I am tired of posting something to Stack Exchange and getting down voted because something that was close but not what I was really asking. Sorry pet peeve. The folks here are not that way and I need to get better about asking questions instead of spending 2 days figuring it out. I do, but then I feel frustrated and that is my fault.

I will say, if you are able to piddle then if there is not anything in HA that is better than HASS. If there is I don’t know what it is. It is not for those who need dumbed down UI. One other thought, if we had a shot of truth serum, we would say HA is more a hobby than anything. With that being said, you can’t find a better kit that will always take some tinkering than HASS.

5 Likes

moti_r,

You’re not the first to have trod this road. I agree with all you say but no matter what YAML is for martyrs who would crawl on all fours to ascend to a false sacred place. Many of the other issues are similarly bound in custom and bad practice and certainly will never be for the average user. My angle on this was that the product will never grow beyond its niche nature unless the base premises change. I suggested some while back a front end GUI that created working YAML allowing for the best of flexibility whilst guaranteeing working systems for the less able. Deaf ears.

Node-Red is easy, visual and professionally supported. Its dashboard may still be lacking but it can at least be installed easily and it works.

There goes my rant again.

2 Likes