1.8 KiB
Eigene Plugins schreiben
Um ein eigenes Plugin zu schreiben, sollte man sich am besten zuerst einmal das Plugin template ansehen.
Dies kann als Vorlage für das eigene Plugin genutzt werden.
1.) Informationen anpassen
- Dateikopf anpassen
- Namen des Plugins vergeben in der
__init__Methodesuper().__init__("template")
2.) Benötigte Methode überschreiben
Die Plugin Basisklasse bietet einige Methoden, welche vom Plugin überschrieben werden können.
onLoad()wird direkt beim Import des Plugins ausgeführtsetup()wird vor jeder Ausführung gerufenfms(bwPacket)wird bei einem FMS Paket ausgeführtpocsag(bwPacket)wird bei einem POCSAG Paket ausgeführtzvei(bwPacket)wird bei einem ZVEI Packet ausgeführtmsg(bwPacket)wird bei einem Nachrichten Packet ausgeführtteardown()wird nach jeder Ausführung gerufenonUnload()wird beim Zerstören der Plugin Instanz zum Programmende ausgeführt
3.) Zugriff auf Config Datei
Wenn sich im Ordner des Plugins eine ini-Datei befindet, welche exakt so wie das Plugin heißt, kann deren Inhalt über die lokale Config-Reader Instanz
self.config.getBool(SECTION, KEY)self.config.getInt(SECTION, KEY)self.config.getStr(SECTION, KEY)
abgerufen werden.
4.) Daten aus dem BOSWatch Paket lesen
An die Alarm Funktionen FMS, POCSAG und ZVEI wird eine Instanz eines BOSWatch-Packet Objekts übergeben.
Aus dieser kann mittels bwPacket.get(FELDNAME) das entsprechende Feld
ausgelesen werden. Eine Auflistung der bereitgestellten Informationen
findet sich im entsprechenden BOSWatch-Packet Dokument.
5.) Wildcards parsen
Das parsen der Wildcars funktioniert komfortabel über die interne Methode self.parseWildcards(MSG).
Die Platzhalter für die Wildcards findet man in boswatch/utils/wildcard.py oder in der packet.md-