At present, the Broadlink integration creates an individual remote code file for each Broadlink Remote that is added to Home Assistant. As a result, remote codes learned by, for example Device A, can only be called using the Command Name by Device A. Other Broadlink Remotes (Devices B & C) can only use the Base 64 code if called via a YAML service call.
Instead, codes learned by any Broadlink remote should be stored in such a way that any other Broadlink Remote can leverage the stored Command Name, assuming said device supports the given transmission method (IR or RF).
Just raising an issue here, this will/could cause breaking changes.
If living room has a TV and broadlink then you learn on/off button.
If the kitchen has a different TV and broadlink you learn it on/off.
So which on/off is now correct?
Also some might have this templated to know what room you are in and just fire off on/off button to the broadlink in that room.
Personally I did have a couple of identical TV’s and did only learn the codes once. I edited the backend JSON to duplicate them over in .storage. It was easier than learning them twice.
I tried editing the codes files but HA ended up reverting my changes. Still, I’d rather not have to edit anything in .storage and I’m certain the devs would agree.
An alternative would be to use scripts. From back in the day, I manually captured all the codes I needed. You can parameterise the entity ID to use the correct remote:
I used the learn process to build one of them, then the learn process to build one button of the second one, then edited in the remaining codes. That way HA built everything structure in the JSON, I just had to add rows.
But not having to screw with .storage is the best way for sure.