EQ3 BT Smart Thermostat working with v ≥ 2022.7

The integration for these BLE thermostats has been broken for some months.
Until a fix is available in the core, you can use this custom component:

Instructions there! :slight_smile:

I didn’t make a PR to the original python library repository and HA core for reasons explained in the repo. A bit lazy on my side, but it is getting too cold to be perfect :grin:

image

image

image

Differences with the original component:

  • It works in HA version > 2022.7
    * Supports ESP32 Bluetooth proxies (maybe if you have an EQ3 with firmware <v1.20
  • Supports auto discovery
  • Supports adding via config flow (UI)
  • Fixes setting operation mode
  • Allows to turn off by setting temp to 4.5°
  • Retries (10 times) when you change a thermostat attribute.
    * Push instead of Pull. It updates on bluetooth advertisement instead of polling every x minutes (seems to generate less unsuccessful tries)
  • Connections are persistent (this may or may not reduce the battery life, but it makes the thermostats more responsive)
  • Fully uses asyncio (less resource intensive)
  • Current Temperature updates immediately, regardless of when the bluetooth connection is made. The component will apply the change as soon as it can connect with the device.
  • Service to fetch heating schedules and serial inside the thermostat
3 Likes

Do you know how often is the advertisement?

The Valve attribute is not being updated for a very long time. It usually updates as I force the climate component to change the temperature - seems to immediately pull the new value for Valve. However, when I update the temperature and just wait (and it takes the EQ3 a moment to actually set a new value for Valve) there is nothing going on.

Also, are you sure it’s using Proxies? I disconnected my Bluetooth dongle and it kept complaining about “No backend with an available connection slot that can reach address”.

Also, if you’d prefer me to just report those as issues on Github - let me know :wink:

It took almost 10 minutes before it pulled the new Valve value, so I guess it’s fine. Just a bit hard to test if everything works correctly ;).

I am going to move my Pi to a server room so it will have to rely on the Proxy, so I will report back if that went well.

Yes I’m testing the push behavior still. I’m not sure it works that well, advertisments may just be sent evey time the device disconnects, so it just consumes more battery for nothing.
Let me know how it behaves for you.
BTW, do you know if the calor app updates in near real time?

Regarding the BTProxies, I only tested it once, and I had to pair them with the esp32 first. I still need to test it further. Feedback welcomed.

I have 7 thermostats and it is choking a bit so I’m testing a different, better connection scheme, hopefully it is more stable.

1 Like

Try v1.0.0, updates and reliability should be much better now

By the way the component exposes signal strength too (rssi attribute)

(plotted with this card Plotly interactive Graph Card)
with this yaml:

type: custom:plotly-graph
entities:
  - entity: climate.living::rssi
  - entity: climate.durchgang_zimmer::rssi
  - entity: climate.wintergarten_left::rssi
  - entity: climate.wintergarten_right::rssi
  - entity: climate.kitchen::rssi
  - entity: climate.bad::rssi
  - entity: climate.wintergarten_floor::rssi
hours_to_show: 1
refresh_interval: 1
layout:
  yaxis:
    range:
      - -100
      - -50
defaults:
  entity:
    mode: lines+markers
    show_value: true
    line:
      shape: linear

Hi there, any chance to make this work using the novel BT-Proxies approach?

Not until BTProxy implements pairing unfortunately. You can follow this issue: ESP32 Bluetooth Proxies not working · Issue #4 · dbuezas/eq3btsmart · GitHub

BTW, in case you want a challenge: I tried to do it myself but keep failing at it.

Thanks @mateine. Any way we can trigger the developers of BT Proxies to make pairing a priority?

Maybe starting a thread in discord and/or opening an issue in EspHome.
I gave it a try myself but failed

You can express interest in the feature there

Hey, I would like to join, but I think the url is invalid. Are you sure you created a correct invitation link?

It was a link to a discord thread, but I think we should open an issue in esphome/HA instead.

BTW, I just released v2.0.0. With a bunch of fixes and dedicated entities for a lot of things

1 Like

In testing…

im getting authentication cancelled when pairing all the time:
image

any ideas why?

Yes, please take a look at the pairing section in the readme

You can add an emoji reaction to this feature request to show interest in the feature :slight_smile:

New in v4

wow, just want to say: thank you for your efforts! - this works much better now (after solving the pairing issues) compared to the bt-mqtt-gateway solution. Much more reactive and neatly integrated. Good work :slight_smile:
How can we support to bring this into Home Assistant mainline instead of a custom integration?

2 Likes