Schrolli91 / BOSWatch

Python Script to process input data from rtl_fm and multimon-NG - multiple Plugin support
https://bwcc.boswatch.de
GNU General Public License v2.0
132 stars 59 forks source link

BOSWatch -> BOSMon "Argument status invalid" #431

Open wwdi97 opened 4 years ago

wwdi97 commented 4 years ago

Hallo zusammen, habe in Verbindung mit BOSMon ein kleines Problem:

Bosmon ist soweit korrekt in der config eingerichtet. Die Weitergabe funktioniert bei allen POCSAG-Meldungen und allen FMS-Status außer bei den PTT-Telegrammen (= Status:f)

Hier der Auszug aus dem Logfile:

01.01.1991 00:33:31 - decoder [DEBUG ] received FMS 01.01.1991 00:33:31 - doubleFilter [DEBUG ] checkID: 12345678f0 () 01.01.1991 00:33:31 - fms [INFO ] FMS:12345678 Status:f Richtung:0 TSI:I
01.01.1991 00:33:31 - alarmHandler [DEBUG ] [ ALARM ] 01.01.1991 00:33:31 - alarmHandler [DEBUG ] call Plugin: BosMon 01.01.1991 00:33:31 - configHandler [DEBUG ] read [BosMon] from config file 01.01.1991 00:33:31 - configHandler [DEBUG ] - bosmon_server = 192.168.0.1 01.01.1991 00:33:31 - configHandler [DEBUG ] - bosmon_port = 80 01.01.1991 00:33:31 - configHandler [DEBUG ] - bosmon_channel = channel 01.01.1991 00:33:31 - configHandler [DEBUG ] - bosmon_user = xxxxxx 01.01.1991 00:33:31 - configHandler [DEBUG ] - bosmon_password = *** 01.01.1991 00:33:31 - BosMon [DEBUG ] connect to BosMon 01.01.1991 00:33:31 - BosMon [DEBUG ] Start FMS to BosMon 01.01.1991 00:33:31 - BosMon [DEBUG ] - Params: status=f&info=1&type=fms&flags=0&address=12345678 01.01.1991 00:33:31 - BosMon [WARNING ] BosMon response: 400 - BadRequest: Argument status invalid 01.01.1991 00:33:31 - BosMon [DEBUG ] close BosMon-Connection 01.01.1991 00:33:31 - alarmHandler [DEBUG ] return from: BosMon 01.01.1991 00:33:31 - alarmHandler [DEBUG ] [END ALARM] 01.01.1991 00:33:31 - doubleFilter [DEBUG ] Added 12345678f0 to doubleList

Konnte jemand bereits ein ähnliches Problem bei sich feststellen oder weiß sogar Abhilfe?

Grüße Markus

Schrolli91 commented 4 years ago

Evtl mal in den Bosmon Logs schauen was sein Problem ist -sieht für mich nicht nach BOSWatch Fehler aus

wwdi97 commented 4 years ago

Was mir gerade auffällt: Buchstaben in FMS-Telegrammen schreibt und übergibt BOSWatch alle klein. Also Organisationskenner, f (Sprechtastentelegramm) etc. Wertet man über BOSMon aus, sind alle diese Buchstaben immer groß geschrieben.

Um das als Fehlerquelle auszuschließen würde ich gerne BOSWatch die Buchstaben auch in Großschrift an BOSMon senden lassen. Nur wie?

Schrolli91 commented 4 years ago

Am einfachsten zum testen direkt im Plugin https://docs.python.org/2/library/string.html#string.upper

wwdi97 commented 4 years ago

Habe mal etwas experimentiert und bekomme keine Ausgabe in Großschrift hin. Bin da mangels Kenntnissen etwas auf Hilfe angewiesen.

Schrolli91 commented 4 years ago

ohne gewähr

Die zeile https://github.com/Schrolli91/BOSWatch/blob/ca26f1dc9a71d166c3dc9612924781511fb97ae6/plugins/BosMon/BosMon.py#L152 einfach mal folgendermaßen anpassen und testen.

