Help needed for new HomeMatic integration

Hi,

I’m currently working on a complete rewrite of pyhomematic, the backend-library used for the HomeMatic integration. It’s called hahomematic. It’s still in early development, but it will allow a much better HomeMatic integration into Home Assistant.

Over time there have been numerous complaints about the current integration not providing devices, not being able to be set up via UI, and probably some other reasons I forgot. And that’s a valid request. I’ve been told the new integration is being worked on. But as roughly a year has passed since then, I think it’s time to create a custom component for a smooth transition ourselves, which might eventually replace the current integration.

For this I need help! Since I’m already investing more time than I have available into the new backend, I need someone who takes care of the Home Assistant part of the new integration. Not all the ugly details - I can take care of that. But I need someone to provide me a boilerplate integration where I can add everything to. I just don’t want to loose too much time figuring out how to do that config-entry stuff with the UI-setup.

This is what I need:

  • A boilerplate, which allows me to add the integration via Home Assistants UI
  • It has to allocate 3 files (json) where hahomematic can store its cached data
  • In the first part of the configuration it should ask for the local listening IP and port of the callback-server. Both options are optional
  • After that the user has to be able to configure an arbitrary number of hosts, which need the following options:
    – name (string)
    – host (IP address or hostname)
    – port
    – path (string, optional, default should be /)
    – username (string, optional)
    – password (string, optional)
    – tls (checkbox to enable encryption)
    – verify_tls (checkbox to enable SSL/TLS verification)
    – callback_hostname (string, optional IP address or hostname)
    – callback_port (optional port)
    – local_port (optional port)
    – json_port (optional port)
    – json_tls (checkbox to enable encryption for communication via JSON-RPC)

For those interested, this is an example script which manually connects to a CCU, fetches all the device data, and creates the internal entity-objects and and their relations to devices.

Why contribute?

  1. If no one contributes, we might never get a new HomeMatic integration (I can’t spend the time figuring out the integration-stuff mentioned above)
  2. All devices will be supported as long as your CCU supports it. Sidenote: Switches, sensors and binary sensors are created by default and should work as you expect. Actors that operate based on numeric values will be exposed number entities IF no custom device-class is available in hahomematic (for that I will need help as well). But in general you’ll still get an entity which you can control via Home Assistant, although possibly without the comfort-services like light.turn_on as long as the customization is missing.
  3. Automatic reconnecting has been prepared, so there won’t be any need to do that manually anymore.
  4. Full TLS support (which won’t be added to the current integration)
  5. Devices!
  6. Setup via UI
  7. World peace! (hopefully, no guarantee given on that one)

So please, if anyone out there could help me with the easy part of the integration, I’ll do my best to do the heavy lifting.

If you want to help, head over to this issue and tell me how you can contribute.

Thanks!

2 Likes