From 4def7c47e989290e6fc57ab50d6109f72a17d87e Mon Sep 17 00:00:00 2001 From: Jason Michalski Date: Mon, 15 Jul 2024 20:12:12 -0700 Subject: [PATCH] Allow using freedom MQTT servers. --- main.py | 7 ++++--- meshview/mqtt_reader.py | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/main.py b/main.py index 90fe151..e77558c 100644 --- a/main.py +++ b/main.py @@ -8,8 +8,8 @@ from meshview import web from meshview import http -async def load_database_from_mqtt(topic): - async for topic, env in mqtt_reader.get_topic_envelopes(topic): +async def load_database_from_mqtt(mqtt_server, topic): + async for topic, env in mqtt_reader.get_topic_envelopes(mqtt_server, topic): await store.process_envelope(topic, env) @@ -18,7 +18,7 @@ async def main(args): await database.create_tables() async with asyncio.TaskGroup() as tg: - tg.create_task(load_database_from_mqtt(args.topic)) + tg.create_task(load_database_from_mqtt(args.mqtt_server, args.topic)) tg.create_task(web.run_server(args.bind, args.port, args.tls_cert)) if args.acme_challenge: tg.create_task(http.run_server(args.bind, args.acme_challenge)) @@ -31,6 +31,7 @@ if __name__ == '__main__': parser.add_argument('--port', default=8080, type=int) parser.add_argument('--tls-cert') + parser.add_argument('--mqtt-server', default='mqtt.meshtastic.org') parser.add_argument('--topic', nargs='*', default=['msh/US/bayarea/#']) parser.add_argument('--database', default='sqlite+aiosqlite:///packets.db') diff --git a/meshview/mqtt_reader.py b/meshview/mqtt_reader.py index b047810..ae62c9b 100644 --- a/meshview/mqtt_reader.py +++ b/meshview/mqtt_reader.py @@ -26,11 +26,11 @@ def decrypt(packet): pass -async def get_topic_envelopes(topics): +async def get_topic_envelopes(mqtt_server, topics): while True: try: async with aiomqtt.Client( - "mqtt.meshtastic.org", username="meshdev", password="large4cats" + mqtt_server, username="meshdev", password="large4cats" ) as client: for topic in topics: await client.subscribe(topic)