EQ3 BT Smart Thermostat working with v ≥ 2022.7

I think there were two tricks:

  • Restart the BTProxy every 6 hours or something like that
  • Move it closer to the WiFi access point

You’ll have to read the thread to be sure :slight_smile:

To restart it, you can combine these two:

If you don’t know how, just go through an EspHome tutorial

hey matine,
Thanks for your answer.
That’s exactly what I was looking for. :smiley:
This will definitely work for now.
I tried to compile such a button in esphome which of course failed.
That became clear to me after the description.
I think I have to finally dig deeper into the rabit hole of Home Assistant.
I’ve been around for a few years, but I’ve always been too pragmatic about things as it seems. :wink:
By the way, for me it is absolutely not due to distances to the thermostats or to any Wifi connectivity. I can rule that out if that helps in any way.
Best regards
Marc

Hi there,

is there any progress on the integration front? are we getting closer to get this lovely piece of programming art into the normal integration section of HA?

Yeah, I think we’re getting very close, but there’s still a PR to merge on each new HA version. I aim to merge after these two happen:

  • No changes needed for 3 months
  • I have time to follow the process, add tests, etc

I’ll welcome help on the second one :slight_smile:

1 Like

hello everyone, I’m working around the problems at the moment by restarting the proxies every hour and when Home Assistant restarts. To do this, I have a reset button edentity triggered by a push automation to restart the proxy. If I can help with any tests, write to me.

[image]

UI to set the thermostats to away until a set date

(requires v6.0.0)

Tutorial

  1. Add an input_datetime helper to Open your Home Assistant instance and show your helper entities.

    • Name it Away until
    • Set it to Date and Time
  2. Add the Cancel Away script to Open your Home Assistant instance and show your scripts.

    alias: Heating Cancel Away
    sequence:
      - service: switch.turn_off
        data: {}
        target:
          entity_id:
            - switch.kitchen_away
            - switch.living_away
              # etc...
    icon: mdi:home-thermometer
    
  3. Add the Set Away script to Open your Home Assistant instance and show your scripts.

    alias: Heating Set Away
    sequence:
      - service: number.set_value
        data:
          value: >-
            {{ (as_datetime(states('input_datetime.away_until')) -
            now().replace(tzinfo=None)).total_seconds()/60/60 }}
        target:
          entity_id:
            - number.kitchen_away_hours
            - number.living_away_hours
            # etc...
      - service: switch.turn_on
        data: {}
        target:
          entity_id:
            - switch.kitchen_away
            - switch.living_away
              # etc...
    mode: single
    icon: mdi:calendar-end
    
  4. Make a card in your dashboard with this yaml

    type: entities
    entities:
      - entity: input_datetime.away_until
      - entity: script.heating_set_away
      - entity: script.heating_cancel_away
    title: Turn off heating while away
    

You can finally turn off the heating for a couple of hours while you go shopping for a smart thermometer.

There’s now a service to put the thermostats in vacation/away mode that takes a datetime and temperature, this makes the instructions above outdated.

1 Like

I’d like to remove the entities to set the away temperature and duration, the away preset. Also to make the toggle be “unavailable” unless the thermostat is in away mode (set via the service). Is anybody using any of that?

Hi There,
I eventually installed HACS and tried out your new integration because I was tempted by the option to quickly set timed heating schedules.
Many thanks for all the brilliant options! :ok_hand:
It went fine through the discovery process and found all 4 used thermostats. However, it could only connect to one. I read about the pairing issue and I think that could indeed be the cause because only one of them has the older firmware still (for this one diagnostic shows 146, I assume this is an older firmware version).
Now I tried to connect the remaining three thermostats via the command line but I am not successful.
When I try to use the “sudo bluetoothctl” command in terminal it returns “command not found”. If I then use “bluetoothctl” on its own the command line just starts an endless process of scrolling through detected blue tooth devices, continuously updating.
I know my thermostat’s MAC and I know the pairing code, how can I get home assistant to connect eventually?

Many many Thanks! :+1:

You can temporarily disable the bluetooth integration in home assistant, that will stop the flood of logs in bluetoothctl. Then just follow the steps as before.

Or you could use a BTProxy (they skip the pairing step and it somehow just works).

1 Like

Thanks, it eventually worked!

Maybe it is a bit helpful for other users if I sum up my steps on how to connect and pair the thermostats if they don’t do so automatically:

  1. Get HACS and for this also a GitHub account
  2. Install SSH add-on and mateine’s HACS integration (will require a couple of restarts)
    2.5 (optionally deactivate home assistant’s own Bluetooth integration)
  3. When using the commands (which can be found here: GitHub - rytilahti/python-eq3bt: Python library and command-line tool for eQ-3 Smart Bluetooth thermostats) in the SSH add-on within Home Assistant there is no need for sudo or [bluetooth]#
  4. Paste each command at a time and hit enter, if you paste all at once it won’t work.
  5. Record the pairing pin, it won’t change no matter how many attempts to pair you use.
  6. I started working down the list of commands until I reached “scan on”.
  7. Now quickly start the pairing on the thermostat and paste the rest of the commands (obviously with the MAC and pin replaced with your own ones). You need to be relatively quick here.
  8. When asked for the key number just put the 6 digits and nothing else
  9. Then continue with last 3 steps.
  10. Activate the Bluetooth integration again and reload. All should be working now :+1:
1 Like

Hello @mateine,

this weekend one of my thermostats stopped working (shows unavailable). I tried to re-pair it, disable/enable ble at device, reboot HA and power cycle the thermostat. But I still get this error:

ERROR (MainThread) [custom_components.dbuezas_eq3btsmart.climate] [Thermostat living room] Error updating: Characteristic XXXXXXXX-cd29-0996-af41-YYYYYYYYYYYY not found!

The device is still paired. Any ideas what could be the issue?

Ii really love this integration, since I can send all devices together in vaction mode. A feature the android app is really missing.

try opening a terminal with ssh, forgetting and re-pairing. You can also factory reset the device

Tried everything. Remove, re-pair, factory reset, delete from HA and rediscover. I would say the device is broken, but in Android App it works. No idea any more

I had this once and forgetting the device with Bluetoothctl fixed it

Hey there, I just need some clarification. My situation is: I have some eq3 and I use 2 raspberry pi zerow to connect to them and the raspberry pi send the data to my HA server via mqtt. They need the pairing procedure with the raspberry pi to work properly. Now I would like to make things easier. I have 5 esp32 that I can convert to esphome and use the BTproxy to remove the need of the raspberry pi zerow. Will it work? How do I pair the eq3? How do I configure the HACS component to work with it? Thanks

Just install it as described in the readme.
Thanks to some smart contributors (and very bad firmware) btproxys reportedly somehow work without pairing (even in new firmwares). I found it to work less reliably. I hope it was possible to downgrade the firmware

Thank you so much for your reply :slight_smile: can you elaborate “less reliably”? Just to understand if I can live with it

The one time I tried it, a thermostat tended to become unavailable some times. You’ll have to try it, it may have just been interference

I have 9 of them. 8 of them work perfectly, but there is one that I have, from time to time, a problem with: it does not reply to my raspberry pi anymore. The only way to make it work again is to remove the batteries inside. I never tried to change the position.

I will try with btproxy and report. Thanks!