Forgot to set up notify event

This commit is contained in:
2026-01-03 16:17:06 +01:00
parent 3f2670866b
commit d56189ccee
2 changed files with 17 additions and 19 deletions

View File

@@ -9,11 +9,10 @@ class SoundReader:
_pin :int
_running :bool
_thread :threading.Thread | None
_subscriber :Callable[[int], None]
_subscriber :Callable[[str], None]
def __init__(self, pin):
self._pin = pin
self._sound_level = 0
self._running = False
self._thread = None
@@ -32,15 +31,12 @@ class SoundReader:
self._thread.join()
GPIO.cleanup()
def subscribe(self, handler:Callable[[int], None]):
def subscribe(self, handler:Callable[[str], None]):
self._subscriber = handler
def get_level(self):
return self._sound_level
def _notify(self):
def _notify(self, data : str):
if self._subscriber:
self._subscriber(self._sound_level)
self._subscriber(data)
def _read(self):
measure_duration = 0.2
@@ -51,7 +47,7 @@ class SoundReader:
while time.time() - start < measure_duration:
if GPIO.input(self._pin):
level += 1
self._sound_level = level
self._notify(f'{{"soundSensorValue": {level}}}')
time.sleep(interval - measure_duration)
if __name__ == "__main__":