Update RainMachine sensors in parallel (#23057)
This commit is contained in:
parent
51508d69ad
commit
05f267de6e
4 changed files with 44 additions and 19 deletions
|
@ -7,6 +7,7 @@ from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
|||
|
||||
from . import (
|
||||
BINARY_SENSORS, DATA_CLIENT, DOMAIN as RAINMACHINE_DOMAIN,
|
||||
OPERATION_RESTRICTIONS_CURRENT, OPERATION_RESTRICTIONS_UNIVERSAL,
|
||||
SENSOR_UPDATE_TOPIC, TYPE_FREEZE, TYPE_FREEZE_PROTECTION, TYPE_HOT_DAYS,
|
||||
TYPE_HOURLY, TYPE_MONTH, TYPE_RAINDELAY, TYPE_RAINSENSOR, TYPE_WEEKDAY,
|
||||
RainMachineEntity)
|
||||
|
@ -79,21 +80,26 @@ class RainMachineBinarySensor(RainMachineEntity, BinarySensorDevice):
|
|||
async def async_update(self):
|
||||
"""Update the state."""
|
||||
if self._sensor_type == TYPE_FREEZE:
|
||||
self._state = self.rainmachine.restrictions['current']['freeze']
|
||||
self._state = self.rainmachine.data[
|
||||
OPERATION_RESTRICTIONS_CURRENT]['freeze']
|
||||
elif self._sensor_type == TYPE_FREEZE_PROTECTION:
|
||||
self._state = self.rainmachine.restrictions['global'][
|
||||
'freezeProtectEnabled']
|
||||
self._state = self.rainmachine.data[
|
||||
OPERATION_RESTRICTIONS_UNIVERSAL]['freezeProtectEnabled']
|
||||
elif self._sensor_type == TYPE_HOT_DAYS:
|
||||
self._state = self.rainmachine.restrictions['global'][
|
||||
'hotDaysExtraWatering']
|
||||
self._state = self.rainmachine.data[
|
||||
OPERATION_RESTRICTIONS_UNIVERSAL]['hotDaysExtraWatering']
|
||||
elif self._sensor_type == TYPE_HOURLY:
|
||||
self._state = self.rainmachine.restrictions['current']['hourly']
|
||||
self._state = self.rainmachine.data[
|
||||
OPERATION_RESTRICTIONS_CURRENT]['hourly']
|
||||
elif self._sensor_type == TYPE_MONTH:
|
||||
self._state = self.rainmachine.restrictions['current']['month']
|
||||
self._state = self.rainmachine.data[
|
||||
OPERATION_RESTRICTIONS_CURRENT]['month']
|
||||
elif self._sensor_type == TYPE_RAINDELAY:
|
||||
self._state = self.rainmachine.restrictions['current']['rainDelay']
|
||||
self._state = self.rainmachine.data[
|
||||
OPERATION_RESTRICTIONS_CURRENT]['rainDelay']
|
||||
elif self._sensor_type == TYPE_RAINSENSOR:
|
||||
self._state = self.rainmachine.restrictions['current'][
|
||||
'rainSensor']
|
||||
self._state = self.rainmachine.data[
|
||||
OPERATION_RESTRICTIONS_CURRENT]['rainSensor']
|
||||
elif self._sensor_type == TYPE_WEEKDAY:
|
||||
self._state = self.rainmachine.restrictions['current']['weekDay']
|
||||
self._state = self.rainmachine.data[
|
||||
OPERATION_RESTRICTIONS_CURRENT]['weekDay']
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue