Is this my life now?

I’m a beginner to HomeAssistant. After avoiding it for a year or more, I finally decided to give it the old college try as I have a Savant integration I’m desperate to replace. HomeAssistant seems a more open method for controlling and tweaking the variety of IoT devices I’ve accumulated over the last many years.

After a week of experimenting with running HomeAssistant in VM under Parallels on MacOS, with some foundational success with Alexa, Lutron, Hue, I eagerly purchased a Home Assistant Green, Broadlink RM4pro adapter for RF/IR, and Home Assistant Voice module, hoping to get the rest of the “basics” working.

Some elements of my experience have been less than desirable. I’ve captured a snapshot of my travails from the last couple days below. I can, and will, continue to flog these specific issues in separate forum posts. But I have a more general question at the outset:

Is this the expected experience for setting up Home Assistant in a home with established home automation devices? Should I assume that I’ll continue to hit dead-ends for recommended devices blocked by bugs the dev team won’t fix, and that I’ll have to test multiple alternate pieces of hardware to stumble on one that isn’t blocked by bugs, or alternatively, dig python script out of old forum posts and massage it into working? Is it expected that I roll up my sleeve and start making changes in the Home Assistant core enlistment, or build my own local instance of Home Assistant somehow? (Those aren’t rhetorical questions.)

I’m the first to admit I might be out of my depth, maybe. That doesn’t deter me, I love the learning curve. I possess a bottomless well of sadistic self-loathing that is appropriately matched to the process. But I’d hoping to understand, here at the outset, what I’m signing up for with this new hobby. Is it basically, “bugs all the way down” from the core OS, mixed with hours of fiddling and poor-man’s debugging through log files to get one integration working, then keep it working through future updates?

To be clear—despite the frustrated and sleep-deprived language here—this isn’t a long-winded complaint. I do, truly, just want to recalibrate my expectations: Is this my life now?

Thanks for your thoughts!

Integrating RF commands: My basic need is simple: I need to send two RF commands to my RF drapery receiver. I wanted something that worked “out of the box” without having to build my own hardware, fiddle with soldering and wires, learn whatever an ESP is supposed to be, etc.

