Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cooling entity without temperature attribute - BT unavailable (ecobee 3) #1570

Open
RodriLara opened this issue Jan 14, 2025 · 5 comments
Open
Assignees
Labels
bug Something isn't working

Comments

@RodriLara
Copy link

Description

I created 3 different virtual thermostats (using different sensors)

1. Virtual 1: Template sensor - I did a template sensor to select between all the sensors I have at home (Zigbee or Wi-Fi temp sensors) - this is my main and final goal. Better thermostat = Unavailable
2. Virtual 2: ESPHome - WiFi Temp Sensor - I read some issues with zigbee, so I tested with a Wi-Fi temp sensor. Better thermostat = Unavailable
3. Virtual 3: Ecobee Internal Sensor - Dummy right? I created this one to discard any possible problems in my sensors, using the internal sensor of the ecobee. Better thermostat = Unavailable

Steps to Reproduce

  1. create new better thermostat
  2. select any of the 3 sensors I explain before

Expected behavior:

Use the better thermostad

Actual behavior:
Better thermostat = Unavailable
image

Versions and HW

Home Assistant:

  • Core: 2025.1.2
  • Supervisor: 2024.12.3
  • Operating System: 14.1

Better Thermostat: 1.7.0-beta3 (also tested in 1.6 & 1.7.0-beta2)

TRV(s):

ecobee 3 lite
Temp sensors:

  1. Template sensor
  2. Zigbee sensor SNZB-02D - Z2M
  3. DHT11 - ESPHome
  4. Ecobee internal temp sensor

I can "highlight" those lines in the debug:

  • INFO (MainThread) [custom_components.better_thermostat.adapters.delegate] integration: homekit_controller isn't native supported, feel free to open an issue, fallback adapter generic

  • TypeError: unsupported operand type(s) for -: 'NoneType' and 'float'

  • ValueError: Sensor sensor.active_temperature_sensor has device class 'temperature', state class 'measurement' unit '°C' and suggested precision 'None' thus indicating it has a numeric value; however, it has the non-numeric value: 'unavailable' (<class 'str'>) -- which only will be related with the template sensor "Virtual 1"

  • Detected that custom integration 'better_thermostat' sets option flow config_entry explicitly, which is deprecated...

  • Could not find local calibration entity for climate.my_ecobee

By the time I tested, I ensure all sensor has a valid value:

image

Log:

home-assistant_better_thermostat_2025-01-13T19-59-03.943Z.log

@RodriLara RodriLara added the new bug incoming bug issue label Jan 14, 2025
@folfy
Copy link
Collaborator

folfy commented Jan 14, 2025

Could it be that your "cooling device" you have configured, doesn't support cooling? Did you try just not adding it?
'cooler': 'climate.my_ecobee'

@RodriLara
Copy link
Author

Could it be that your "cooling device" you have configured, doesn't support cooling? Did you try just not adding it? 'cooler': 'climate.my_ecobee'

hi Folfy, thanks for your quick answer.
It's not the reason, as you can see below, this is the regular card for ecobee, cooling or heat/cool is available.
Even tho, I tried without cooler configuration, the result was the same - Entity unavailable.
image

image

@MrsXenchen
Copy link

I have the same issue. Thermostat and Temperature-sensors are working fine on their own, but climate.office from the integration is unavailable. I tried reconfiguring two different rooms with no luck.

@RodriLara
Copy link
Author

I have the same issue. Thermostat and Temperature-sensors are working fine on their own, but climate.office from the integration is unavailable. I tried reconfiguring two different rooms with no luck.

Which thermostat and sensors do you use?

@folfy
Copy link
Collaborator

folfy commented Jan 15, 2025

I think your issue is this:

if self.cooler_entity_id is not None:
self.bt_target_cooltemp = convert_to_float(
str(
self.hass.states.get(self.cooler_entity_id).attributes.get(
"temperature"
)
),
self.device_name,
"startup()",
)

Your entities "temperature" attribute is null, so BT doesn't have a default setpoint value - should probably be changed tontarget_temp_high (with a fallback default value).

Maybe the setpoint also should be stored more persistently in BT, like when we reboot, not sure if this isn't handled somewhere already, but the main issue is the first part actually.

@folfy folfy added bug Something isn't working and removed new bug incoming bug issue labels Jan 15, 2025
@folfy folfy changed the title better_thermostat : entities unavailable cooling entity without temperature attribute - BT unavailable (ecobee 3) Jan 15, 2025
@folfy folfy marked this as a duplicate of #1253 Jan 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants