was hast du den als dbhost angegeben? Hoffentlich nicht localhost, sondern domainname.de? ^^
Gruß
was hast du den als dbhost angegeben? Hoffentlich nicht localhost, sondern domainname.de? ^^
Gruß
Ja hab ich. :)
Beim start von boswatch.py seh ich ja nen Zugriff in der db.
Scheinbar läuft der bei Zeit 120 [Sekunden?] auf nen timeout.Code:Prozesse Zeige die SQL-Abfragen vollständig an ID Benutzer Host Datenbank Befehl Zeit Status SQL-Befehl Beenden 55033 d01User Client-IP:40048 d01Name Sleep 1 --- --- Beenden 55034 d01User Server-IP:46023 keine Query 0 init SHOW PROCESSLIST
Hab es mal probiert. bei exakt 2 Minuten ist der Prozess weg.
Wie bekommen wir hier einen keep-alive hin?
oke, schau ich mir ebenfalls heute abend an, ob ich da was machen kann...
Im Notfall die Verbindung immer neu öffnen und danach schließen.
Teste mal ob Meldungen dann wenigstens in die Datenbank geschrieben werden.
Musst halt solange probieren bis mal was kommt, was innerhalb der ersten 2 Minuten liegt :-D
Damit wenigstens das als funktionierend betrachtet werden kann ^^
Gruß
Hab das ganze mittels tcpdump mitgeschnitten:
Man sieht den Login, einwandfrei und dann über die ganze Zeit nichts mehr.
Wegen dem Test zum schreiben konnte ich noch nicht probieren. Immer wenn ich dran war, ist Ruhe 8)
[EDIT]
Hab mich mal etwas auf die Suche begeben und das gefunden:
MySQL
Und das:Zitat von MySQL
Ich weiß aber nicht wo und wie man das einbauen muss.Zitat von http://stackoverflow.com/questions/24327410/python-mysql-connector-timeout
Bei mir müsste es kleiner 120 sein.
Danke.
Geändert von Hobo (07.04.2015 um 21:34 Uhr)
Also:
- install.sh auf ~ gefixt
- Pfadangaben absolut - es sollte nun egal sein, von wo das script aufgerufen wird
- mysql connect gefixt
Edit: Also der fix sieht follgendermaßen aus, das für jede aktion eine neue Verbindung geöffnet wird, Daten geschrieben und diese danach geschlossen wird. Nur so kann man sauber einen Timeout umgehen. Hat auch den Vorteil, das falls die Verbindung mal abreist, beim nächsten mal ist sie wieder da, da ja eine neue aufgebaut wird :-)
allerdings erst mal alles im Develop-Branch.
Kannst ja mal testen:
https://github.com/Schrolli91/BOSWatch/tree/develop
Gruß
Geändert von Schrolli (07.04.2015 um 22:40 Uhr)
Danke :)
Bekomm aber folgenden Fehler:
Code:./boswatch.py: 5: ./boswatch.py: Syntax error: newline unexpected
Edit 1:
Fehler gefunden, hatte die HTML geladen :(
Edit 2:
Ich würde gern in den parser noch die Ortskennungen vom FMS, sowie die Fahrzeuge mit Namen versehen.
Ebenfalls die ZVEI-Schleifen eine Spalte daneben mit den Ortsnamen.
Im Parser habe ich die Kategorien:
sowie:Code://Data for location Parsing $location = array( "21" => "Ort1", ); //Data for vehicle Parsing $vehicle = array( "8401" => "Ort1 40/1", );
hinzugefügt.Code:case "location": return $location[substr($fms,2,1)]; break; case "vehicle": return $vehicle[substr($fms,3,1)]; break;
Bekomm aber nur leere Spalten.
Wie muss ich den parse mode zvei gestalten?
Sollte so aussehen:
ID | Timestamp | Schleife | Ortsname
Danke schon mal für deinen spitzen support. Ich warte noch auf "Traffic" das ich sagen kann ob das mit der DB jetzt klappt. Die bisherigen Daten habe ich händisch eingetragen.
Und dann wäre noch interessant, ob ich in der Ausgabe filtern kann auf Orts oder Fahrzeugkennungen udn ZVEI Schleifen, à la 531XX Und 53241 ausgeben.
In die DB soll aber alles 8)
Gruß und GN8
Geändert von Hobo (08.04.2015 um 00:04 Uhr)
Morgen ;-)
Zum Parser...
Alle variablen Sachen würde ich gerne direkt in der Datenbank speichern, soweit bin ich aber noch nicht. Der statische Parser den du eben ansprichst ist eigentlich nur für die Organisation und das Bundesland gedacht, weil eben diese Werte fest stehen. Fahrzeuge und Ortschaften sind dann aber sehr individuell.
Werde da aber evtl heute oder morgen noch was kleines basteln :-)
Übergangsweise:
2,1 ist hier ausschlaggebend. Hier schnappt er sich ab Ziffer "2" genau "1" Zeichen.Code:return $location[substr($fms,2,1)];
Das müsstest du eben anpassen. Lass dir einfach mal mit echo $fms; den übergebenen String ausgeben, dann kannst du ja abzählen ab wo die Orts und Fhz Kennung anfängt
Edit: https://github.com/Schrolli91/BOSWatch/tree/develop
schnapp dir mal die index.php und parser.php aus dem dev-branch ;-)
und Werf nen Blick in die parser.php - sollte vorerst so gehen (ungetestet, need Feedback)
Gruß
Edit:
Filtermöglichkeiten ala 123** usw sind geplant.
Aber wann ich damit soweit bin kann ich noch net genau sagen.
Meinst du eigentlich Filter im Python oder im Webend?
Geändert von Schrolli (08.04.2015 um 09:09 Uhr)
Danke für deine Hilfe.
Also bekomme in Zeile 117 nen Fehler:
Parse error: syntax error, unexpected '{' in /www/htdocs/v114403/alarm/parser.php on line 117
Habe mal ein paar Korrekturen (Klammern, Variablen):
Aber jetzt parsed er nichts mehr.Code://Parse direction case "direction": if(substr($data,9,1) == 1) { return "L->F"; }elseif(substr($data,9,1) == 0) { return "F->L"; }else { return "ERR!"; } break;
Überall steht der komplette string.
Und hier ist noch nen Fehler drin, den ich noch nicht gefunden habe:Code:if (array_key_exists($data, $zvei))Die Zeile ist bei mir anders. ;)Code:Warning: array_key_exists() expects parameter 2 to be array, null given in /www/htdocs/hobo/bos/parser.php on line 134
Und ZVEI übernimmt er nicht.
Aber wenn das dann irgendwann über ne eigene DB läuft wär natürlich noch besser 8)
Ich meine im Webfrontend.
Die Python darf ruhig alles in die DB meißeln.
Übrigens habe ich seit gestern Abend noch nichts empfangen. Entweder Empfangs oder ppm stimmt mal wieder nicht.
Acherje :-D
Da ist mir ja ein ganz "schöner" Fehler unterlaufen, ich meld mich gleich mit Korrekturen zurück ;-)
EDIT:
Sollte alles gefixt sein, und diesmal auch grob getestet! :-D
Einfach nochmal die parser.php aus dem dev-Branch ziehen
Sorry für den Müll den ich da hochgeladen habe ^^
Geändert von Schrolli (08.04.2015 um 11:23 Uhr)
Sehr schön :)
Danke. Geht!
Jetzt muss ich nur den Empfang endlich hinbekommen...
Edit:
Was mir gerade einfällt/auffällt.
In einem Funkkreis kann die Fahrzeugkennung (0101) in Bayern für X/10/1 mit unterschiedlichen Ortskennungen auftauchen. Das sollte dann in der Endlösung eine Abhängigkeit sein.
VG und Danke!
Das sollte man tatsächlich bedenken...
Theoretisch müsste ein einzelnes Fahrzeug ja sogar noch die BOS und das Bundesland enthalten um es wirklich eindeutig zuordnen zu können....
Da hab ich was losgetreten... :-D
Okay, ich übergebe hiermit an Bastian! Ich bin raus und werde es mal die Tage auf meinem Pi testen.
Edit:
Aber die Kanalangabe hättest mitnehmen können :-)
:-D
Na gut, hast mich überzeugt. Dir zu Liebe bau ich sowas wieder ein ^^
Aber Danke für die Blumen :-) Freut mich...
Edit:
Wenn du mal in den Code schaust, findest sich im Argument Parser eine auskommentierte Zeile die den Kanal entgegen nimmt :-D War also bereits seit Beginn vorgesehen.
Meine Prioritäten lagen nur erst wo anders :-P
EDIT2:
Falls jemand POCSAG Rohdaten, wie sie aus Multimon kommen, hat, würde ich mich sehr freuen :-)
Geändert von Schrolli (08.04.2015 um 21:56 Uhr)
In Bayern ist es der Regelfall, dass die ersten 5 Blöcke den Ort angeben und die letzten 3 das Fahrzeug...
Siehe auch:
https://www.stmi.bayern.de/assets/st...1_20020523.pdf
Für FMS Fahrzeuge in Gemeinden, die nicht der Hauptwehr entsprechen brauchst du dann eine Referenz über alle 8 Blöcke.
Angenommenes Beispiel:
Gemeinde/Stadt Andechs hat Block 2-5: 3**2
Andechs hat angenommenerweise ein TSF also FMS: 63**2441 Rufname: Florian Andechs 44/1
Dorf Rothenfeld daneben hat auch ein TSF also FMS: 63**2442 aber Rufname: Florian Rothenfeld 44/1, nach FMS Kennung aufgedröselt wäre es aber Florian Andechs 44/2
Geändert von c0bRa (09.04.2015 um 15:59 Uhr) Grund: theoretisch existente FMS Kennungen unkenntlich gemacht
Dann ist eine auftrennung der FMS Daten nach BLand Ort und FHZ ja so ohne weiteres gar nicht möglich, und man müsste die FMS Daten immer als ganzes sehen... :/
Also zumindest Deutschlandweit gesehen.
Um ein Fahrzeug also bundesweit sicher zuordnen zu können müsste ich alle 8 Blöcke hernehmen. Damit ist das zerlegen innerhalb des Scriptes natürlich völliger Unfug -.-
Aktive Benutzer in diesem Thema: 2 (Registrierte Benutzer: 0, Gäste: 2)