From b4e9825c163aca19cb85bf77e20d6f1a7c36b078 Mon Sep 17 00:00:00 2001 From: Jeff Culverhouse Date: Wed, 5 Mar 2025 19:23:49 -0500 Subject: [PATCH] ignore messages not for us; another event to ignore --- VERSION | 2 +- amcrest_api.py | 2 ++ amcrest_mqtt.py | 10 +++++++--- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/VERSION b/VERSION index 65813b1..938dde1 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.99.14 +0.99.15 diff --git a/amcrest_api.py b/amcrest_api.py index 2836ee7..b7a50c8 100644 --- a/amcrest_api.py +++ b/amcrest_api.py @@ -147,6 +147,8 @@ class AmcrestAPI(object): pass elif code == "NTPAdjustTime": pass + elif code == "RtspSessionDisconnect": + pass else: self.events.append({ 'device_id': device_id, 'event': code , 'payload': payload['action'] }) except Exception as err: diff --git a/amcrest_mqtt.py b/amcrest_mqtt.py index 6b1f729..55dcf2a 100644 --- a/amcrest_mqtt.py +++ b/amcrest_mqtt.py @@ -110,12 +110,15 @@ class AmcrestMqtt(object): self.handle_service_message(components[-1], payload) else: if components[-1] == 'set': - device_id = components[-2].split('-')[1] + vendor, device_id = components[-2].split('-') elif components[-2] == 'set': - device_id = components[-3].split('-')[1] + vendor, device_id = components[-3].split('-') else: self.logger.error(f'UNKNOWN MQTT MESSAGE STRUCTURE: {topic}') return + # of course, we only care about our 'amcrest-' messages + if vendor != 'amcrest': + return # ok, lets format the device_id and send to amcrest # for Amcrest devices, we use the string as-is (after the vendor name) self.send_command(device_id, payload) @@ -577,12 +580,13 @@ class AmcrestMqtt(object): payload = device_event['payload'] device = self.devices[device_id] - self.logger.info(f'Got event for {device_id}: {event} {payload}') # if one of our known sensors if event in ['motion','human','doorbell','recording']: + self.logger.info(f'Got event for {device_id}: {event}') device[event] = payload # otherwise, just store generically else: + self.logger.info(f'Got generic event for {device_id}: {event} {payload}') device['event'] = f'{event}: {payload}' self.refresh_device(device_id)