ha_gehome/entities/ccm/ge_ccm_cached_value.py

20 lines
648 B
Python

class GeCcmCachedValue():
def __init__(self):
self._set_value = None
self._last_device_value = None
def get_value(self, device_value):
# If the last device value is different from the current one, return the device value which overrides the set value
if self._last_device_value != device_value:
self._last_device_value = device_value
self._set_value = None
return device_value
if self._set_value is not None:
return self._set_value
return device_value
def set_value(self, set_value):
self._set_value = set_value