I settled on the RM4pro based on numerous recommendations on this site and elsewhere. The newer version, the RM5plus, which has been out for a half a year plus, seemed a better starting place. But after [1-2 hours] digging through numerous links, forum posts, I came to learn the Broadlink Integration for RM5* is blocked on bugs in the stack, waiting for a fix (Broadlink RM5 Plus · home-assistant · Discussion #765 · GitHub, [Broadlink] Add support for RM5 Plus · Issue #150645 · home-assistant/core · GitHub, along with other newer adapters: Broadlink RM MAX is not supported in integration · home-assistant · Discussion #465 · GitHub)

OK, no problem, the RM4pro has been out for a long, long time. One would assume there were numerous existing Home Assistant users using it successfully for years and by now, it would have all the kinks work outed, no? And the initial experience seemed to match that expectation. Setting up the Broadlink RM4pro hardware was problem-free. Adding and testing commands from within the Broadlink app was easy and worked like a charm. Setting up the Broadlink integration in HomeAssistant… easy peasy.

But then it came time to learn commands. After several hours [4-5 hours] of fiddling and fighting with the workflow documented in the official integration documentation, I couldn’t get the adapter to learn new commands—commands that it learned just fine from its own app. Turns out—hours of wading through forums—there’s a bug in the implementation that makes learning virtually impossible (RF Learning Issues on Broadlink RM4 Pro · Issue #149100 · home-assistant/core · GitHub) and the dev team is resistant to fixing it.

Thanks to the many other users having similar issues, there are a number of forum posts with “workarounds” (Y'all I really need help with learning RF codes on my Broadlink RM4 Pro) that gave me some fetid hope for success, which led me into installing and running python for the first time under MacOS, in order to learn the commands at the command line using the underlying broadlink python package, which does apparently have the fix that the dev team doesn’t want to surface for the user.

But!! Attempts to run the commands in HomeAssistant are now giving me “Unknown Error” results that, tracking things down to the logs, seem to be some sort of syntax error in the broadlink config file that [4 hours later] I can’t seem to solve:

File “/usr/src/homeassistant/homeassistant/helpers/service.py”, line 904, in _handle_entity_call
result = await task
^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/broadlink/remote.py”, line 227, in async_send_command
code_list = self._extract_codes(commands, subdevice)
File “/usr/src/homeassistant/homeassistant/components/broadlink/remote.py”, line 152, in _extract_codes
raise ValueError(f"Command not found: {cmd!r}") from err
ValueError: Command not found: ‘Open’

I still don’t have this very simple RF command working in HomeAssistant yet.

Discord: There appears to be mature and well-used support for sending notifications to Discord. It seems like an ideal debugging tool. I figured this would be relatively easy to do. Unfortunately, the learning curve was high here, made more difficult by what I would guess is outdated documentation? (The Discord service documentation (Discord - Home Assistant) still talks about the “Devices & services” UI in Home Assistant, which, after [1-2 hours] I learned there is no such thing as “services” any more, they’re called “actions.”)

Fortunately, I found some posts from other users seeing a similar error (“Unable to find service notify.discord”) and a bug in the homeassistant db ("Unable to find service notify.discord" · Issue #68547 · home-assistant/core · GitHub), I was able to get a couple steps further…. But after several hours [2ish] of trying the recommended syntax, and several other permutations of the same syntax, I still don’t have this working yet.

Schluter Floor Heater: Fortunately, it didn’t take very long to discover the Schluter integration is broken. (Cannot set up Schluter integration · Issue #160104 · home-assistant/core · GitHub). Unfortunately, the official integration documentation doesn’t mention that the integration is unusable. (Schluter - Home Assistant), so I wasn’t able to save myself from the initial install, testing, scouring through log files, and trying different permutations in the setup before I was smart enough to just go straight to a github search.

I haven’t yet determined whether this is something I could fix myself by rebuilding & fixing the bug in the Schluter integration, or even how to do that, but I suppose that’s the next step…?

Home Assistant Voice: This one has a better ending… at least for now.

I set the new HA Voice preview edition up last night. I assumed (hoped) after my preceding issues, this new piece of hardware would have, at least, an easy onboarding experience.

Running through the initial workflow for the device setup was painless and problem-free. Awesome! Somewhere around the stage where the ESP device was created, there was (I think) a transient error for server connection. I couldn’t recreate the error and the ESPHome device appeared in my Integrations list, with an underlying Home Assistant Voice 0a349f Device and 15 associated entities. I could send media to it as an audio output, and the device recognized the wake-on word.

However, it failed to take action on any commands. I dug through logs and found errors relating to failures to connect to Home Assistant, which took me to (Troubleshooting Assist - Home Assistant). The advice suggests I have a “complex network setup,” which I do not, and that the Automatic Home Assistant URL was set incorrectly, which it was not, at least last night.

As I was writing this post up, I tested last night’s voice command… and it worked. Uh, awesome?

So I eagerly went back to “Set up voice assistant” from the ESPHome integration page, and got the cute little bot wizard guy through update checking, initial setup, and eventually, again, a failure at with the “The voice assistant is unable to connect to Home Assistant” error screen, and a “Help me” link that sends me back to the advice listed above.

But, overnight, the Automatic URL became incorrect. Or I was bleary-eyed from fighting with the broadlink until the wee, and I misread it? But now I’ve turned off Automatic (EEK!) and set the IP address correctly, and viola!, I think – think! – things are working…

until I hit the next unexpected issue….

1 Like

Welcome to the bottomless pit! In a/n business/economics perspective, technology behavior is a “nature of the beast” conclusion. With companies adopting “creative destruction” policies, it is purposely planned obsolescence.

We should be grateful there are those smart enough to breath life into devices to prolong their EOL date. So, while many adopt a more negative world view in the state of affairs regarding current technological and programmable prowess, I challenge them to exercise patience, to learn, and ultimately to “ride the tiger”, meaning, accept your fate and move on or rise above and innovate.

I, too, have a RM4pro. Yeah, it stinks they won’t update the architecture to fix RF learning. I got around this by sheer brute persistent force, pressing 1 button over and over and over again for what seemed like an eternity until it finally got it.

1 Like

If you are willing to share your Broadlink config file here we might be able to advise on what the issue is. The log error statement doesn’t mean much to me other than it can’t find the ‘Open’ command - or perhaps the base64 is corrupted.

1 Like

I would be the last one here to try to deny that there are issues in HA and the dev responsiveness seems to be somewhat lacking in areas that would seem to be no-brainers.

But that said I’ve been using HA for over 7 tears now and it has been pretty stable over that time. Most things do just work.

The most common fires that I have to put out are almost always caused by breaking changes (euphemistically now called “backward incompatible changes” as if we are somehow in “1984” and they think users won’t notice the “double-speak”). Some of the b.c./b.i.c are forced on them by changing external requirements. others are self-inflicted. some of those seem unnecessary.

Maybe you’ve just been unlucky in which integrations you are trying to implement and happen to have gotten started with the bad ones.

I will say that I got away from using anything that needed to learn rf signals a long time ago. I have a used RM4Pro sitting in a box along with a brand new RM3mini that I never even took out of it’s box. The devices that needed rf were the least “smart” devices of any of my smart devices. I could typically get the outgoing control commands working but having zero feedback on the actual state was a huge PITA. I know there have been changes in how rf signals are learned from when I used it but I have no experience with the new way.

After dealing with them for a few years I eventually decided it wasn’t worth the continued aggravation and swapped them out for better smarter devices. So that’s my recommendation to you - cut your losses on those devices if possible and get proper devices that are easier to integrate into HA.

zigbee, zwave are good choices. Also any wifi device that has a proper API and allows local control. try to stay away from cloud based wifi devices. those will bring you nothing but woe in the long run.

as far as the other integrations you’ve mentioned I have zero experience with them.

but I’ll say again that what you’ve experienced is definitely not the norm so I will say the answer to your question in the title should be no.

For what it’s worth, there are still “Services” in HA but they are more akin to application services, for example Thread or HomeKit Bridge. Back when actions were also called services, the term was overloaded so one of them had to be renamed. If you open up the Settings page in HA, the second item, after HA Cloud, is still “Devices & Services.”

But to answer your question: YES, this is your life now! Isn’t it great?!

You deserve kudos for searching the forums — and Github! — to find solutions. And for taking the initiative to delve into Python (it’s pre-installed on every Mac btw) for low-level control. Pretty soon you’ll be compiling your own firmware! It isn’t always this difficult, but it comes with the territory when trying to integrate disparate and proprietary systems that were never meant to work together. In my 6+ years I’ve contributed to quite a few bug reports, and even submitted a fix for one — which I’d never done before. This community is great and often eager to help.

Thanks. I’ll put your response in the “set your expectations appropriately” category.

Your perseverance with the RM4pro is inspiring! But not enough for me to go back to button mashing to make this work, especially when the signal learning is so easy with the app.

Thanks for your thoughtful response. Based on your conclusion, I think I’ll put it in the “your experience is unusual” category, which I guess gives me hope that things can only get better from here?

In terms of the RM4pro & RF signals, I have an existing curtain installation in a custom wall pocket that uses an RF remote for open/close. Cost/benefit on my time, it’s not worth replacing just for Home Assistant, ESPECIALLY if the solution is inches outside my grasp.

But I get your larger point: gravitate to what works. It’s my long-term plan to move to local, non-cloud based devices. Sadly, it looked like this RM4pro was a “supported” local solution and I thought I WAS taking the path of least resistance. Alas.

Thanks! I’ll repost the broadlink challenge in a separate post for troubleshooting.

1 Like

Appreciate your response. I think you’re in the “calibrate your expectations” camp. And I think this was what I was expecting to hear: plan to roll up my sleeves and get to work when I need to.

I’m a recent HA adopter too, just a few weeks ago. My challenges were/are converting another systems programs to yaml. I’ve carried the functions of these programs and devices for many years, and there was more to unpack than assumptions allowed for.

Where I’m going is, I’m having the greatest success by containerizing smaller, individual standalone functions… get them to work… and move on to the next.

There’ll be a smaller pile of work to make the final packaging more manageable and maintainable; technical debt for a later time, but this is what is working for me.

So… I followed the directions offered by a super helpful forum user who… will you look at that… is you:

Y’all I really need help with learning RF codes on my Broadlink RM4 Pro - Hardware - Home Assistant Community

And at the point I wrote this email, I was running into processing errors that claimed the code could not be found in the broadlink commands file. But then, in the process of typing up my errors for a new post here, I solved the problem. It was, probably both of these things:

  1. Buried in the error logs was a reference to “Forest Drapery Control” which I used somewhere along the way as a device name for the curtains but had since changed to “Curtain”. I searched through every YAML I could find, but I couldn’t find this name anywhere. (If you know where these things are stored, I’d love to know!) Rather than swim upstream, I switched to using “Forest Drapery Control” in the broadlink commands file (and in the device name etc.)…

  2. Under the epiphany (that in hindsight is rather obvious) the integration caches its config & command files in memory at startup, I began Reloading the broadlink integration after every change to the commands file.

Viola! I now I have my Forest drapery control working via RF in Home Assistant.

To date, I don’t think broadlink_cl --send ever worked for me - more inexplicable parsing errors - but I was able to copy&paste the base64 encoded output from the learning command, and that was successful.

Additionally, my macbook died almost immediately after I got this working. I wasn’t hosting Home Assistant on it at the time (moved the VM instance to Green) nor was the broadlink adapter attached to it. In effect, there should be no connection between Home Assistant and this macbook other than the browser… And yet, I still blame Home Assistant for the laptop death, most likely due to some form of karmic balancing of success/failure.

Thanks!!

3 Likes

THAT’S HILARIOUS! I just sent you a DM with the same suggestions based on my post, and also recommended looking at clockbrain’s info. Almost 3 years ago now clockbrain is the only reason I got my RM4 Pro to do RF commands. So thanks to clockbrain for spreading RF functionality to a new generation of HA users :joy: :smiling_face_with_three_hearts:

1 Like

@arrrroooooo Glad you got it working.

I’ll add a plea here for more Broadlink users to pile onto the architecture discussion that is blocking the HA learn feature from being updated to make learning RF remotes much easier:

2 Likes

Score five points for this community. I really appreciate the DM! Of course, if my laptop hadn’t gone belly up, I could have saved you the DM.

1 Like

I added some… thoughts… hope they are helpful to the cause not inhibitory.

1 Like