eq3btsmart's People
Forkers
lkempf brianbola90 paulokow ignisf anhardt toalex77 frauwurst bvweerd tomasz-grabowski-netbullseq3btsmart's Issues
Issues with Bluetooth in Raspberry Pi
Hi,
The thermostats are not working on my RPI3 setup. Sometimes 3 or 4 connect, but usually none of them work.
The same setup (RPI and thermostats) worked fine with HA prior to 2022.7.
I see the following in my logs:
Logger: custom_components.dbuezas_eq3btsmart.python_eq3bt.eq3bt.bleakconnection
Source: custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py:124
Integration: dbuezas EQ3 Bluetooth Smart Thermostats
First occurred: 12 listopada 2022 14:08:49 (5725 occurrences)
Last logged: 13:31:53
[Łazienka mała] Broken connection [retry 1/1]: Can't find device
[Salon okno małe] Broken connection [retry 1/1]: Salon okno małe - 00:1A:22:09:B9:D5 -> /org/bluez/hci0: Failed to connect:
[Korytarz] Broken connection [retry 1/1]: Korytarz - 00:1A:22:0B:A1:B3 -> /org/bluez/hci0: Failed to connect:
[Kacper] Broken connection [retry 1/1]: Kacper - 00:1A:22:0B:7B:2D -> /org/bluez/hci0: Failed to connect:
[Salon okno duże] Broken connection [retry 1/1]: Salon okno duże - 00:1A:22:09:94:30 -> /org/bluez/hci0: Failed to connect:
And then:
Logger: custom_components.dbuezas_eq3btsmart.climate
Source: custom_components/dbuezas_eq3btsmart/climate.py:369
Integration: dbuezas EQ3 Bluetooth Smart Thermostats
First occurred: 12 listopada 2022 14:08:49 (5725 occurrences)
Last logged: 13:31:53
[Łazienka mała] Error updating, will retry later: Can't find device
[Salon okno małe] Error updating, will retry later: Salon okno małe - 00:1A:22:09:B9:D5 -> /org/bluez/hci0: Failed to connect:
[Korytarz] Error updating, will retry later: Korytarz - 00:1A:22:0B:A1:B3 -> /org/bluez/hci0: Failed to connect:
[Kacper] Error updating, will retry later: Kacper - 00:1A:22:0B:7B:2D -> /org/bluez/hci0: Failed to connect:
[Salon okno duże] Error updating, will retry later: Salon okno duże - 00:1A:22:09:94:30 -> /org/bluez/hci0: Failed to connect:
Finally
Logger: homeassistant.components.bluetooth.scanner
Source: components/bluetooth/scanner.py:364
Integration: Bluetooth ([documentation](https://www.home-assistant.io/integrations/bluetooth), [issues](https://github.com/home-assistant/home-assistant/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+bluetooth%22))
First occurred: 14 listopada 2022 08:59:37 (57 occurrences)
Last logged: 13:32:46
hci0 (B8:27:EB:53:6F:2B): Error stopping scanner: [org.bluez.Error.InProgress] Operation already in progress
hci0 (B8:27:EB:53:6F:2B): Error stopping scanner: [org.bluez.Error.NotReady] Resource Not Ready
Logger: bluetooth_auto_recovery.recover
Source: components/bluetooth/util.py:112
First occurred: 14 listopada 2022 09:01:40 (47 occurrences)
Last logged: 13:32:56
Bluetooth adapter hci0 could not be reset due to timeout
Bluetooth adapter hci0 successfully turned back ON
and
Logger: homeassistant.components.bluetooth.scanner
Source: components/bluetooth/scanner.py:322
Integration: Bluetooth ([documentation](https://www.home-assistant.io/integrations/bluetooth), [issues](https://github.com/home-assistant/home-assistant/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+bluetooth%22))
First occurred: 15 listopada 2022 04:42:19 (9 occurrences)
Last logged: 13:32:56
hci0 (B8:27:EB:53:6F:2B): Failed to restart Bluetooth scanner: hci0 (B8:27:EB:53:6F:2B): Failed to start Bluetooth: [org.bluez.Error.NotReady] Resource Not Ready
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/bluetooth/scanner.py", line 241, in _async_start
await self.scanner.start() # type: ignore[no-untyped-call]
File "/usr/local/lib/python3.10/site-packages/bleak/__init__.py", line 156, in start
await self._backend.start()
File "/usr/local/lib/python3.10/site-packages/bleak/backends/bluezdbus/scanner.py", line 191, in start
self._stop = await manager.active_scan(
File "/usr/local/lib/python3.10/site-packages/bleak/backends/bluezdbus/manager.py", line 357, in active_scan
assert_reply(reply)
File "/usr/local/lib/python3.10/site-packages/bleak/backends/bluezdbus/utils.py", line 20, in assert_reply
raise BleakDBusError(reply.error_name, reply.body)
bleak.exc.BleakDBusError: [org.bluez.Error.NotReady] Resource Not Ready
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/bluetooth/scanner.py", line 374, in _async_scanner_watchdog
await self._async_start()
File "/usr/src/homeassistant/homeassistant/components/bluetooth/scanner.py", line 322, in _async_start
raise ScannerStartError(
homeassistant.components.bluetooth.scanner.ScannerStartError: hci0 (B8:27:EB:53:6F:2B): Failed to start Bluetooth: [org.bluez.Error.NotReady] Resource Not Ready
Failed pairing none type
I have a error when i want to integrate my eq3. Im on Home Assistant Core 2022.11.3 with a Raspberry pi 4 and have 3 eq3 and 2 of them are not working. And it looks like this.
And in the logs are this errors for 2 thoermostat:
Logger: custom_components.dbuezas_eq3btsmart.python_eq3bt.eq3bt.bleakconnection
Source: custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py:111
Integration: dbuezas EQ3 Bluetooth Smart Thermostats
First occurred: 01:53:29 (1043 occurrences)
Last logged: 10:52:19
[Schlafzimmer] Failed paring: 'NoneType' object has no attribute 'call'
[Schlafzimmer] Failed paring: [org.bluez.Error.AuthenticationFailed] Authentication Failed
[Wohnzimmer] Failed paring: [org.bluez.Error.AuthenticationFailed] Authentication Failed
And this for the other one:
Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht
Logger: custom_components.dbuezas_eq3btsmart.python_eq3bt.eq3bt.bleakconnection
Source: custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py:121
Integration: dbuezas EQ3 Bluetooth Smart Thermostats
First occurred: 01:53:29 (1043 occurrences)
Last logged: 10:52:19
[Wohnzimmer] Broken connection [retry 8/10]: [org.bluez.Error.Failed] Operation failed with ATT error: 0x0e (Unlikely Error)
[Wohnzimmer] Broken connection [retry 9/10]: [org.bluez.Error.Failed] Operation failed with ATT error: 0x0e (Unlikely Error)
[Wohnzimmer] Broken connection [retry 10/10]: [org.bluez.Error.Failed] Operation failed with ATT error: 0x0e (Unlikely Error)
[Wohnzimmer] Broken connection [retry 1/1]: [org.bluez.Error.Failed] Operation failed with ATT error: 0x0e (Unlikely Error)
[Schlafzimmer] Broken connection [retry 1/1]: [org.bluez.Error.Failed] Operation failed with ATT error: 0x0e (Unlikely Error)
I think it's a firmware problem because the one thermostat that works has a firmware update that I haven't done yet and the 2 others are on the current firmware.
Ok solved the problem with pair over the bluetoothctl tool.
No thermostats after Core Update Online
Since the last update to the new core version, my thermostats are no longer visible or are shown as inactive
The following error messages are given to me according to the log
Error setting up entry Bad for dbuezas_eq3btsmart
Error setting up entry Wohnzimmer for dbuezas_eq3btsmart
Error setting up entry Schlafzimmer for dbuezas_eq3btsmart
Error setting up entry Küche for dbuezas_eq3btsmart
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 387, in async_setup
result = await component.async_setup_entry(hass, self)
File "/config/custom_components/dbuezas_eq3btsmart/init.py", line 39, in async_setup_entry
hass.config_entries.async_setup_platforms(entry, PLATFORMS)
AttributeError: 'ConfigEntries' object has no attribute 'async_setup_platforms'
Adding integration: {"message":"Invalid handler specified"}
First of all let me express my gratitude for your work, this is looking really great! I have a bunch of these eQ3 thermostats and currently they stopped working with the former integration due to Python Bluetooth framework issues. So I hope to get them back now.
I did create the custom_integrations/ folder and HomeAssist picks it up obviously, I get this warning on startup:
2023-01-21 16:38:26.806 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration dbuezas_eq3btsmart which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
To be expected I guess.
But when I try to access the integration pressing "+ add integration" and picking it by name I get an error:
Fehler
Der Konfigurationsfluss konnte nicht geladen werden: {"message":"Invalid handler specified"}
Sorry, it's in German, in English this would say something like "Error: Could not load configuration flow: {"message":"Invalid handler specified"}"
I have no idea whatsoever what to do with this message and/or how to diagnose and fix it - I have 30 years of C experience but little to no Python and even less HA hacking, sorry :(
FYI I just upgraded to HA release 2023.1 before doing this.
Thank you!
KeyError: props
also a lot of those in the logs when using via Bluetooth Proxy
This error originated from a custom integration.
Logger: homeassistant
Source: custom_components/dbuezas_eq3btsmart/binary_sensor.py:89
Integration: eQ-3 Bluetooth Smart Thermostats (dbuezas) (documentation, issues)
First occurred: 12:19:02 PM (1123 occurrences)
Last logged: 4:08:11 PMError doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 553, in async_update_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 610, in _async_write_ha_state
attr.update(self.extra_state_attributes or {})
File "/config/custom_components/dbuezas_eq3btsmart/binary_sensor.py", line 89, in extra_state_attributes
return json.loads(json.dumps(details["props"], default=json_serial))
KeyError: 'props'
Is it possible to set this up without a bluetooth adaptor and rely solely on ESP BT Proxies
My Home Assistant instance runs inside a virtual machine on my server so it doesn't have access to a bluetooth adaptor directly. I do however have a load of ESP32 kicking around so I was wondering whether it was possible to use this integration with the bluetooth proxies I've been reading about on another issue thread for this repo?
Thanks in advance.
Feature Request: A configurable switch for heating signal
Would it be possible to add a way to configure a switch that would be turned on every time the thermostat is in "Heating" state? And turned off otherwise? Ideally... maybe base it on the valve state 10% and configure a threshold when it turns on / off.
I'm looking for ways to redo my integrations with eq3 and that would probably make it really easy for me.
There are ways around it, of course, but it would save me a few automations ;).
Sometimes valves are auto discovered twice
It detected all of my valves, but one of them showed up twice. Let me know what I can provide to help you troubleshoot this (not sure if it's even worth troubleshooting, just wanted to report)
Device not found error
Problem
Hass does not connect to the thermostat; logs show "device not found" error.
Pairing via CLI worked. Can connect to the device (see screenshot)
Logs (debug mode)
2023-02-02 23:25:01.979 ERROR (MainThread) [custom_components.dbuezas_eq3btsmart.climate] [eq3_living_room] Error updating: Device not found
2023-02-02 23:25:24.771 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/dbuezas_eq3btsmart/sensor.py", line 122, in fetch_serial
await self._thermostat.async_query_id()
File "/config/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/eq3btsmart.py", line 160, in async_query_id
await self._conn.async_make_request(value)
File "/config/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py", line 174, in async_make_request
await self._async_make_request_try(value, retries)
File "/config/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py", line 213, in _async_make_request_try
raise ex
File "/config/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py", line 186, in _async_make_request_try
conn = await self.async_get_connection()
File "/config/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py", line 94, in async_get_connection
raise Exception("Device not found")
Exception: Device not found
Software versions
dbuezas_eq3btsmart: v5.0.1
HACS: 1.30.1
Home Assistant 2023.2.0
Supervisor 2023.01.1
Operating System 9.5
Device: raspberry pi 3b+
current_temperature doesn't update after setting mode or preset
current_temperature is (mis)used to give quick feedback and remember what temperature the user wants to set.
If setting it fails it will be retried on the next update, but if the user changes the temp with the thermostat's physical wheel, then the current_temperature will be reset to whatever the new target_temperature is.
Bug: if one sets mode to OFF, the current temperature is not updated to 4.5°
Connection with usb bt dongle
Logger: custom_components.dbuezas_eq3btsmart.climate
Source: custom_components/dbuezas_eq3btsmart/climate.py:369
Integration: dbuezas EQ3 Bluetooth Smart Thermostats
First occurred: 18:38:03 (89 occurrences)
Last logged: 22:18:06
[Termo_Cameretta] Error updating, will retry later: [org.bluez.Error.NotPermitted] Not paired
[Thermo_Cameretta] Error updating, will retry later: [org.bluez.Error.NotPermitted] Not paired
[Thermo_Cameretta] Error updating, will retry later: Thermo_Cameretta - 00:1A:22:16:F7:09 -> /org/bluez/hci1: Failed to connect: [org.bluez.Error.Failed] le-connection-abort-by-local: Interference/range; External Bluetooth adapter w/extension may help; Extension cables reduce USB 3 port interference
[Thermo_Cameretta] Error updating, will retry later: Thermo_Cameretta - 00:1A:22:16:F7:09 -> /org/bluez/hci1: Failed to connect:
[Thermo_Cameretta] Error updating, will retry later: Thermo_Cameretta - 00:1A:22:16:F7:09 -> /org/bluez/hci1: Failed to connect: failed to discover services, device disconnected
Error updating: Characteristic d0e8434d-cd29-0996-af41-6c90f4e0eb2a not found!
Hi,
Yesterday I had numerous errors with the TRVs at v1.20. After updating I am left with just a few annoying errors, one is:
Error updating: Characteristic d0e8434d-cd29-0996-af41-6c90f4e0eb2a not found!
2023-01-28 12:17:18.175 DEBUG (MainThread) [custom_components.dbuezas_eq3btsmart.python_eq3bt.eq3bt.bleakconnection] [TRV_Hal] Connected 2023-01-28 12:17:18.185 DEBUG (MainThread) [custom_components.dbuezas_eq3btsmart.python_eq3bt.eq3bt.bleakconnection] [TRV_Hal] Paired: True 2023-01-28 12:17:20.385 DEBUG (MainThread) [custom_components.dbuezas_eq3btsmart.python_eq3bt.eq3bt.bleakconnection] [TRV_Hal] Broken connection [retry 2/14]: Characteristic d0e8434d-cd29-0996-af41-6c90f4e0eb2a not found! Traceback (most recent call last): File "/config/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py", line 190, in _async_make_request_try await conn.start_notify(PROP_NTFY_UUID, self.on_notification) File "/usr/local/lib/python3.10/site-packages/bleak/__init__.py", line 639, in start_notify raise BleakError(f"Characteristic {char_specifier} not found!") bleak.exc.BleakError: Characteristic d0e8434d-cd29-0996-af41-6c90f4e0eb2a not found!
TRV is at v1.46
HA 2023.1.7
eq3btsmart 5.0.1
I'm using a USB BTdongle + 1 esp proxy, but for this TRV the proxy is out of range.
In the cl tool bluetoothctl I can see at least all TRV info and connection status
What and how can I provide or test what the root cause is?
no ignore option for discovered devices on integrations page
as said in the title :-)
Problem with one device (Characteristic 1056 not found!)
Hi @dbuezas ,
Thank you very much for the integration!!
I have got 3 of these EQ3 valves and it's working for two of them but it's not connecting to one of the devices and the following errors are showing:
Logger: homeassistant.helpers.entity
Source: custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py:97
Integration: dbuezas EQ3 Bluetooth Smart Thermostats
First occurred: 18 d’octubre de 2022, a les 23:14:42 (114 occurrences)
Last logged: 01:30:03
Update for climate.eq3_salon2 fails
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 515, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 718, in async_device_update
await task
File "/config/custom_components/dbuezas_eq3btsmart/climate.py", line 388, in async_update
await self._async_thermostat_update()
File "/config/custom_components/dbuezas_eq3btsmart/climate.py", line 381, in _async_thermostat_update
await self._thermostat.async_update()
File "/config/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/eq3btsmart.py", line 239, in async_update
await self._conn.async_make_request(PROP_WRITE_HANDLE, value)
File "/config/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py", line 111, in async_make_request
raise ex
File "/config/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py", line 97, in async_make_request
await conn.start_notify(
File "/usr/local/lib/python3.10/site-packages/bleak/__init__.py", line 546, in start_notify
raise BleakError(f"Characteristic {char_specifier} not found!")
bleak.exc.BleakError: Characteristic 1056 not found!
I know the device is not the cause because it works ok with the bt-mqtt-gateway.
Target temperature should be displayed immediately
The current behaviour of the target temperature is the following: When the user sets a new target temperature via the home assistant UI, the temperature is sent to the thermostat. The target temperature UI control immediately resets and will only change to the new temperature after the thermostat has sent its new state message. This leads to undesirable behaviour since the user expects the target temperature he sets to be then displayed, and the current temperature to display this temperature once the thermostat has applied it.
Set away presets
I often miss the ability to tell all thermostats that I'll be out for xxx hours.
I think we could add presets for a bunch of intervals (e.g 1,2,4,8h, 1,2,4,7,14d, 1m) and the integration can then set the away time and away mode. This should also work for climate groups and would allow for a quick config.
The other option is to make an automation and trigger it with buttons.
Opinions?
How do you do this?
HA 2024.1.0: TEMP_CELSIUS was used from dbuezas_eq3btsmart, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfTemperature.CELSIUS
Just upgraded to 2024.1.0 and got this warning in the system logs:
TEMP_CELSIUS was used from dbuezas_eq3btsmart, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfTemperature.CELSIUS instead, please create a bug report at https://github.com/dbuezas/eq3btsmart/issues
How to work with the your eq3 services
You have the service eq3 fetch schedule, get serial and set schedule, how can I run the service and then see/disply the results? plus could you give an example also of how to set a new schedule?
Originally posted by @FPMilan in #2 (comment)
[EQ-3] Error updating: Device not found
I'm using an Esphome BT proxy with the following config:
esphome:
name: office-bluetooth
friendly_name: office-bluetooth
esp32:
board: esp32dev
framework:
type: esp-idf
logger:
api:
ota:
wifi:
ap:
esp32_ble_tracker:
scan_parameters:
interval: 1100ms
window: 1100ms
active: true
bluetooth_proxy:
active: true
I get entries in the HA logs like:
This error originated from a custom integration.
Logger: custom_components.dbuezas_eq3btsmart.climate
Source: custom_components/dbuezas_eq3btsmart/climate.py:326
Integration: eQ-3 Bluetooth Smart Thermostats (dbuezas) (documentation, issues)
First occurred: 15:30:10 (2 occurrences)
Last logged: 15:40:13
[EQ-3] Error updating: Device not found
I'm running HA in K8S on a Raspberry PI 4.
Cannot lock TRV with automation in HA
id: '1676912753979'
alias: LOCK TRVs
description: Lock all TRVs
trigger: []
condition: []
action:
- device_id: bb0e4c4fd82ddb9358ea572131cd4f7d
domain: lock
entity_id: lock.trv_living_room_big_locked
type: lock
- device_id: 88a3ee930c6a5b8c0018b98d70705a7a
domain: lock
entity_id: lock.trv_living_room_small_locked
type: lock
- device_id: d005c810c8d5f8e17fa5f252e1005e12
domain: lock
entity_id: lock.trv_corridor_locked
type: lock
- device_id: d694c8dfe5c0cd59da4530a2a2394631
domain: lock
entity_id: lock.trv_wc_locked
type: lock
- device_id: ebd2877034e66b152803607c71e676e5
domain: lock
entity_id: lock.trv_office_locked
type: lock
- device_id: 2f180db4fe772e6cd034a1ad835b8c06
domain: lock
entity_id: lock.trv_bedroom_locked
type: lock
- device_id: 56177077ef7d1b9175660f2d2eb5f85d
domain: lock
entity_id: lock.trv_bathroom_locked
type: lock
mode: single
Filter or ignore some bluetooth devices
Cannot add repo in HACS
On adding this integration in HACS as per instructions in the README, it says that the repo could not be found. Looks like a leading slash in the URL could be the problem?
Afterwards, the error "Repository David Buezas /https://github.com/dbuezas/eq3btsmart not found" is displayed.
BT Proxy extremely unreliable
Hi folks,
first - thanks for the awesome integration. It works extremely well with devices connected to my primary BT dongle.
I have two thermostats that are further away and connected through an esphome BT proxy (D1 ESP32 Mini). Unfortunately the latter have extreme connection issues and constantly disconnect as you can see below (nr. 2 and 4)
My esp home config is:
substitutions:
name: esp32-bluetooth-proxy-bb0438
friendly_name: Bluetooth Proxy bb0438
packages:
esphome.bluetooth-proxy: github://esphome/firmware/bluetooth-proxy/esp32-generic.yaml@main
esphome:
name: ${name}
name_add_mac_suffix: false
friendly_name: ${friendly_name}
api:
encryption:
key: ***
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
esp32_ble_tracker:
scan_parameters:
interval: 1100ms
window: 1100ms
active: true
bluetooth_proxy:
active: true
and the logs show the following.
[09:58:31][D][esp32_ble_tracker:215]: Pausing scan to make connection...
[09:58:31][I][esp32_ble_client:069]: [1] [00:1A:22:11:F4:32] 0x00 Attempting BLE connection
[09:58:32][I][esp32_ble_client:149]: [1] [00:1A:22:11:F4:32] Connected
[09:58:32][D][esp32_ble_tracker:266]: Starting scan...
[09:58:32][D][esp-idf:000]: E (18303) BT_L2CAP: slave connection parameters update failed, the parameters are out of range
[09:58:32][D][esp-idf:000]: E (18311) BT_APPL: service change write ccc failed
[09:58:32][W][bluetooth_proxy.connection:096]: [1] [00:1A:22:11:F4:32] Error writing char/descriptor at handle 0x430, status=5
[09:58:33][W][bluetooth_proxy:246]: [0] [00:1A:22:11:F4:B0] Connection already established
[09:58:33][W][bluetooth_proxy.connection:096]: [0] [00:1A:22:11:F4:B0] Error writing char/descriptor at handle 0x430, status=5
[09:58:33][W][bluetooth_proxy:246]: [0] [00:1A:22:11:F4:B0] Connection already established
[09:58:34][W][bluetooth_proxy.connection:096]: [0] [00:1A:22:11:F4:B0] Error writing char/descriptor at handle 0x430, status=5
[09:58:42][W][bluetooth_proxy:246]: [1] [00:1A:22:11:F4:32] Connection already established
[09:58:42][W][bluetooth_proxy.connection:096]: [1] [00:1A:22:11:F4:32] Error writing char/descriptor at handle 0x430, status=5
[09:58:43][W][bluetooth_proxy:246]: [1] [00:1A:22:11:F4:32] Connection already established
[09:58:43][W][bluetooth_proxy.connection:096]: [1] [00:1A:22:11:F4:32] Error writing char/descriptor at handle 0x430, status=5
[10:00:03][D][esp-idf:000]: W (109201) BT_APPL: gattc_conn_cb: if=3 st=0 id=3 rsn=0x16
[10:00:03][D][esp-idf:000]: W (109207) BT_APPL: gattc_conn_cb: if=4 st=0 id=4 rsn=0x16
[10:00:03][D][esp-idf:000]: W (109209) BT_APPL: gattc_conn_cb: if=5 st=0 id=5 rsn=0x16```
I researched a lot throughout the internet but could hardly find anything on these issues. Any ideas?
What does "Fetch Schedule" actually do?
Does the "Fetch Schedule" button actually pull the current schedule from the valve and if so how and where does it store it in Home Assistant?
Can't pair eq3
Hi,
I still have a lot of problems with the eq3 valves with pairing.
With the original version eq3btsmart it still works without pairing.
Is there an option to use the module without pairing?
New devices discovered multiple times
Hi,
I have the following issue. Some CC-RT-BLE devices which were discovered appear multiple times on the list.
There is no way to ignore them or get rid of them. I don't want to configure them, because they are actually connected via other HAs in my house.
See 00:1A:22:0B:6C:4B appears multiple times on the list.
BT Proxy
Hi,
I see there is finally running functionality of BT Proxy. Is it working via Shelly Gen2 devices? I have Shelly Plus 1 PM which can work as a proxy for BT. Is it any way to pair Eq3 BLE with Shelly?
Exception: Device not found
Hello,
first of all thank you for your work in making this component. I have some issue in adding my devices in HASS. They worked until two days ago as I updated from the version 2022.04 to the latest stable, and they work if I add them to CalorBT app. I tried the whole procedure a couple of time for each device with the same result.
HASS: 2023.1.4 Docker
OS: RaspiOS on Raspberry 3B
Device MAC: 00:1A:22:16:C5:0D - last firmware version, the device is located 0.5-1 meter from the raspi.
dbuezas_eq3btsmart version: 4.0.1 from HACS
.... after deleting the devices from CalorBT, deactivating phone BT (just to be sure), factory reset of device, and pairing as described in the README.md:
bluetoothctl
:
[bluetooth]# trust 00:1A:22:16:C5:0D
[CHG] Device 00:1A:22:16:C5:0D Trusted: yes
Changing 00:1A:22:16:C5:0D trust succeeded
[bluetooth]# pair 00:1A:22:16:C5:0D
Attempting to pair with 00:1A:22:16:C5:0D
[CHG] Device 00:1A:22:16:C5:0D Connected: yes
Request passkey
[agent] Enter passkey (number in 0-999999): [NEW] Primary Service (Handle 0x6db4)
/org/bluez/hci0/dev_00_1A_22_16_C5_0D/service0200
00001801-0000-1000-8000-00805f9b34fb
Generic Attribute Profile
[agent] Enter passkey (number in 0-999999): [NEW] Characteristic (Handle 0x006c)
/org/bluez/hci0/dev_00_1A_22_16_C5_0D/service0200/char0210
00002a05-0000-1000-8000-00805f9b34fb
Service Changed
[agent] Enter passkey (number in 0-999999): [NEW] Descriptor (Handle 0xe4fc)
/org/bluez/hci0/dev_00_1A_22_16_C5_0D/service0200/char0210/desc0220
00002902-0000-1000-8000-00805f9b34fb
Client Characteristic Configuration
[agent] Enter passkey (number in 0-999999): [NEW] Primary Service (Handle 0x9b34)
/org/bluez/hci0/dev_00_1A_22_16_C5_0D/service0300
0000180a-0000-1000-8000-00805f9b34fb
Device Information
[agent] Enter passkey (number in 0-999999): [NEW] Characteristic (Handle 0x006c)
/org/bluez/hci0/dev_00_1A_22_16_C5_0D/service0300/char0310
00002a29-0000-1000-8000-00805f9b34fb
Manufacturer Name String
[agent] Enter passkey (number in 0-999999): [NEW] Characteristic (Handle 0x006c)
/org/bluez/hci0/dev_00_1A_22_16_C5_0D/service0300/char0320
00002a24-0000-1000-8000-00805f9b34fb
Model Number String
[agent] Enter passkey (number in 0-999999): [NEW] Primary Service (Handle 0xa30c)
/org/bluez/hci0/dev_00_1A_22_16_C5_0D/service0400
3e135142-654f-9090-134a-a6ff5bb77046
Vendor specific
[agent] Enter passkey (number in 0-999999): [NEW] Characteristic (Handle 0x006c)
/org/bluez/hci0/dev_00_1A_22_16_C5_0D/service0400/char0410
3fa4585a-ce4a-3bad-db4b-b8df8179ea09
Vendor specific
[agent] Enter passkey (number in 0-999999): [NEW] Characteristic (Handle 0x006c)
/org/bluez/hci0/dev_00_1A_22_16_C5_0D/service0400/char0420
d0e8434d-cd29-0996-af41-6c90f4e0eb2a
Vendor specific
[agent] Enter passkey (number in 0-999999): [NEW] Descriptor (Handle 0xe4fc)
/org/bluez/hci0/dev_00_1A_22_16_C5_0D/service0400/char0420/desc0430
00002902-0000-1000-8000-00805f9b34fb
Client Characteristic Configuration
[agent] Enter passkey (number in 0-999999): [NEW] Primary Service (Handle 0x7940)
/org/bluez/hci0/dev_00_1A_22_16_C5_0D/serviceff00
9e5d1e47-5c13-43a0-8635-82ad38a1386f
Vendor specific
[agent] Enter passkey (number in 0-999999): [NEW] Characteristic (Handle 0x006c)
/org/bluez/hci0/dev_00_1A_22_16_C5_0D/serviceff00/charff01
e3dd50bf-f7a7-4e99-838e-570a086c666b
Vendor specific
[agent] Enter passkey (number in 0-999999): [NEW] Descriptor (Handle 0xe4fc)
/org/bluez/hci0/dev_00_1A_22_16_C5_0D/serviceff00/charff01/descff03
00002902-0000-1000-8000-00805f9b34fb
Client Characteristic Configuration
[agent] Enter passkey (number in 0-999999): [NEW] Characteristic (Handle 0x006c)
/org/bluez/hci0/dev_00_1A_22_16_C5_0D/serviceff00/charff04
92e86c7a-d961-4091-b74f-2409e72efe36
Vendor specific
[agent] Enter passkey (number in 0-999999): [NEW] Characteristic (Handle 0x006c)
/org/bluez/hci0/dev_00_1A_22_16_C5_0D/serviceff00/charff06
347f7608-2e2d-47eb-913b-75d4edc4de3b
Vendor specific
[agent] Enter passkey (number in 0-999999): [CHG] Device 00:1A:22:16:C5:0D UUIDs: 00001800-0000-1000-8000-00805f9b34fb
[agent] Enter passkey (number in 0-999999): [CHG] Device 00:1A:22:16:C5:0D UUIDs: 00001801-0000-1000-8000-00805f9b34fb
[agent] Enter passkey (number in 0-999999): [CHG] Device 00:1A:22:16:C5:0D UUIDs: 0000180a-0000-1000-8000-00805f9b34fb
[agent] Enter passkey (number in 0-999999): [CHG] Device 00:1A:22:16:C5:0D UUIDs: 3e135142-654f-9090-134a-a6ff5bb77046
[agent] Enter passkey (number in 0-999999): [CHG] Device 00:1A:22:16:C5:0D UUIDs: 9e5d1e47-5c13-43a0-8635-82ad38a1386f
[agent] Enter passkey (number in 0-999999): [CHG] Device 00:1A:22:16:C5:0D ServicesResolved: yes
[agent] Enter passkey (number in 0-999999): [DEL] Device 6C:AB:46:EF:5D:DC 6C-AB-46-EF-5D-DC
[...]
[agent] Enter passkey (number in 0-999999): XXXXXX
[DEL] Device 72:F3:0B:06:F4:B3 72-F3-0B-06-F4-B3
[DEL] Device 55:0E:51:55:CB:67 55-0E-51-55-CB-67
[CHG] Device 00:1A:22:16:C5:0D Paired: yes
Pairing successful
Agent registered
[CHG] Controller B8:27:EB:0E:A1:08 Pairable: yes
[bluetooth]# paired-devices
Device 00:1A:22:16:C9:EE CC-RT-BLE
Device 00:1A:22:16:C5:0D CC-RT-BLE
[bluetooth]# info 00:1A:22:16:C5:0D
Device 00:1A:22:16:C5:0D (public)
Name: CC-RT-BLE
Alias: CC-RT-BLE
Paired: yes
Trusted: yes
Blocked: no
Connected: no
LegacyPairing: no
UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)
UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
UUID: Device Information (0000180a-0000-1000-8000-00805f9b34fb)
UUID: Vendor specific (3e135142-654f-9090-134a-a6ff5bb77046)
UUID: Vendor specific (9e5d1e47-5c13-43a0-8635-82ad38a1386f)
I have waited for about 30 minutes, but no autodiscover. Than I tried to add it manually. The device is not found.
homeassistant.log
2023-01-17 01:03:02.984 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/dbuezas_eq3btsmart/sensor.py", line 121, in fetch_serial
await self._thermostat.async_query_id()
File "/config/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/eq3btsmart.py", line 160, in async_query_id
await self._conn.async_make_request(value)
File "/config/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py", line 174, in async_make_request
await self._async_make_request_try(value, retries)
File "/config/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py", line 213, in _async_make_request_try
raise ex
File "/config/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py", line 186, in _async_make_request_try
conn = await self.async_get_connection()
File "/config/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py", line 94, in async_get_connection
raise Exception("Device not found")
Exception: Device not found
Do someone has some suggestion?
Thanks in advance. Best,
Renaming TRV entity doesn't affect the entity name on the integration tile (config/integrations page)
I renamed TRV bedroom to TRV bathroom1 then renamed TRV bathroom to TRV bedroom and then renamed TRV bathroom1 to TRV bathroom but names on the tile shown on the screenshot above have not changed, e.g. if I click on TRV bedroom I see:
Home Assistant 2023.2.3
Supervisor 2023.01.1
Operating System 9.5
Frontend 20230202.0 - latest
Connection issue
Hi,
my HA is discovering some of EQ3 TRV but is say is offline and disconnected. When I press "connect" nothing happened. I tried to use manual pairing but my HA not support it.
Log cleanup: Pairing not available
There is a lot of those in the logs. Since we are not using pairing to use proxy - can this be removed?
This error originated from a custom integration.
Logger: custom_components.dbuezas_eq3btsmart.python_eq3bt.eq3bt.bleakconnection
Source: custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py:174
Integration: eQ-3 Bluetooth Smart Thermostats (dbuezas) (documentation, issues)
First occurred: 12:18:59 PM (864 occurrences)
Last logged: 4:08:23 PM[Sypialnia] Failed paring: Pairing is not available in ESPHome.
[EQ3 Gabinet] Failed paring: Pairing is not available in ESPHome.
[EQ3 Rurkowy] Failed paring: Pairing is not available in ESPHome.
[EQ3 Gościnny] Failed paring: Pairing is not available in ESPHome.
'BluetoothManager' object has no attribute 'async_get_discovered_devices_and_advertisement_data_by_address'
Broken connection issue in log
Hi,
thank you for this integration!
It looks like it is working fine, but I have many errors in log like these:
[A-Zimmer] Broken connection [retry 1/14]: [org.bluez.Error.NotPermitted] Not paired
[A-Zimmer] Broken connection [retry 1/14]: A-Zimmer - 00:1A:22:08:BF:D6: Failed to connect: [org.bluez.Error.Failed] Software caused connection abort
[A-Zimmer] Broken connection [retry 2/14]: [org.bluez.Error.NotPermitted] Not paired
[A-Zimmer] Broken connection [retry 2/14]: A-Zimmer - 00:1A:22:08:BF:D6: Failed to connect: [org.bluez.Error.Failed] Software caused connection abort
[A-Zimmer] Broken connection [retry 3/14]: [org.bluez.Error.NotPermitted] Not paired
most only "1/14" , sometimes 2/14 and 3/14.
Is this "normal", or what can I do? Setting temperature is working fine...
Thanks!
BT Proxy: ESPHomeClient' object has no attribute '_device_path'
This is showing up in the logs all the time when using BTProxy only
This error originated from a custom integration.
Logger: homeassistant
Source: custom_components/dbuezas_eq3btsmart/sensor.py:178
Integration: eQ-3 Bluetooth Smart Thermostats (dbuezas) (documentation, issues)
First occurred: 12:19:02 PM (1122 occurrences)
Last logged: 4:08:11 PMError doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 553, in async_update_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 607, in _async_write_ha_state
state = self._stringify_state(available)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 572, in _stringify_state
if (state := self.state) is None:
File "/config/custom_components/dbuezas_eq3btsmart/sensor.py", line 178, in state
return self._thermostat._conn._conn._backend._device_path
AttributeError: 'ESPHomeClient' object has no attribute '_device_path'
[Fix Released] ESP32 BTProxies not working.
Hello,
Got a problem where the thermostats are not visible through ESP Home Bluetooth Proxy integration.
The Thermostats were successfully paired using the BT from the server, communicated, all good.
I them moved them away (only reachable through the ESPHome bluetooth_proxy) and they became unavailable.
I only have the "bluetooth_proxy:" added to the esphome yaml and use the Wemos D1 Mini (Wifi & BT). The BT Proxy works as other BT sensors connect and work.
I tried also adding the esp32_ble_tracker without any luck.
After update to 1.0.3 thermostats unavailable
After the last update to 1.0.3 version from 1.0.0 my thermostats became unavailable. My logs show multiple warnings:
"Logger: homeassistant.components.climate
Source: runner.py:119
Integration: Climate (documentation, issues)
First occurred: 20:11:07 (3 occurrences)
Last logged: 20:11:07
Setup of climate platform dbuezas_eq3btsmart is taking over 10 seconds."
"Logger: homeassistant.bootstrap
Source: bootstrap.py:441
First occurred: 20:11:40 (8 occurrences)
Last logged: 20:18:42
Waiting on integrations to complete setup: climate.dbuezas_eq3btsmart, climate.dbuezas_eq3btsmart_2, climate.dbuezas_eq3btsmart_3"
"Logger: custom_components.dbuezas_eq3btsmart.python_eq3bt.eq3bt.bleakconnection
Source: custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py:121
Integration: dbuezas EQ3 Bluetooth Smart Thermostats
First occurred: 20:12:32 (15 occurrences)
Last logged: 20:19:04
[Thermostat living room] Broken connection [retry 1/10]:
[Thermostat bathroom] Broken connection [retry 1/10]:
[Thermostat bedroom] Broken connection [retry 1/10]:"
"Logger: homeassistant.components.climate
Source: helpers/entity_platform.py:430
Integration: Climate (documentation, issues)
First occurred: 20:19:17 (3 occurrences)
Last logged: 20:19:17
Timed out adding entities for domain climate with platform dbuezas_eq3btsmart after 500s"
And one error:
"Logger: homeassistant
Source: helpers/entity.py:520
First occurred: 20:11:11 (18 occurrences)
Last logged: 20:19:17
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 520, in async_update_ha_state
raise NoEntitySpecifiedError(
homeassistant.exceptions.NoEntitySpecifiedError: No entity id specified for entity Thermostat bedroom"
BTProxy support
Hi.
Is there any special (per device) configuration required for esp32 bluetooth proxy to work with this integration?
I have both
esp32_ble_tracker:
scan_parameters:
interval: 1100ms
window: 1100ms
active: true
and
bluetooth_proxy:
active: true
setup on all my esps (3pcs) and half of my eq3 (those outside bt dongle range) are still not visible...
Getting new values from the device is very slow
When I initiate the change through HA - it works very fast and automatically pulls any changes from the Valve that happened in the meantime.
However, if I change the temperature on the device (not through Hassio) or... it updates Valve attribute after a while - those changes get to Hassio very very slow.
It doesn't seem really consistent, but once it took over 10 minutes. I run another test and it's now over 15 minutes and it still didn't pick up the changes.
Not sure if it's a bug or a feature, but it's a bit of a pain to deal with if you change the temperature on the physical valve and Hassio doesn't pick it up for a long time (in my case, it won't start the boiler until it picks those changes)
Connection Issues: Thermostats become unavailable randomly after HA OS update
I have 5 CC-RT-BLE-EQ thermostats, which have worked fine for many months now, thanks to your efforts. After updating to Home Assistant OS 10 two weeks ago, I have a lot of intermittent connection issues. I am using the built-in Bluetooth adapter from the Raspberry Pi 3B. The following error message comes up in the logs:
This error originated from a custom integration.
Logger: custom_components.dbuezas_eq3btsmart.climate
Source: custom_components/dbuezas_eq3btsmart/climate.py:135
Integration: eQ-3 Bluetooth Smart Thermostats (dbuezas) (documentation, issues)
First occurred: 18:33:25 (4 occurrences)
Last logged: 18:41:47
[kitchen] Error updating:
There is a traceback with error messages related to this integration:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/asyncio/locks.py", line 214, in wait
await fut
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/asyncio/tasks.py", line 456, in wait_for
return fut.result()
asyncio.exceptions.CancelledError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/config/custom_components/dbuezas_eq3btsmart/sensor.py", line 122, in fetch_serial
await self._thermostat.async_query_id()
File "/config/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/eq3btsmart.py", line 160, in async_query_id
await self._conn.async_make_request(value)
File "/config/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py", line 164, in async_make_request
await self._async_make_request_try(value, retries)
File "/config/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py", line 203, in _async_make_request_try
raise ex
File "/config/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py", line 182, in _async_make_request_try
await asyncio.wait_for(
File "/usr/local/lib/python3.10/asyncio/tasks.py", line 458, in wait_for
raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError
I have already fully rebooted and power-disconnected the Pi a few times, to no avail. According to the changelog, they updated the BlueZ package in Home Assistant OS 10:
Updated software packages
[...] The latest version of the Bluetooth package BlueZ 5.66 comes with various bug fixes for improved communication with Bluetooth devices. [...]
Here is my System Information report:
## System Information
version | core-2023.5.2
-- | --
installation_type | Home Assistant OS
dev | false
hassio | true
docker | true
user | root
virtualenv | false
python_version | 3.10.11
os_name | Linux
os_version | 6.1.21-v7
arch | armv7l
timezone | Europe/Berlin
config_dir | /config
<details><summary>Home Assistant Community Store</summary>
GitHub API | ok
-- | --
GitHub Content | ok
GitHub Web | ok
GitHub API Calls Remaining | 4929
Installed Version | 1.32.1
Stage | running
Available Repositories | 1285
Downloaded Repositories | 8
</details>
<details><summary>Home Assistant Cloud</summary>
logged_in | false
-- | --
can_reach_cert_server | ok
can_reach_cloud_auth | ok
can_reach_cloud | ok
</details>
<details><summary>Home Assistant Supervisor</summary>
host_os | Home Assistant OS 10.1
-- | --
update_channel | stable
supervisor_version | supervisor-2023.04.1
agent_version | 1.5.1
docker_version | 23.0.3
disk_total | 28.6 GB
disk_used | 10.4 GB
healthy | true
supported | true
board | rpi3
supervisor_api | ok
version_api | ok
installed_addons | File editor (5.6.0), Let's Encrypt (4.12.8), Terminal & SSH (9.7.0), ADB - Android Debug Bridge (0.7.0), Duck DNS (1.15.0), Spotify Connect (0.12.3), MPD (1.7.2), Mosquitto broker (6.2.1), Zigbee2MQTT (1.30.4-1), Samba share (10.0.1)
</details>
<details><summary>Dashboards</summary>
dashboards | 1
-- | --
resources | 4
views | 1
mode | storage
</details>
<details><summary>Recorder</summary>
oldest_recorder_run | May 4, 2023 at 00:18
-- | --
current_recorder_run | May 8, 2023 at 18:27
estimated_db_size | 49.25 MiB
database_engine | sqlite
database_version | 3.40.1
</details>
Missing integration icon
When listing integrations, there is no icon displayed left next to "eQ-3 Bluetooth Smart Thermostats (dbuezas)".
Examining the HTML source reveals an image linked to https://brands.home-assistant.io/dbuezas_eq3btsmart/icon.png which does not exist and returns 404.
Could you please readd the missing icon or fix the link so that it points to a valid icon?
Thanks.
can't set a schedule
I can't set a schedule on my CC-RT-BLE-EQ from eQ-3 AG
EQ3 Firmware: 146
Home Assistant 2023.4.2
Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/connection.py:225
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 14:44:41 (2 occurrences)
Last logged: 14:48:21
[2786438208] Error handling message: required key not provided @ data['days']. Got None required key not provided @ data['target_temp_0']. Got None (invalid_format) Sascha from 192.168.178.28 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.3 Safari/605.1.15)
[2800145768] Error handling message: required key not provided @ data['days']. Got None required key not provided @ data['target_temp_0']. Got None (invalid_format) Sascha from 192.168.178.28 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36)
################################################################################################
Logger: homeassistant.helpers.service
Source: helpers/service.py:553
First occurred: 14:43:46 (1 occurrences)
Last logged: 14:43:46
Unable to parse services.yaml for the dbuezas_eq3btsmart integration
################################################################################################
Logger: homeassistant.helpers.script.websocket_api_script
Source: helpers/script.py:410
First occurred: 14:44:41 (2 occurrences)
Last logged: 14:48:21
websocket_api script: Error executing script. Invalid data for call_service at pos 1: required key not provided @ data['days']
Integration does not appear in Home Assistant
Just installed it via HACS, and also confirmed /config/custom_components/dbuezas_eq3btsmart/ is in place, yet home assistant is not detecting a new integration and also searching for it gives no results.
Am I doing something wrong?
Thanks for any tips
Uncaught Exception: AttributeError: 'NoneType' object has no attribute 'add_job'
My thermostat was working fine at first, but now it's mostly unavailable
.
I have this error that pops up constantly. Its about 700 error messages a day. Most of the times its just line 3 and downwards (so just the exception thing) but sometimes line 1 or even line 2 come before that.
2022-12-26 00:52:37.301 WARNING (MainThread) [custom_components.dbuezas_eq3btsmart.python_eq3bt.eq3bt.bleakconnection] [room] Broken connection [retry 1/14]:
2022-12-26 00:52:47.576 WARNING (MainThread) [custom_components.dbuezas_eq3btsmart.python_eq3bt.eq3bt.bleakconnection] [room] Broken connection [retry 2/14]:
2022-12-26 00:52:51.277 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py", line 161, in on_notification
self._callback(data)
File "/config/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/eq3btsmart.py", line 154, in handle_notification
callback()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 673, in schedule_update_ha_state
self.hass.add_job(self.async_update_ha_state(force_refresh))
AttributeError: 'NoneType' object has no attribute 'add_job'
But see for yourself. Extended log here: https://dpaste.org/xSQRt
I don't know what else to specify here, other than maybe my setup: Raspberry Pi 3B+ with builtin bluetooth. Only one TRV which is on version 146 according to the sensor in HA. Distance between the rpi and the TRV is about 1.5m. Let me know what else you need. :)
Connection will fail if you have a BTProxy with better signal than your bluetooth adapter (e.g usb dongle)
Hopefully ESPHome implements pairing in BTProxy, then all will be good.
At the moment there is no way to configure the component so it ignores the BTProxy for these thermostats either.
Missing firmware version
I've got 8 TRVs in action, all (currently :) ) working through a bt proxy.
I noticed that 2 out them report firmware 1.20, while the others have the value "unknown".
Is there a way to check the installed firmware version? Could it be that really low firmwares are not reporting the value?
BLEDevide.rssi py.warning in Home Assistant log
BT Proxy on ESP32
I`m using HA and want to use ESP32 as a Proxy for extend BT signal.
How to pair eq3 with ESPHome Proxy based on below link?
https://esphome.github.io/bluetooth-proxies/
No communication with eq3 thermostat though device found
First of all thank you for the work on this integration.
I have successfully added the integration, though it takes a lot to find devices. I manually added a couple of them, while others were auto-discovered.
The problem is that they don't communicate with them.
HASS shows this error in the log:
"/usr/local/lib/python3.10/site-packages/bleak/backends/bluezdbus/client.py", line 505, in get_services
raise BleakError("Not connected")
I've a Docker HASS on an Ubuntu distro with latest HASS version (2022.10.4).
bluetoothctl shows the devices and it seems it's receiving some data from them (be it only RSSI updates). A couple are already paired, others no (though pairing is not important for this as it's working on BLE).
Device 00:1A:22:16:C1:EF (public)
Name: CC-RT-BLE
Alias: CC-RT-BLE
Paired: yes
Trusted: yes
Blocked: no
Connected: no
LegacyPairing: no
UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)
UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
UUID: Device Information (0000180a-0000-1000-8000-00805f9b34fb)
UUID: Vendor specific (3e135142-654f-9090-134a-a6ff5bb77046)
UUID: Vendor specific (9e5d1e47-5c13-43a0-8635-82ad38a1386f)
ManufacturerData Key: 0x0000
ManufacturerData Value:
00 00 00 00 00 00 00 00 00 .........
ManufacturerData Key: 0x5201
ManufacturerData Value:
45 51 30 37 34 36 39 30 33 EQ0746903
RSSI: -87
I have to say that there's nothing wrong with the devices as on an older HASS instance (with BlueZ instead of Bleak) they work as expected.
Mentioning that I'm not multi-pairing the devices (only used an older Pi with older HASS to check, but now it's powered down).
I may have some misconfiguration on my Ubuntu as I had the older BlueZ setup and removing it makes the bluetoothctl go away.
Please advice and if you could share some extra details on your setup so I (we) can replicate accordingly.
AttributeError: 'BluetoothManager' object has no attribute 'async_get_scanner_discovered_devices_and_advertisement_data_by_address'
I get this error after latest updates (Home Assistant 2023.2.2 and eq3btsmart at latest commit b3faa7a):
Feb 05 11:23:14 smooth python3.10[2221]: 2023-02-05 11:23:14.512 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Feb 05 11:23:14 smooth python3.10[2221]: Traceback (most recent call last):
Feb 05 11:23:14 smooth python3.10[2221]: File "/etc/hass/custom_components/dbuezas_eq3btsmart/sensor.py", line 122, in fetch_serial
Feb 05 11:23:14 smooth python3.10[2221]: await self._thermostat.async_query_id()
Feb 05 11:23:14 smooth python3.10[2221]: File "/etc/hass/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/eq3btsmart.py", line 160, in async_query_id
Feb 05 11:23:14 smooth python3.10[2221]: await self._conn.async_make_request(value)
Feb 05 11:23:14 smooth python3.10[2221]: File "/etc/hass/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py", line 174, in async_make_request
Feb 05 11:23:14 smooth python3.10[2221]: await self._async_make_request_try(value, retries)
Feb 05 11:23:14 smooth python3.10[2221]: File "/etc/hass/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py", line 213, in _async_make_request_try
Feb 05 11:23:14 smooth python3.10[2221]: raise ex
Feb 05 11:23:14 smooth python3.10[2221]: File "/etc/hass/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py", line 186, in _async_make_request_try
Feb 05 11:23:14 smooth python3.10[2221]: conn = await self.async_get_connection()
Feb 05 11:23:14 smooth python3.10[2221]: File "/etc/hass/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py", line 108, in async_get_connection
Feb 05 11:23:14 smooth python3.10[2221]: MANAGER.async_get_scanner_discovered_devices_and_advertisement_data_by_address(
Feb 05 11:23:14 smooth python3.10[2221]: AttributeError: 'BluetoothManager' object has no attribute 'async_get_scanner_discovered_devices_and_advertisement_data_by_address'
and all my valves are gone.
I can submit a pull request with a fix.
diff --git a/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py b/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py
index fbc4ee9..be8b207 100644
--- a/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py
+++ b/custom_components/dbuezas_eq3btsmart/python_eq3bt/eq3bt/bleakconnection.py
@@ -105,10 +105,10 @@ class BleakConnection:
MANAGER = cast(BluetoothManager, self._hass.data[DATA_MANAGER])
device_advertisement_datas = sorted(
- MANAGER.async_get_scanner_discovered_devices_and_advertisement_data_by_address(
+ MANAGER.async_scanner_devices_by_address(
address=self._mac, connectable=True
),
- key=lambda device_advertisement_data: device_advertisement_data[2].rssi
+ key=lambda device_advertisement_data: device_advertisement_data.advertisement.rssi
or NO_RSSI_VALUE,
reverse=True,
)
@@ -122,14 +122,14 @@ class BleakConnection:
list = [
x
for x in device_advertisement_datas
- if (d := x[1].details)
+ if (d := x.ble_device.details)
and d.get("props", {}).get("Adapter") == self._adapter
]
if len(list) == 0:
raise Exception("Device not found")
d_and_a = list[0]
- self.rssi = d_and_a[2].rssi
- self._ble_device = d_and_a[1]
+ self.rssi = d_and_a.advertisement.rssi
+ self._ble_device = d_and_a.ble_device
UnwrappedBleakClient = cast(type[BleakClient], BleakClient.__bases__[0])
self._conn = UnwrappedBleakClient(
self._ble_device,
One thermostat didn’t create additional sensors after update
I think it was 3.0 introducing the extra entities / sensors for each thermostat. It happened for three out of four thermostats. How do I force it for the fourth? Just delete EQ3 entity?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.