Closed Lieggie closed 7 years ago
Von der Beschreibung her klingt das nach einem Fehler im Code (Tab zu viel oder zu wenig)
Ich schaue es mir nachher mal in Ruhe an
Danke für die Idee mit den Tabs der fehler scheint behoben. nu bekomme ich einen Unbekanten Fehler
08.09.2017 17:42:56 - pluginLoader [DEBUG ] load plugin: Telegram 08.09.2017 17:42:57 - Telegram [DEBUG ] unknown error None 08.09.2017 17:42:57 - pluginLoader [DEBUG ] call Telegram.onLoad()
Äh, ok - das sagt natürlich nur wenig aus. Ein Ordner Telegram existiert aber im Ordner plugins?
Startest du Boswatch mit sudo
?
nein wenn ich den Service starte bin ich als root angemeldet, ansonsten starte ich als autostart Der ordner exestiert und Telegram läuft auch wieder
Hast du das Problem gelöst? Wenn ja, was wars?
Nein das Problem mit dem unbekanten fehler konnte ich nicht lösen aber Boswatch arbeitet anscheinend normal und Telegram schickt auch nachrichten nur ohne googel maps ...woran das nun liegt weis ich grad nicht ...
Da bei uns nur selten die Navis bespielt werden habe ich die googlemaps-Funktion bei mir "ausgebaut", evtl könnte man das als Schalter in die Konfig einbauen
zur zeit möchte ich es Testweise nur auf dem handy nutzen....in wieweit das dann wirklich genutzt wird lassen wir erst mal stehen.
Guten morgen nun habe ich mal eine Fehler log zum Unbekanten Fehler
vieleicht kann da jemand was mit anfangen denk das es um Googel geht da der text im Telegram einwandfei futzt
10.09.2017 06:30:26 - Telegram [ERROR ] Telegram Error: BadRequest 10.09.2017 06:30:26 - Telegram [DEBUG ] Telegram Error: BadRequest Traceback (most recent call last): File "/opt/boswatch/BOSWatch/plugins/Telegram/Telegram.py", line 103, in run bot.sendPhoto('%s' % BOTChatIDAPIKey, open('overview_map.png', 'rb'), disable_notification='true') File "/usr/local/lib/python2.7/dist-packages/python_telegram_bot-7.0.1-py2.7.egg/telegram/bot.py", line 57, in decorator result = func(self, *args, *kwargs) File "/usr/local/lib/python2.7/dist-packages/python_telegram_bot-7.0.1-py2.7.egg/telegram/bot.py", line 69, in decorator return self._message_wrapper(url, data, args, kwargs) File "/usr/local/lib/python2.7/dist-packages/python_telegram_bot-7.0.1-py2.7.egg/telegram/bot.py", line 175, in _message_wrapper result = self._request.post(url, data, timeout=kwargs.get('timeout')) File "/usr/local/lib/python2.7/dist-packages/python_telegram_bot-7.0.1-py2.7.egg/telegram/utils/request.py", line 263, in post 'POST', url, body=data.to_form(), headers=data.headers, urlopen_kwargs) File "/usr/local/lib/python2.7/dist-packages/python_telegram_bot-7.0.1-py2.7.egg/telegram/utils/request.py", line 209, in _request_wrapper raise BadRequest(message) BadRequest: Image_process_failed 10.09.2017 06:30:26 - alarmHandler [DEBUG ] return from: Telegram
Hast du überhaupt Zieldaten in deinen POCSAG-Daten? Also eine Adresse bzw. Ortskoordinaten? Der Fehler kommt aus einem "falschen" Request, bei dem eine Kartenansicht geladen werden sollte.
Wenn du RICforLocationAPIKey
auf einen nicht verwendeten Wert setzt, sollte der Zweig gar nicht abgearbeitet werden. Damit sollte man das Feature deaktivieren können.
@Lieggie, poste doch mal eine deiner Meldungen. Ggf. können wir dann den Befehl zum Extrahieren der Ortsangaben basteln.
@PeterLaemmle Japp, bis aus den import von googlemaps, der trotz allem stattfindet, bin ich (für mich) damit zufrieden - ich versuche Installationen sauber zu halten und Dinge, die ich nicht brauche, zu vermeiden ;-)
Hallo Sorry das ich mich erst jetzt verspätet Melde
Anbei noch mal eine Log mit meldung und Fehler
Ich habe wichtige Daten mit X ersetzt und aus der eigendlichen Städte angabe STADT gemacht
Googel ist auf die Ric xxxx705 gesetzt
11.09.2017 19:05:08 - doubleFilter [DEBUG ] Added xxxx0001 to doubleList 11.09.2017 19:05:08 - decoder [DEBUG ] received POCSAG 11.09.2017 19:05:08 - poc [DEBUG ] POCSAG Bitrate: 1200 11.09.2017 19:05:08 - poc [INFO ] RIC xxxx705 in between filter range 11.09.2017 19:05:08 - doubleFilter [DEBUG ] checkID: xxxx7051 (b1 STADT MarktS 41 Ausgelöster Rauchwarnmelder / haben auch rauch gerochen 190225) 11.09.2017 19:05:08 - poc [INFO ] POCSAG1200: xxxx705 1 b1 STADT MarktS 41 Ausgelöster Rauchwarnmelder / haben auch rauch gerochen 190225 11.09.2017 19:05:08 - descriptionList [DEBUG ] look up description lists 11.09.2017 19:05:08 - descriptionList [DEBUG ] - result for xxxx705: FFw STADT BvD 11.09.2017 19:05:08 - alarmHandler [DEBUG ] [ ALARM ] 11.09.2017 19:05:08 - regexFilter [DEBUG ] search Filter for POC to Telegram at 173240000 Hz 11.09.2017 19:05:08 - regexFilter [DEBUG ] found Filter: poctelegram = (xxxx001)|(xxxx665)|(xxxx681)|(xxxx689)|(xxxx697)|(xxxx465)|(xxxx505)|(xxxx705)|(xxxx993) 11.09.2017 19:05:08 - regexFilter [DEBUG ] Filter passed: poctelegram 11.09.2017 19:05:08 - alarmHandler [DEBUG ] call Plugin: Telegram 11.09.2017 19:05:08 - Telegram [DEBUG ] Compose output from POCSAG-message 11.09.2017 19:05:08 - Telegram [DEBUG ] Initiate Telegram BOT 11.09.2017 19:05:08 - Telegram [DEBUG ] Send message to chat via Telegram BOT API 11.09.2017 19:05:08 - bot [DEBUG ] Entering: send_message 11.09.2017 19:05:08 - connectionpool [DEBUG ] Starting new HTTPS connection (1): api.telegram.org 11.09.2017 19:05:09 - connectionpool [DEBUG ] https://api.telegram.org:443 "POST /bot431337107:AAFqg_7K3_M_U6caC24sUkdAxxxxxxxxxx/sendMessage HTTP/1.1" 200 383 11.09.2017 19:05:09 - bot [DEBUG ] {'delete_chat_photo': False, 'new_chat_photo': [], 'from': {'username': u'xxxxbot', 'first_name': u'Boswatch', 'id': 431337107}, 'text': u'11.09.2017 19:05:08\n0880705(a)\nFFw STADT BvD\nb1 STADT MarktS 41 Ausgel\xf6ster Rauchwarnmelder / haben auch rauch gerochen 190225', 'entities': [], 'channel_chat_created': False, 'new_chat_members': [], 'supergroup_chat_created': False, 'chat': {'first_name': u'T', 'last_name': u'L', 'type': u'private', 'id': 401442778}, 'photo': [], 'date': 1505149509, 'group_chat_created': False, 'message_id': 235, 'new_chat_member': None} 11.09.2017 19:05:09 - bot [DEBUG ] Exiting: send_message 11.09.2017 19:05:09 - Telegram [DEBUG ] Extract address from POCSAG message 11.09.2017 19:05:09 - Telegram [DEBUG ] Retrieve maps from Google 11.09.2017 19:05:09 - Telegram [DEBUG ] Send message and maps via Telegram BOT 11.09.2017 19:05:09 - bot [DEBUG ] Entering: send_photo 11.09.2017 19:05:09 - connectionpool [DEBUG ] https://api.telegram.org:443 "POST /bot431337107:AAFqg_7K3_M_U6caC24sUkdxxxxxxxxxxxx/sendPhoto HTTP/1.1" 400 79 11.09.2017 19:05:09 - Telegram [ERROR ] Telegram Error: BadRequest 11.09.2017 19:05:09 - Telegram [DEBUG ] Telegram Error: BadRequest Traceback (most recent call last): File "/opt/boswatch/BOSWatch/plugins/Telegram/Telegram.py", line 103, in run bot.sendPhoto('%s' % BOTChatIDAPIKey, open('overview_map.png', 'rb'), disable_notification='true') File "/usr/local/lib/python2.7/dist-packages/python_telegram_bot-7.0.1-py2.7.egg/telegram/bot.py", line 57, in decorator result = func(self, args, kwargs) File "/usr/local/lib/python2.7/dist-packages/python_telegram_bot-7.0.1-py2.7.egg/telegram/bot.py", line 69, in decorator return self._message_wrapper(url, data, args, kwargs) File "/usr/local/lib/python2.7/dist-packages/python_telegram_bot-7.0.1-py2.7.egg/telegram/bot.py", line 175, in _message_wrapper result = self._request.post(url, data, timeout=kwargs.get('timeout')) File "/usr/local/lib/python2.7/dist-packages/python_telegram_bot-7.0.1-py2.7.egg/telegram/utils/request.py", line 263, in post 'POST', url, body=data.to_form(), headers=data.headers, urlopen_kwargs) File "/usr/local/lib/python2.7/dist-packages/python_telegram_bot-7.0.1-py2.7.egg/telegram/utils/request.py", line 209, in _request_wrapper raise BadRequest(message) BadRequest: Image_process_failed 11.09.2017 19:05:09 - alarmHandler [DEBUG ] return from: Telegram 11.09.2017 19:05:09 - regexFilter [DEBUG ] search Filter for POC to MySQL at 173240000 Hz 11.09.2017 19:05:09 - regexFilter [DEBUG ] found Filter: pocmysql = ^([])([a-z]).|^([A-Z])([ ]).|^([A-Z])([a-z])([a-z]). 11.09.2017 19:05:09 - regexFilter [DEBUG ] Filter passed: pocmysql 11.09.2017 19:05:09 - alarmHandler [DEBUG ] call Plugin: MySQL 11.09.2017 19:05:09 - configHandler [DEBUG ] read [MySQL] from config file 11.09.2017 19:05:09 - configHandler [DEBUG ] - dbserver = localhost 11.09.2017 19:05:09 - configHandler [DEBUG ] - dbuser = root 11.09.2017 19:05:09 - configHandler [DEBUG ] - dbpassword = 11.09.2017 19:05:09 - configHandler [DEBUG ] - database = boswatch 11.09.2017 19:05:09 - configHandler [DEBUG ] - tablefms = bos_fms 11.09.2017 19:05:09 - configHandler [DEBUG ] - tablezvei = bos_zvei 11.09.2017 19:05:09 - configHandler [DEBUG ] - tablepoc = bos_pocsag 11.09.2017 19:05:09 - configHandler [DEBUG ] - tablesig = bos_signal 11.09.2017 19:05:09 - MySQL [DEBUG ] connect to MySQL 11.09.2017 19:05:09 - MySQL [DEBUG ] Insert POC 11.09.2017 19:05:09 - MySQL [INFO ] RIC xxxx705 is no net ident 11.09.2017 19:05:09 - MySQL [DEBUG ] close MySQL 11.09.2017 19:05:09 - alarmHandler [DEBUG ] return from: MySQL 11.09.2017 19:05:09 - alarmHandler [DEBUG ] [END ALARM]
mein filter in der Telegram.PY sieht so aus
address = "+".join(data["msg"].replace("S ","Strasse ").replace("W ","Weg ").split("*")[2:5]) liegt der Fehler hier )[2:5]) muss da [2:4]) ? Danke das ihr wieder so geduldig seit mit mir gruß Thomas
Schau dir mal an, was du da machst:
data["msg"].replace("S ","Strasse ").replace("W ","Weg ").split("*")[2:5]
Zuerst werden alle 'S' durch 'Strasse' ersetzt. Ergebnis: 'b1 StrasseTADT MarktStrasse 41 Ausg...".
Dann alle 'W' durch 'Weg'. Ich würde das zur Sicherheit nur auf das dritte Element anwenden. Zur Not Ort und Strasse separat extrahieren, danach die Strasse korrigieren und dann wieder zusammensetzen.
Vergiss nicht, die Leerzeichen zu entfernen. Mit den Leerzeichen kracht es definitiv.
In deinem Beispiel sind Ort und Datum im zweiten und dritten Element. D.h. wenn du es bei obigem Konstrukt belassen willst, muss es [2:4] heißen.
Guten morgen Ich hatte oben in der Einleitung geschrieben das ich den eigendlichen Städte namen durch das Wort STADT ersetzt habe. Die zusuchenden Stadt fängt mit einem grossen L an und besitzt kein S im namen. Somit Kann ich den Fehler mit dem ersetzten "StrasseTADT" ausschliessen. Ich hatte es mitlerweile auf [2:4] aber es futzt auch noch nicht. habe auch erst heute Nachmittag Zeit um in die Log zu schauen
@PeterLaemmle unabhängig von dem Problem - ein Flag in der Config zum aktivieren/deaktivieren der Maps Funktion wäre durchaus sinnig denke ich. Das könnte man evtl noch einbauen.
Deaktiviert ist es, wenn kein Location-RIC angegeben wird - evtl macht es Sinn, den Import des googlemap-Pakets dort einzubringen?
Hab den Import von urllib und googlemaps abhängig von der Variablendefinition gemacht: https://github.com/Schrolli91/BOSWatch/pull/315
die #315 ist gemerged ...
Das Problem an sich ist geklärt - Das Flag eingebaut ...
Wenn hilfe benötigt wird um einen Straßenfilter anzupassen dann bitte im Forum klären: http://www.boswatch.de Denn das ist ja kein Fehler der Software sondern eine allgemeine Frage zur individuellen Anpassung
Hallo Ich nutze das aktuelle Master Branch nun möchte ich gerne das Telegram Plugin mit Googel nutzen. sobald ich das Plugin in der Config aktiviere bekomme ich in der Log diesen Fehler. Ich bin nicht der grosse Programmierer aber vielleicht kann mir jemend Helfen.
der Bot ist erstellt und funktioniert auch.
08.09.2017 16:53:37 - pluginLoader [DEBUG ] call MySQL.onLoad() 08.09.2017 16:53:37 - pluginLoader [DEBUG ] load plugin: Telegram 08.09.2017 16:53:37 - pluginLoader [ERROR ] cannot load plugin: Telegram 08.09.2017 16:53:37 - pluginLoader [DEBUG ] cannot load plugin: Telegram Traceback (most recent call last): File "/opt/boswatch/BOSWatch/includes/pluginLoader.py", line 106, in loadPlugin return imp.load_module(plugin["name"], plugin["info"]) File "/opt/boswatch/BOSWatch/plugins/Telegram/Telegram.py", line 104 logging.debug("Retrieve maps from Google") ^ IndentationError: unexpected indent 08.09.2017 16:53:37 - pluginLoader [ERROR ] error loading plugin: Telegram 08.09.2017 16:53:37 - pluginLoader [DEBUG ] error loading plugin: Telegram Traceback (most recent call last): File "/opt/boswatch/BOSWatch/includes/pluginLoader.py", line 32, in loadPlugins plugin = loadPlugin(i) File "/opt/boswatch/BOSWatch/includes/pluginLoader.py", line 106, in loadPlugin return imp.load_module(plugin["name"], plugin["info"]) File "/opt/boswatch/BOSWatch/plugins/Telegram/Telegram.py", line 104 logging.debug("Retrieve maps from Google") ^ IndentationError: unexpected indent 08.09.2017 16:53:37 - regexFilter [DEBUG ] loading filters
Vielen dank für die Hilfe
Gruß Thomas