pgerke / homebridge-freeathome-local-api

A Homebridge plugin that allows controlling you free@home setup using the local API provided by the System Access Point
MIT License
18 stars 2 forks source link

Only basic thermostats seem to be supported #74

Closed DrMWeigand closed 1 year ago

DrMWeigand commented 1 year ago

Describe The Bug: Not all free@home thermostats are added to Home app

To Reproduce: Try to add free@home system with basic and comfort thermostats

Expected behavior: All thermostats should be displayed and be usable

Plugin Config:

            "name": "xxx",
            "host": "192.168.x.x",
            "user": "xxx",
            "password": "xxx",
            "tlsEnabled": false,
            "disableCertificateVerification": false,
            "motionSensorAutoReset": true,
            "motionSensorDefaultResetTimer": 20000,
            "verboseErrors": false,
            "experimental": true,
            "platform": "FreeAtHomeLocalApi"
        }

Screenshots:

Using mixed config of basic and comfort thermostats

Bildschirmfoto 2023-07-26 um 19 30 17

Only basic thermostat is displayed

Bildschirmfoto 2023-07-26 um 19 31 34

-> Unknown door opener devices are displayed instead

Environment:

pgerke commented 1 year ago

At the moment the plugin supports room temperature controllers with the function ID 23. I suspect the Basic and Comfort RTCs are new devices that have a different function ID and possibly different pairing IDs, channels, data points... @DrMWeigand, could you kindly attach a device config file so I can confirm?

The door openers come from the welcome panel and are unrelated to the thermostats.

DrMWeigand commented 1 year ago

Thank you for the fast response. What do you mean with the device config file? The B+J system was not implemented by myself but by an electrician. I don’t have much experience with the free at home system itself and just have sufficient rights for using the API and administrate devices.

pgerke commented 1 year ago

My plugin communicates with the System Access Point using the local API REST interface. Each device type has a unique function ID and devices with the same function ID use the same data points to exchange information. The reason the (probably new) 'Comfort' type of room temperature controllers don't show up in Apple Home is, that it (most likely) has a different function ID compared to the "normal" ones that the plugin does not know. If a device is reported by the SysAP, that the plugin does not recognize, it ignores it.

To support a new device type I need to know the data points on which the device provides data and expects updates. And for that I need a sample configuration from the device. I have created a guide (here: https://github.com/pgerke/homebridge-freeathome-local-api/wiki/Retrieving-the-Configuration-for-a-Device-from-the-System-Access-Point) as to how retrieve a device configuration from the System Access Point. If you provide the configuration, I can try and support the new type in the plugin.

DrMWeigand commented 1 year ago

Sorry for the late answer. I was on vacation and somehow lost track of this. I just retrieved the data as given by your instructions. The function id of the comfort thermostats seems to be 3e. You'll find the .json response for three thermostats that I could unambiguously identify as comfort thermostats attached. Looking forward to the integration of this device type 😊 response_1691572809037.txt response_1691572790383.txt response_1691572671240.txt

pgerke commented 1 year ago

Thanks, that seems to be everything I need. I'll let you know once I have a preview version available for testing.

pgerke commented 1 year ago

I've published a preview version v1.7.0-pre.1 that adds support for the new device type as an experimental accessory. Please feel free to check it out and provide feedback! If there are no issues I'll release the change officially shortly.

pgerke commented 1 year ago

@DrMWeigand any feedback yet?

DrMWeigand commented 1 year ago

I've just installed the v1.7.0-pre.1. Thermostats are now displayed in the Home app and set temperatures on/off state are instantly reflected in the Busch Jäger web-interface. Measured temperatures seem also to be plausible but it's harder to compare since in the Busch Jäger system the mean temperature from multiple thermostats seem to be taken. Only caveat is that for each new thermostat an error message was displayed which was looking like this:

[26/08/2023, 13:19:10] [FreeAtHomeLangstreet] Adding new accessory: Hzg Küche [26/08/2023, 13:19:10] [FreeAtHomeLangstreet] ABB700D78F22 (ch0000): Cannot configure accessory for FunctionID '3e'!

Thank you very much for your work!

pgerke commented 1 year ago

Measured temperatures seem also to be plausible but it's harder to compare since in the Busch Jäger system the mean temperature from multiple thermostats seem to be taken.

Yes, I have noted that myself. I have a room that has two B+J room temperature controllers. in the free@home app I'm seeing an (incorrect) aggregated temperature.

[26/08/2023, 13:19:10] [FreeAtHomeLangstreet] ABB700D78F22 (ch0000): Cannot configure accessory for FunctionID '3e'!

Thanks for that hint. I'll publish a new version shortly that fixes this issue.

pgerke commented 1 year ago

@DrMWeigand The config error message should no longer appear in v1.7.0-pre.2. If you can confirm and don't experience any further issues I'll prepare the release.

DrMWeigand commented 1 year ago

@pgerke I can confirm that the issue with the error is resolved. I tested again to toggle the thermostats and setting different temperatures. Everything seemed to work i.e. was visible in the homebridge log and reflected in the Busch-Jäger web application. Thank you again!

pgerke commented 1 year ago

@DrMWeigand Thanks for the quick feedback, I have published the feature officially with v1.7.0.

github-actions[bot] commented 11 months ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.