HerMesh - Intelligenter Meshtastic-Bot mit Abo-System
HerMesh ist ein offenes, modular aufgebautes System zur automatisierten Informationsverteilung im Meshtastic-Netz. Nutzer können verschiedene Informationsarten abonnieren, die in definierten Intervallen automatisch versendet werden. HerMesh verbindet die Idee des Götterboten Hermes mit der Mesh-Kommunikation von Meshtastic – ein flexibles, zuverlässiges und erweiterbares Informationsframework.
Experimenteller Status
Das Projekt befindet sich im Entwurfsstadium. Feedback, Ideen und Mitentwicklung sind willkommen.
Motivation und Hintergrund
Meshtastic bietet ein dezentrales Kommunikationsnetz, dem jedoch automatisierte Informationsdienste fehlen. HerMesh schließt diese Lücke durch:
- ein Abo-System für Nutzer
- externe Datenquellen wie Wetter, Warnmeldungen und Statusfeeds
- eine zuverlässige Message2SendQueue
- Rate-Limit-Schutz
- Protokollierung
- Failover-Mechanismen
HerMesh ist so konzipiert, dass es sich leicht erweitern lässt und als offenes System für automatisierte Mesh-Kommunikation dient.
Funktionsübersicht
Nutzer können HerMesh Befehle senden wie:
START WEATHER <STADT> <INTERVALL> <TIME> START NINA <STADT> START KATWARN <STADT> START DWD_WARNING <STADT>
HerMesh prüft die Eingaben, legt das Abo in der Datenbank an und versendet die Informationen automatisch.
Message2SendQueue
Alle ausgehenden Nachrichten werden in einer Warteschlange gespeichert. Erst nach erfolgreichem Versand werden sie gelöscht. Fehler führen zu erneuten Versuchen. Dadurch wird verhindert, dass Nachrichten verloren gehen oder das Netz überlastet wird.
Rate-Limit-System
Zum Schutz des 868-MHz-Netzes existieren:
- ein Rate-Limit pro Nutzer
- ein globales Rate-Limit
- konfigurierbare Grenzwerte
Protokollierung
HerMesh speichert:
- eingehende Befehle
- ausgehende Nachrichten
- Queue-Status
- Fehler
- Systemereignisse
Failover
Wenn das Backend oder der Meshtastic-Node ausfällt, kann eine zweite Instanz übernehmen. Die Queue bleibt erhalten.
Lizenz
HerMesh wird unter der Creative Commons Attribution-ShareAlike 4.0 Lizenz (CC BY-SA 4.0) veröffentlicht. Nutzung, Weiterentwicklung und Forks sind erlaubt, solange der ursprüngliche Autor genannt wird.