#!/usr/bin/env python3
+# © Copyright 2021-2022, Scott Gasch
+
"""A PresenceDetector that is waitable. This is not part of
base_presence.py because I do not want to bring these dependencies
into that lower-level module (especially state_tracker).
-
"""
import datetime
"""
This is a waitable class that keeps a PresenceDetector internally
and periodically polls it to detect changes in presence in a
- particular location. Example suggested usage pattern:
+ particular location. Example suggested usage pattern::
detector = waitable_presence.WaitablePresenceDetectorWithMemory(60.0)
while True:
raise Exception(f'Unknown update type {update_id} in {__file__}')
def poll_presence(self, now: datetime.datetime) -> None:
- logger.debug(f'Checking presence in {self.location} now...')
+ logger.debug('Checking presence in %s now...', self.location)
self.detector.update()
if self.detector.is_anyone_in_location_now(self.location):
self.someone_is_home = True