Add support for flow sensor metrics in RainMachine (#23221)
* Initial commit * In the clear
This commit is contained in:
1 parent
f3925b7ede
commit
daa1d103d4
4 files changed
+86
-34
No files matched your search
@@ -7,10 +7,10 @@ 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)
|
||||
PROVISION_SETTINGS, RESTRICTIONS_CURRENT, RESTRICTIONS_UNIVERSAL,
|
||||
SENSOR_UPDATE_TOPIC, TYPE_FLOW_SENSOR, TYPE_FREEZE, TYPE_FREEZE_PROTECTION,
|
||||
TYPE_HOT_DAYS, TYPE_HOURLY, TYPE_MONTH, TYPE_RAINDELAY, TYPE_RAINSENSOR,
|
||||
TYPE_WEEKDAY, RainMachineEntity)
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
@@ -79,27 +79,27 @@ class RainMachineBinarySensor(RainMachineEntity, BinarySensorDevice):
|
||||
|
||||
async def async_update(self):
|
||||
"""Update the state."""
|
||||
if self._sensor_type == TYPE_FREEZE:
|
||||
self._state = self.rainmachine.data[
|
||||
OPERATION_RESTRICTIONS_CURRENT]['freeze']
|
||||
if self._sensor_type == TYPE_FLOW_SENSOR:
|
||||
self._state = self.rainmachine.data[PROVISION_SETTINGS].get(
|
||||
'useFlowSensor')
|
||||
elif self._sensor_type == TYPE_FREEZE:
|
||||
self._state = self.rainmachine.data[RESTRICTIONS_CURRENT]['freeze']
|
||||
elif self._sensor_type == TYPE_FREEZE_PROTECTION:
|
||||
self._state = self.rainmachine.data[
|
||||
OPERATION_RESTRICTIONS_UNIVERSAL]['freezeProtectEnabled']
|
||||
self._state = self.rainmachine.data[RESTRICTIONS_UNIVERSAL][
|
||||
'freezeProtectEnabled']
|
||||
elif self._sensor_type == TYPE_HOT_DAYS:
|
||||
self._state = self.rainmachine.data[
|
||||
OPERATION_RESTRICTIONS_UNIVERSAL]['hotDaysExtraWatering']
|
||||
self._state = self.rainmachine.data[RESTRICTIONS_UNIVERSAL][
|
||||
'hotDaysExtraWatering']
|
||||
elif self._sensor_type == TYPE_HOURLY:
|
||||
self._state = self.rainmachine.data[
|
||||
OPERATION_RESTRICTIONS_CURRENT]['hourly']
|
||||
self._state = self.rainmachine.data[RESTRICTIONS_CURRENT]['hourly']
|
||||
elif self._sensor_type == TYPE_MONTH:
|
||||
self._state = self.rainmachine.data[
|
||||
OPERATION_RESTRICTIONS_CURRENT]['month']
|
||||
self._state = self.rainmachine.data[RESTRICTIONS_CURRENT]['month']
|
||||
elif self._sensor_type == TYPE_RAINDELAY:
|
||||
self._state = self.rainmachine.data[
|
||||
OPERATION_RESTRICTIONS_CURRENT]['rainDelay']
|
||||
self._state = self.rainmachine.data[RESTRICTIONS_CURRENT][
|
||||
'rainDelay']
|
||||
elif self._sensor_type == TYPE_RAINSENSOR:
|
||||
self._state = self.rainmachine.data[
|
||||
OPERATION_RESTRICTIONS_CURRENT]['rainSensor']
|
||||
self._state = self.rainmachine.data[RESTRICTIONS_CURRENT][
|
||||
'rainSensor']
|
||||
elif self._sensor_type == TYPE_WEEKDAY:
|
||||
self._state = self.rainmachine.data[
|
||||
OPERATION_RESTRICTIONS_CURRENT]['weekDay']
|
||||
self._state = self.rainmachine.data[RESTRICTIONS_CURRENT][
|
||||
'weekDay']
|
||||
Reference in new issue
Block a user