Eaton xComfort

Hi! I’ve purchased a house that got a couple dimmers, xcomfort ctaa 04/04. No idea what kind of actuator driving the lights. Do I need this bridge (if my actuators could work with this), or is actuators and your «code» enough?

I haven’t been able to reverse-engineer the RF protocol that the xComfort dimmers/actuators use. From what I’ve gathered, it’s a device-to-device, password-protected system that uses rolling encryption on the 868.3 MHz band.

Because of this, my code doesn’t talk directly to the dimmers/actuators themselves. Instead, it relies on the official xComfort Bridge as the interface. That bridge exposes an open IP API, which is what the app connects to.

Here’s the bridge product link for reference:

yes, you’ll need the bridge. The actuators alone aren’t enough to connect to Homey through the app.

1 Like

Hi,

How is this project going?
I want to buy the bridge and Homey pro or Homey pro mini, but it depends on the app being ‘ready’ on Homey :smiley:"

I just installed your app via the GitHub, one word: thanks!!! I had the Eaton actuators bypassed and installed with Shelly’s. (This so that I can use the lights via HomeKit.) But cause of the light switches I had to use both the Shelly and the Eaton actuator.

Now I can remove all Shelly’s and just use the Eatons. It seems to work flawlessly

edit: might have been a bit to soon, It seems there’s sometimes where it says the bridge is not connected? However it’ll work after restarting the app for a short while. Argh so close

edit 2: here’s the error log:

[XComfort] Connection closed. Code: 1006, Reason:

[XComfort] Code 1006 detected - investigating if this is bridge behavior

[XComfort] This was NOT happening in the PoC, so something is different

[XComfort] Attempting to reconnect in 5 seconds…

[XComfort] WebSocket connected, awaiting handshake…

[XComfort] CONNECTION_START received. deviceId=00004D67

[XComfort] Sent CONNECTION_CONFIRM

[XComfort] Sent SC_INIT

[XComfort] Received public key

[XComfort] Sent encrypted AES keys

[XComfort] Sent login

[XComfort] Login successful, received token

[XComfort] Token applied, authenticated!

[XComfort] Unhandled message type: 1

Thanks MikeTango for testing the app and for sharing feedback and logs! Really appreciated :slightly_smiling_face:

Glad to hear it already simplifies your setup.

Yes, I recognize this issue. I have seen it occasionally on my end as well, but I have not been able to find a repeatable way to trigger it. Since this started as a pure hobby project, I put it a bit on ice once the core functionality was working well enough for my own use.

Seeing that there is actual interest in it now is motivating, so I will take a proper look at this again. From what I can tell, the connection to the bridge sometimes drops in a way the app does not fully recover from yet, which also explains why restarting the app helps for a while.

I will spend some time on this over this weekend. Worst case, I can add a temporary safeguard that resets the connection automatically. Best case, I manage to fix the root cause properly.

Thanks again for testing and taking the time to report back.

Thanks for responding! Yeah here it happens after an x amount of time. After that it seems the only way is to restart to fix it, cause every button press will come back with the previous message.

Quick update from me

I do not think the disconnect issue is fully solved yet, but I have made changes to how the app handles the connection internally. In daily use this feels a bit more smooth and less fragile on my side. (As it should quickly reconnect instead of requiring a app restart).

Manual control (on/off and dimming) seems more stable now. I have not tested this version much with automations yet.

There have also been some internal changes to how the app talks to the bridge, mainly to improve reconnects and error handling going forward. Also future proofing, so upgrade to newer homey SDK version, ESM modules and conversion to typescript.

If you feel like testing the latest version from GitHub and letting it run for a while, I would appreciate feedback on how it behaves in normal use.

All changes from today are here in the main branch:

Thanks again for testing and for sharing feedback. It really helps.

I’m currently abroad for a few days, but when I’m home I’ll test it out! Was following along with the build a bit, so did test out another build which seemed to work almost flawlessly. For now I’m only able to add my devices as room to function (I have non dimmable actors and wall switches) but I’ve just given every actuator its own room. Thank you for updating, I dabbled with AI a bit to try and get it to work, which sorta did, but not perfect. Your build seems to work almost perfect

1 Like

GitHub - MikeTase/Eaton-xComfort-Bridge-Homey: AI generated code for linking Eaton xComfort Bridge with homey I managed to tweak a little using AI. Working flawlessly now with turning on/off, really fast.