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:
- 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
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’
- condition: state
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.