ignore messages not for us; another event to ignore

pull/106/head
Jeff Culverhouse 11 months ago
parent c9d5ede2ef
commit b4e9825c16

@ -1 +1 @@
0.99.14 0.99.15

@ -147,6 +147,8 @@ class AmcrestAPI(object):
pass pass
elif code == "NTPAdjustTime": elif code == "NTPAdjustTime":
pass pass
elif code == "RtspSessionDisconnect":
pass
else: else:
self.events.append({ 'device_id': device_id, 'event': code , 'payload': payload['action'] }) self.events.append({ 'device_id': device_id, 'event': code , 'payload': payload['action'] })
except Exception as err: except Exception as err:

@ -110,12 +110,15 @@ class AmcrestMqtt(object):
self.handle_service_message(components[-1], payload) self.handle_service_message(components[-1], payload)
else: else:
if components[-1] == 'set': if components[-1] == 'set':
device_id = components[-2].split('-')[1] vendor, device_id = components[-2].split('-')
elif components[-2] == 'set': elif components[-2] == 'set':
device_id = components[-3].split('-')[1] vendor, device_id = components[-3].split('-')
else: else:
self.logger.error(f'UNKNOWN MQTT MESSAGE STRUCTURE: {topic}') self.logger.error(f'UNKNOWN MQTT MESSAGE STRUCTURE: {topic}')
return return
# of course, we only care about our 'amcrest-<serial>' messages
if vendor != 'amcrest':
return
# ok, lets format the device_id and send to amcrest # ok, lets format the device_id and send to amcrest
# for Amcrest devices, we use the string as-is (after the vendor name) # for Amcrest devices, we use the string as-is (after the vendor name)
self.send_command(device_id, payload) self.send_command(device_id, payload)
@ -577,12 +580,13 @@ class AmcrestMqtt(object):
payload = device_event['payload'] payload = device_event['payload']
device = self.devices[device_id] device = self.devices[device_id]
self.logger.info(f'Got event for {device_id}: {event} {payload}')
# if one of our known sensors # if one of our known sensors
if event in ['motion','human','doorbell','recording']: if event in ['motion','human','doorbell','recording']:
self.logger.info(f'Got event for {device_id}: {event}')
device[event] = payload device[event] = payload
# otherwise, just store generically # otherwise, just store generically
else: else:
self.logger.info(f'Got generic event for {device_id}: {event} {payload}')
device['event'] = f'{event}: {payload}' device['event'] = f'{event}: {payload}'
self.refresh_device(device_id) self.refresh_device(device_id)

Loading…
Cancel
Save