EQ3 BT Smart Thermostat working with v ≥ 2022.7

Also a command to push 4 chars for n seconds to the lcd. Because i can

4 char for max temp

Will BTHome help with connection problems?
I have so much disconnections and since esphome has improved BT it has gotten worse. The esp with BT proxy has to stay on 2025.12, else the eq3 are not reachable at all.

That’s odd, have you tried the Bluetooth firmware that disables pairing?

It will improve these things for sure:

  • Battery life, since fetching the state of the eq3 from home assistant will require no connection and the data is sent via the existing advertisments of the device
  • Data lag, because data won’t be sent only every 10 minutes (or less if you are using my custom integration and configured to be more often)
  • Bluetooth connection slot usage, because connection is only needed when actively sending a command from HA

It is possible that having less active connections on average makes it work better when actually sending a command. We’ll see. I think it will work much better

Another feature to consider: using an external thermistor that HA pushes to the trv at some interval (with the eq3 falling back to the internal thermistor if it gets no external reading afet a while)

For now keeping into the “maybe” unless someone actually needs this). Same with the window open detection.

no, they are all V1.20. But i tried to trust them, at least the ones using BT dongles rather then ESPHome.

OT
Since the BT changing startet, also my bluetti batterie very often disconnects and i need to switch there BT on/off. Before i could restart the BT Adapter by an automation to get it working again.

May be pairing related. If you flash the noauth firmware it will probably already work well. All versions have pairing, some have broken pin security and the last official one has proper working pairing security. Upgrading is already reversible, you can flash any version from here: GitHub - dbuezas/eq3-flashing · GitHub

I may come up with a browser utility to flash once i finish my own firmware (which I’ll call v2.00)

New feature in my todo: a mode without pairing but with encryption in both directions.

Encrypted BTHome for eq3->ha and active connection without pairing but encrypted for ha->eq3

Just solved the issue of advertisements not being sent while a connection is active. At least from the device side

Another thing I’ll do is show how to reflash it with a lower minimum voltage to use with rechargeable ni-mh batteries, which have a lower nominal voltage.

This will require soldering a couple wires and reflashing with an stlink dongle, but it should give a more reasonable battery life with rechargeables. Worth testing that the motor doesn’t stall though.

This is only possible because I managed to forge a hacked ota firmware that dumped the whole firmware literally byte by byte. I made the original firmware return one byte at a time of the lower flash which is not part of the ota flashable firmware.

This is absolutely amazing!

Clearly you have put alot of work in on this project. Thank you for your effort. I have just purchased another eq-3 off Ebay to flash for my first go at new firmware to see how it compares. I have 15 others running original firmware.

Awesome!
Yes I hot a bit obsessed with it hehe. Months trying to crack it open through different methods including voltage glitching (fascinating topic). In the end i found the aes key in ram and got to understand the ota protocol good enough to make it spit bytes of the flash one by one, which took a while to download, but got me the whole flash content.

Once opened, the features part is surprisingly the easy part. I wished for most of these features for years so I’m happy as a clam it is finally working. To be honest my hopes dor BTHome were low, but it actually worked!

I got a good deal for 8 eq3 to sacrifice. So far 5 dead, one of which i already recovered, and another one i hope to recover. The other 3 are bare pcb and stm8 since they were test and target devices for voltage glitching, which requires isolating the mcu.

I have high hopes these trvs will actually end up being actually among the best ones for home assistant, and cheap, we’ll see.

Very interested to see how this goes. Batteries brand an important factor with these. Energizer last longer than Varta I have found. I wonder if anybody has found anything else to work well?

Ive used random alkalines and attributed mediocre battery life to the 1hz update rate in HA. If reducing the minimum voltage doesn’t result in motor stalls, this should probably work rather well. Particularly with ni mh batteries

i try to follow the flashing guide.
The eq3 is connected to a ESP BT proxy, but i tried without the proxy too (~5m away from the BT dongle)
How do i ensure its not connected to whatever?
Pairing from HAs ssh has worked once, now it says: error, already paired.
Its not connected to android, i deactivated it and restarted HA.
I switched eq3 BT off and on, i removed batteries.
But on flashing it cannot be found.

What can i do?

Try disabling the device in home assistant, then power cycle, then the steps

Thats what i have done.

There are 2 flashing options try both. Let’s move this discussion to the GitHub issues in the repo

Fun fact: i am adding so many features that i got out of flash in the stm8 chip. I found there’s around 200 bytes of code duplicated in the protected non-ota region, and the ota upgradable part, which i think I’ll need to get rid of to fit more stuff.