Handle disconnected ecobee thermostat in humidifier and remote sensors (#51873)

This commit is contained in:
Brent Petit 2021-06-18 02:06:31 -05:00 committed by GitHub
parent c0a0c8b283
commit c149ecf2cc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 19 additions and 1 deletions

View File

@ -80,6 +80,12 @@ class EcobeeBinarySensor(BinarySensorEntity):
}
return None
@property
def available(self):
"""Return true if device is available."""
thermostat = self.data.ecobee.get_thermostat(self.index)
return thermostat["runtime"]["connected"]
@property
def is_on(self):
"""Return the status of the sensor."""

View File

@ -69,6 +69,11 @@ class EcobeeHumidifier(HumidifierEntity):
"model": model,
}
@property
def available(self):
"""Return if device is available."""
return self.thermostat["runtime"]["connected"]
async def async_update(self):
"""Get the latest state from the thermostat."""
if self.update_without_throttle:

View File

@ -92,6 +92,12 @@ class EcobeeSensor(SensorEntity):
}
return None
@property
def available(self):
"""Return true if device is available."""
thermostat = self.data.ecobee.get_thermostat(self.index)
return thermostat["runtime"]["connected"]
@property
def device_class(self):
"""Return the device class of the sensor."""

View File

@ -22,6 +22,7 @@ def ecobee_fixture():
"currentClimateRef": "c1",
},
"runtime": {
"connected": True,
"actualTemperature": 300,
"actualHumidity": 15,
"desiredHeat": 400,

View File

@ -12,7 +12,7 @@
"currentClimateRef": "c1"
},
"runtime": {
"connected": false,
"connected": true,
"actualTemperature": 300,
"actualHumidity": 15,
"desiredHeat": 400,