Source code for caspia.gateway_mock.services.blinds

import logging

from caspia.meadow.services import BlindsBase

from .base import MockService

status = logging.getLogger('mock-status')


[docs]class Blinds(MockService, BlindsBase): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self._tilt = 0.0 self._blind = 0.0 self._movement = 'steady'
[docs] async def characteristic_read(self, characteristic, **kwargs): if characteristic is self.tilt: return self._tilt elif characteristic is self.blind: return self._blind elif characteristic is self.target_blind: return self._blind elif characteristic is self.target_tilt: return self._tilt elif characteristic is self.movement: return self._movement else: raise NotImplementedError
[docs] async def characteristic_write(self, characteristic, value, **kwargs): if characteristic is self.target_tilt: self._tilt = value elif characteristic is self.target_blind: self._blind = value else: raise NotImplementedError await self.notify(self.target_blind, self._blind, if_changed=True) await self.notify(self.target_tilt, self._tilt, if_changed=True) await self.notify(self.blind, self._blind, if_changed=True) await self.notify(self.tilt, self._tilt, if_changed=True) await self.notify(self.movement, self._movement, if_changed=True)