Forgot to set up notify event
This commit is contained in:
@@ -6,22 +6,24 @@ from services.mqtt_service import MQTTService
|
||||
|
||||
class MQTTForwarder:
|
||||
|
||||
client_id : str
|
||||
local_broker : MQTTService
|
||||
central_broker : MQTTService
|
||||
_client_id : str
|
||||
_local_broker : MQTTService
|
||||
_central_broker : MQTTService
|
||||
_qos : int
|
||||
|
||||
def __init__(self, client_id : str, src_mqtt: MQTTService, dst_mqtt: MQTTService):
|
||||
self.client_id = client_id
|
||||
self.local_broker = src_mqtt
|
||||
self.central_broker = dst_mqtt
|
||||
def __init__(self, client_id : str, src_mqtt: MQTTService, dst_mqtt: MQTTService, qos : int):
|
||||
self._client_id = client_id
|
||||
self._local_broker = src_mqtt
|
||||
self._central_broker = dst_mqtt
|
||||
self._qos = qos
|
||||
|
||||
def start(self, src_topic: str, dst_topic: str):
|
||||
try:
|
||||
def forward_handler(topic: str, msg: str):
|
||||
forwarded_msg = self.__wrap_data(msg)
|
||||
self.central_broker.publish(dst_topic, forwarded_msg)
|
||||
self._central_broker.publish(dst_topic, forwarded_msg, self._qos)
|
||||
|
||||
self.local_broker.subscribe(src_topic, forward_handler)
|
||||
self._local_broker.subscribe(src_topic, forward_handler)
|
||||
except Exception as e:
|
||||
print(f"An error occurred while forwarding from {src_topic} to {dst_topic}: {e}")
|
||||
|
||||
@@ -30,7 +32,7 @@ class MQTTForwarder:
|
||||
result = {}
|
||||
data = json.loads(msg)
|
||||
result["timestamp"] = int(time.time())
|
||||
result["systemId"] = self.client_id
|
||||
result["systemId"] = self._client_id
|
||||
result["data"] = {}
|
||||
for keys in data:
|
||||
result["data"][keys] = data[keys]
|
||||
|
||||
@@ -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__":
|
||||
|
||||
Reference in New Issue
Block a user