diff options
| -rw-r--r-- | docker-compose.yml | 1 | ||||
| -rw-r--r-- | mqtt-client/mqtt-client.py | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/docker-compose.yml b/docker-compose.yml index 86ee909..3c05f8d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -33,6 +33,7 @@ services: dockerfile: Dockerfile volumes: - ./mqtt-client/omada.cfg:/app/omada.cfg + - ./door_log.csv:/app/door_log.csv env_file: - ./config.env depends_on: diff --git a/mqtt-client/mqtt-client.py b/mqtt-client/mqtt-client.py index ad6227c..2091161 100644 --- a/mqtt-client/mqtt-client.py +++ b/mqtt-client/mqtt-client.py @@ -3,6 +3,7 @@ from influxdb_client import InfluxDBClient, Point, WritePrecision from influxdb_client.client.write_api import SYNCHRONOUS import prometheus_client import threading +import datetime import requests import asyncio import time @@ -137,6 +138,9 @@ class MQTTClient: fields["Temperature"] = float(fields["Temperature"]) self.temperature_prom.labels(location = friendlyname).set(fields["Temperature"]) elif "ZoneStatus" in fields.keys() and "Contact" in fields.keys(): + with open(os.path.join(os.path.dirname(__file__), "door_log.csv"), "a") as f: + f.write("%s,Contact=%d,%d\n" % (datetime.datetime.now().astimezone().isoformat(), fields["Contact"], fields["Contact"])) + if fields["ZoneStatus"] == 1 and fields["Contact"] == 1: self.doorsensor_prom.labels(location = friendlyname).state("opened") self.door_opened_counter.labels(location = friendlyname).inc() |
