make stuff configurable

This commit is contained in:
Franzi 2024-07-30 18:32:03 +02:00
parent 6d49fca981
commit 778cefa9b1
Signed by: kunsi
GPG key ID: 12E3D2136B818350
2 changed files with 32 additions and 23 deletions

View file

@ -1,5 +1,7 @@
import logging
from sys import argv, exit
from time import sleep
from tomllib import load
import paho.mqtt.client as mqtt
from rich.align import Align
@ -8,9 +10,15 @@ from rich.live import Live
from rich.panel import Panel
from rich.table import Table
MQTT_HOST = "127.0.0.1"
MQTT_SUB = "sdm630/"
TITLE = "SDM630"
try:
with open(argv[1], "rb") as f:
config = load(f)
TITLE = config["printout"]["title"]
MQTT_SUB = "{}/#".format(config["mqtt"]["prefix"])
except Exception as e:
print(f"Usage: {argv[0]} config.toml")
exit(1)
TABLE_LAYOUT = {
"row1": {
"voltage": {
@ -50,7 +58,7 @@ mqtt_data = {}
def on_connect(client, userdata, flags, rc):
LOG.info(f"Connected to mqtt server")
mqtt.subscribe(f"{MQTT_SUB}#")
mqtt.subscribe(MQTT_SUB)
def on_disconnect(client, userdata, rc):
@ -98,7 +106,7 @@ try:
mqtt.on_connect = on_connect
mqtt.on_disconnect = on_disconnect
mqtt.on_message = on_message
mqtt.connect(MQTT_HOST, 1883, 10)
mqtt.connect(config["mqtt"]["host"], config["mqtt"]["port"], 10)
mqtt.loop_start()
with Live(generate_layout(), screen=True) as live: