Fix the homematic integration

Hi,

the homematic integration isn’t working correctly with SSL. Furthermore using the integration without SSL could result in serious security issues. There is no way to set the correct port. There is an existing solution to fix this but the core developers aren’t willing to accept the solution, see https://github.com/home-assistant/core/pull/47609. So please fix that.

If they are not willing to integrate into the core install, cant you implement as a custom integration wit the changes you want to include?

i cant see them implementing a feature request if they have already said no to the PR

The logical solution in a situation like that is it to add it as a custom integration (with the 2 line change) until a config-flow version is created. This feature request will get more eyes on the problem and get someone (hopefully the code-owner) to change the integration to config flow.

@aidbish The fix which was provided was imho trivial and wouldn’t harm any one. In my opinion not adding this has something to do with some kind of ignorance and arrogance, which comes from not be willing to make exceptions, even if there are serious reasons for it. But I repeat my self, I wrote this already at the PR. Don’t get me wrong, I definitely share mostly the opinion of the project owners from a long term view. I was also starting reviewing what needs todo to change the integration as the PR was created, because I also was interested in helping getting this done, even Python isn’t my preferred programming language. But this experience was so frustrating that I’m not willing to spend my time with this project from a code contributor perspective. My current solution is to overwrite the file within my docker compose file to get this working. If someone using docker is interested in sharing my solution just let me know.

@petro Yes now we have to wait…

Why go through the trouble of docker compose when you can add it as a custom integration and it works for everyone, not just docker compose.

Problem with exceptions is that if you add one, you leave yourself open to being required to add others as you have created a precedent for them.
it may not be the desired out come you want, but to stick to defined goals and standard should be strict.

In this case there is the option to make a custom integration while some can build the config flow so all is not lost

1 Like

@aidbish I don’t agree. Defined goals shouldn’t prevent you to fix obviously broken thinks and improve the security of a product, even more if you have on the other hand an unknown timeframe when you will fix that in the preferred way. Bad decisions remain bad even if you have a good goal in mind. Just imagine if apple would break the camera feature and aren’t willing to fix that until the have designed a new ui for it, because the decided that the will do that first, but they don’t have even started with the new design. :sweat_smile: Anyway the best I/we can do is to wait.

Well, no. The best you can do is use a custom integration (as outlined above) while you or someone else works on a PR for config flow.

Maybe you don’t know how to make a custom integration from an existing integration? It seems like you keep dancing around this and I don’t think you’re doing it on purpose. So let me elaborate:

  1. Inside your config directory, create a folder named custom_components

  2. Create a folder inside custom_components named homematic.

  3. Copy all the files from here into custom_components\homematic. You can use gitzip to download the whole folder, it’s a chrome addon.

  4. Make the 2 line code change.

Now you’re done. You are using a custom component for homematic with the changes you want, while you wait for config-flow to be added.

This method works on ANY home assistant install, not just docker. It also removes any issues that might arise if changes occur to the homematic integration while waiting for config-flow. Your docker method has a chance to break (very very low chance) if you’re only replacing that single file.

@petro You are right I didn’t have a clue how to do this until now. Thanks for your tutorial, but I don’t have a need for that since the file where the yaml definition will never be touched again (see PR) and I want to get all other updates related to this. So just replace this with docker works fine for me and seems the better solution for my needs, since I will not use home assistant without docker.

Yep, just keep in mind that things could break if there’s a change to the file you’re replacing and the other files rely on that change. That file has more than just config validation.

2 Likes