This commit is contained in:
Dirk Alders 2023-02-09 14:33:25 +01:00
parent f73ad48ba7
commit d8cce5e245

View File

@ -1,8 +1,11 @@
import config import config
import function import function
import json
import logging import logging
import mqtt import mqtt
import os
import report import report
import subprocess
import time import time
logger = logging.getLogger(config.APP_NAME) logger = logging.getLogger(config.APP_NAME)
@ -12,6 +15,31 @@ logger = logging.getLogger(config.APP_NAME)
# TODO: Implement handling of warnings (videv element to show in webapp?) # TODO: Implement handling of warnings (videv element to show in webapp?)
# TODO: implement garland (incl. day events like sunset, sunrise, ...) # TODO: implement garland (incl. day events like sunset, sunrise, ...)
VERS_MAJOR = 1
VERS_MINOR = 0
VERS_PATCH = 0
INFO_TOPIC = "__info__"
INFO_DATA = {
"app_name": os.path.splitext(os.path.basename(__file__))[0],
"version": {
"readable": "%d.%d.%d" % (VERS_MAJOR, VERS_MINOR, VERS_PATCH),
"major": VERS_MAJOR,
"minor": VERS_MINOR,
"patch": VERS_PATCH
},
"git": {
"url": subprocess.check_output(["git", "config", "--get", "remote.origin.url"])[:-1].decode("utf-8"),
"ref": subprocess.check_output(["git", "log", "-1", '--format="%H"'])[2:-2].decode("utf-8")
}
}
def __info_publisher__(client, userdata, message):
data = json.loads(message.payload)
if data != INFO_DATA:
client.publish(INFO_TOPIC, json.dumps(INFO_DATA))
if __name__ == "__main__": if __name__ == "__main__":
if config.DEBUG: if config.DEBUG:
@ -21,6 +49,7 @@ if __name__ == "__main__":
# #
mc = mqtt.mqtt_client(host=config.MQTT_SERVER, port=config.MQTT_PORT, username=config.MQTT_USER, mc = mqtt.mqtt_client(host=config.MQTT_SERVER, port=config.MQTT_PORT, username=config.MQTT_USER,
password=config.MQTT_PASSWORD, name=config.APP_NAME) password=config.MQTT_PASSWORD, name=config.APP_NAME)
mc.add_callback(INFO_TOPIC, __info_publisher__)
func = function.all_functions(mc) func = function.all_functions(mc)