params = urllib.urlencode({'type':'fms', 'address':data["fms"], 'status':data["status"].upper(), 'info':info, 'flags':'0'}) neu ist hier nur das .upper()

wwdi97 commented 4 years ago

Danke :) Da war ich zwar nah dran, aber knapp daneben ist auch vorbei...

Habe BosMon.py entsprechend angepasst. Leider bleibt das Fehlerbild unverändert. Mir fällt zudem auf, dass auch die Quittungen, die das KFZ->LST sendet, wenn es ein Anw C, Anw J, etc. empfängt ebenfalls mit gleicher Fehlermeldung von BosMon abgewiesen werden.

Im BosMon Forum konnte mir bisher leider auch niemand helfen. Ist im Prinzip auch nur ein Schönheitsfehler, da die Meldungen an sich ja korrekt übertragen werden.

Schrolli91 commented 4 years ago

Kann Bosmon überhaupt alphanumerische Zeichen? evtl scheitert es generell schon daran?

wwdi97 commented 4 years ago

Ich kann dir sagen, dass die Auswertung über Line In in BosMon auch für die Meldungen klappt, bei denen es bei Eingabe über Netzwerk, bzw. BOSWatch nicht klappt. Daher auch mein Anfangsverdacht, es könne an BOSWatch liegen.

BosMon zeigt die Fernanweisungen selbst ja auch korrekt an. Nur eben nicht deren Quittierungen FZG->LST (die man ja für den laufenden Betrieb ohnehin filtern würde) und Sprechtastentelegramme.

olwi572 commented 4 years ago

Bosmon erwartet den Status dezimal, wäre super wenn das bei Gelegenheit jemand anpassen könnte. Meine Skills gehen leider gegen NULL Ich hab mal schnell die oben angesprochene Zeile wie folgt angepasst 'status':int(data["status"],16), das zeigt sofort Wirkung

olwi572 commented 4 years ago

Wenn hier schon daran gearbeitet wird. Seit der BOSMON Version 1.5.3 funktioniert der Type "ZVEI" nicht mehr der muss jetzt "ZVEIDTMF" heissen. Vermute das ist ein Bug in Bosmon, aber sonst kommen keine 5-Ton Meldungen an obwohl sie mit OK bestätigt werden.

Zeile 164 muss dann so aussehen: params = urllib.urlencode({'type':'zveidtmf', 'address':data["zvei"], 'flags':'0'})

flothi commented 4 years ago

Ich nehme an, die Feldbenennung ist nicht abwärtskompatibel? Also müsste man im besten Fall in der Config angeben, welche Version verwendet wird.

Schrolli91 commented 4 years ago

Ich verstehe vor allem nicht wieso das umbenannt wurde :-D ZVEI != DTMF Das sind ja zwei völlig verschiedene Standards, auch wenn die Sirenenauslösung zB. durch einen Doppelton umgesetzt ist.

olwi572 commented 4 years ago

Das mit der Verison ist vermutlich vernachlässigbar, da die Versionen immer auslaufen, und alte Versionen nur betrieben werden können wenn man es explizit anfordert. Ausserdem sollte das vorher schon funktioniert haben das sehe ich unkritisch. Das wurde nicht umbenannt, ich denke es gab schon immer beides, man bekommt ja auch noch ein OK zurück wenn man zvei verwendet, aber es wird in BOSMON nicht übernommen. Also ziemlich sicher ein BUG auf deren Seite. Da ich aber sehr Lösungsorientiert bin, und hier was ändern kann und an BOSMON nicht war das mein Ansatz, zumal mein Hinweis im BOSMON Forum auch auch nur von einem Mitleidenden Beachtung fand.

Schrolli91 commented 4 years ago

Naja wenn das so ist - sehe ich für eine Anpassung kein Problem. Aber die Intention von @flothi war schon Richtig - Abwärts kompatibel soll es bleiben (in diesem Fall aber wohl zu vernachlässigen)