I’m looking some advice, trying to get Ensto bluetooth thermostats to HA. Not sure if I’ve understood something incorrectly or something else.
I’m running HA in container in Intel NUC hardware. I’ve got built-in bluetooth in NUC enabled earlier and I have used few RuuviTags for few months. I can read values from them without issues. I’ve understood that RuuviTags are one type of bluetooth device that just push information. As mentioned, the RuuviTags work without problems.
With Ensto’s, my idea was using ESP32 based bluetooth proxy as to my understanding pairing is needed in order to both read values from thermostat and also change values. My idea is to change temperature based on electricity pricing so that I can benefit cheap electricity hours.
I have 3 Ensto bluetooth thermostats installed and I paired them with my mobile phone to ensure Ensto’s app will see them correctly. That part worked without any issues.
Next part is that I ordered Olimex esp32-poe-iso board since I want to power board via PoE and there is easy setup available for that board with bluetooth proxy. I got the board, then went to Ready-Made Projects — ESPHome page, selected bluetooth proxy, correct board type and followed instructions. I got board flashed and after connecting Ethernet cable I immediately got notification in HomeAssistant that ESPHome device found. I added it and now have ESPHome in integration section with single device named “Bluetooth Proxy a17a14”.
After that I have been trying to get Ensto thermostat paired with bluetooth proxy but no success. I’ve closed Ensto app in phone, disabled bluetooth in phone, powered off thermostat and once powered back on, started pairing mode in thermostat and at the same time powered ESP board. My understanding is that with that approach thermostat should not have any active connections that would block pairing.
I have understood that if pairing works, thermostat would automatically appear to HA as new device. But that hasn’t happened so something is not correct or working as I have understood.
If I enabled debug, I can see following entries in HA side (removed last octet from IP address):
2023-11-29 21:56:19.538 DEBUG (MainThread) [aioesphomeapi.connection] olimex-bluetooth-proxy-a17a14 @ 192.168.0.x: Got message of type BluetoothLERawAdvertisementsResponse: advertisements {
address: 119266492624000
rssi: -33
address_type: 1
data: “\002\001\032\002\n\010\014\377L\000\020\007.\037=\310/\th”
}
advertisements {
address: 53854879428635
rssi: -64
data: “\002\001\006\032\377\006(ECO16BT;0;0;0;\000\000\000\000\000\000\000\000\000\002\001\006\032\tECO16BT f5301b\000\000\000\000\000\000\000\000\000\000\000”
}
In log console output, there are following log lines (changed MAC address):
][api:025]: Setting up Home Assistant API server…
[I][app:062]: setup() finished successfully!
[I][app:102]: ESPHome version 2023.11.4 compiled on Nov 24 2023, 00:49:19
[I][app:104]: Project esphome.bluetooth-proxy version 1.0
[C][logger:416]: Logger:
[C][logger:417]: Level: DEBUG
[C][logger:418]: Log Baud Rate: 115200
[C][logger:420]: Hardware UART: UART0
[C][bluetooth_proxy:088]: Bluetooth Proxy:
[C][bluetooth_proxy:089]: Active: YES
[C][safe_mode.button:022]: Safe Mode Button ‘Safe Mode Boot’
[C][safe_mode.button:022]: Icon: ‘mdi:restart-alert’
[C][esp32_ble:374]: ESP32 BLE:
[C][esp32_ble:376]: MAC address: aa:bb:cc:dd:ee:ff
[C][esp32_ble:377]: IO Capability: none
[C][esp32_ble_tracker:645]: BLE Tracker:
[C][esp32_ble_tracker:646]: Scan Duration: 300 s
[C][esp32_ble_tracker:647]: Scan Interval: 1100.0 ms
[C][esp32_ble_tracker:648]: Scan Window: 1100.0 ms
[C][esp32_ble_tracker:649]: Scan Type: ACTIVE
[C][esp32_ble_tracker:650]: Continuous Scanning: True
So bluetooth proxy seems to work, it can see bluetooth messages from Ensto, it can forward events to HA so something must work and based on console log entries the “active” setting is enabled.
But I’m lost where the issue might be. Since I used the ready-made projects, I didn’t need to need to touch any configuration part but based on logs, everything should be ok as far as I can understand.
Should the Ensto thermostat appear automatically in HA or do need to manually configure yaml files in HA side to add the device?
My understanding is that existing bluetooth setup with NUC’s built-in bluetooth should not interfere or cause any issues.