Closed Muppet01 closed 6 years ago
Hast du die Logs mitlaufen? Falls ja, bitte mal den Ausschnitt senden, wo der Abruf stattfindet. Es gibt eine RIC mit Navidaten?
Hab den Log angepasst, sorry ist viel ausgeX´t
Auszug aus dem LOG:
sorry wollte das nicht abschließen..
intressant ist der hinweis in der Detail_map.png:
The Google Maps Platform server rejected your request. The provided API key is invalid.
der API key ist aber gültig..
wie kommst du auf die Navi RIC?
In der Config wird nach RICforLocationAPIKey
sowie dem API-Key selber gefragt; ohne die RIC, wo die Ortdaten drin stehen, kann logischerweise auch keine Auswertung erfolgen.
Da stimme ich Dir zu, beides ist aber angegeben, und die Entscheidung ob Bilder gezogen werden fällt in der Telegramm.py durch die Auswertung RICforLocationAPIKey= Ric oder bin ich da falsch? die Ortsdaten kommen doch durch die 'Adresse' / msg
Das ist richtig - passt denn das Parsen der Adresse? Also das Format, in dem die Adresse angegeben wird.
Puh jetzt geht es ins eingemachte, ich kann nur sagen das es bis mitte des Jahres einwandfrei lief, ( bei uns ist nicht ganz so viel los 👍 ) da brauche ich etwas Unterstützung, wie kann ich das am besten nachvollziehen?
habe mir die daten in ein externes log geschrieben und per Http extern getestet >wird einwandfrei gefunden. ich habe den eindruck das hier was mit dem Telegram-bot nicht passt.. nur warum jetzt? es wurde nichts angepasst.
poste mal bitte den Text dieser RIC, gerne mit ausge-x-ten Daten, dann versuche ich mal reinzuschauen
b1Musterstadt Ortsteil Dorfstraße 47 Rauchentwickl.XPQ21 Filter ist 2:5 auf *
Übergabe an Maps ist: Stadt +Ortsteil +Straße Hnr.
OK - das ist mein Fehler:
15.10.2018 20:52:15 - Telegram [DEBUG ] unknown error
Traceback (most recent call last):
File "/opt/boswatch_master/plugins/Telegram/Telegram.py", line 97, in run
address = "+".join(data["msg"].split(')')[0].split('/',1)[1].replace('(',' ').split())
IndexError: list index out of range
Den Fehler sehe ich bei dir nicht - die Datenfelder sind mittels *
voneinander getrennt nach dem Schema "Einsatzcodierung*Stadt*Ortsteil*StrasseHNR*Stichwort
" - korrekt?
Den Fehler sehe ich bei dir nicht - die Datenfelder sind mittels voneinander getrennt nach dem Schema "EinsatzcodierungStadtOrtsteilStrasseHNR*Stichwort" - korrekt?
Ja ist so, intresannt finde ich ich wen ich manuell prüfe mit: http://maps.googleapis.com/maps/api/staticmap?markers=3Stadt +Ortsteil +straße Hnr&size=240x320&scale=2&maptype=hybrid&zoom=17&key=XXXXXXXXXXXXXXXXXXXXXXXXXX bekomme ich das bild.. somit müssten meine Daten safe sein..
Dann erstelle ich mal nen neuen String für Adresse, mal sehen, ob es damit klappt - wird aber wohl heute nichts mehr :-)
address = "+".join(data["msg"]).split("*")[2:5] hatte noch replace eingefügt, und hier entfernt..
ich glaube das es sich hier um eine Rückmeldung von Telegramm handelt da es sich nicht um echte Bilder handelt.. ( Inhalt u. größe passen nicht) ,
Also, die Adresse kriege ich extrahiert, mit leicht angepasstem Code:
address = "+".join(data["msg"].split("*")[2:5])
logging.debug("Retrieved following address: %s", address)
Die URL habe ich auch gefixt, das join
hat ein Zeichen in den Key gepackt, der da nicht hingehört:
url = "http://maps.googleapis.com/maps/api/staticmap?markers=" + address + "&size=480x640&maptype=roadmap&zoom=16&key=" + GoogleAPIKey
Aktuell meckert aber google "This site can't load google maps correctly" - da bin ich noch dran //Edit OK, bei nem Limit auf 1 Request / Tag in der kostenlosen Version dauert das Ausprobieren etwas länger :-D
Guten Morgen, hab gerade die Änderungen angepasst, filtern passt, aber es bleibt die Meldung: BadRequest: Image_process_failed ,
OK, bei nem Limit auf 1 Request / Tag in der kostenlosen Version dauert das Ausprobieren etwas länger :-D ….. stimmt.. Verdächtig
Update, Bilder kommen! nur Telegramm mosert: ApiError: REQUEST_DENIED (This IP, site or mobile application is not authorized to use this API key. Request received from IP address XXX.XXX.XX.XXX, with empty referer)
LOG:
Evtl wäre hier OSM die bessere Alternative, nachdem Google ja sein Lizenzmodell umgestellt hat, was Maps angeht....
Kostenlos ist da nicht mehr viel zu holen :-P
Edit: Siehe: https://wiki.openstreetmap.org/wiki/Static_map_images
Ich eruiere gerade Nominatim und Co - derzeit habe ich einen Anbieter mit 2500 requests/Tag für 0 Euro im Blick
Bilder kommen mit dem angepassten Code?
Das dritte Bild nutzt eine mir noch nicht bekannte Funktion von Telegram - die muss ich mir nachher nochmal anschauen.
Moin, ohne selbiges Bild sind die Error auch weg, habe mich erst einmal auf die zwei Konzentriert.. werde mir das noch mal ansehen, vielleicht gibt es bei einem Relase 3.0 ja eine neue Idee?
muss mich bei Gockel mal schlau machen ob geolocation bei Free enthalten sind..
Ich habs auch gerade nochmal getestet; das dritte Bild ist eine Funktion ähnlich "Standort senden" - aber auch das braucht eine gültige geodecode-Lizenz von google, die offensichtlich auf 1/d runtergeschraubt ist.
Alternativen sind Nominatim (und Konsorten) bzw. kostenpflichtige Google-Dienste. Das Problem entfällt jedoch komplett, wenn Koordinaten mitgeschickt werden.
Zitat:Das Problem entfällt jedoch komplett, wenn Koordinaten mitgeschickt werden.????
die daten aus der RIC? oder als "start" Koordinaten?
wie hast du die Daten mit übergeben?
Es gibt bei uns einige RIC, die von Navis ausgewertet werden; da steht in der Alarmnachricht direkt die Koordinate mit Lat/Lon drin
Das neue Preismodell stellt den Nutzern pro Monat statische Karten im Wert von 200$ kostenfrei zur Verfügung. Diese 100.000 Karten reichen dann für 50.000 Alarme. Vermutlich für die meisten der Nutzer hier ausreichend.
Ich hab mal noch Routing per Overlay in die Übersichtkarte integriert. Hat da jemand Interesse? Damit schafft man dann aber nur noch 20.000 Alarme im Monat...
Hat da jemand Interesse? aber immer doch...
Grüße Muppet01
@PeterLaemmle Das Problem ist weniger die statische Karte, eher das Geodecoding
Auch wenn ich pro Aufruf zwei Karten, eine Route und einmal Koordinaten erstellen lasse, reicht das für mehrere tausend pro Monat oder überseh ich da was bei dem neuen Preismodell?
Also wenn ich bei mir ins Dashboard gehe steht da für Geolocation wie für Static maps 1 Request/Tag - aber evtl übersehe auch ich was :-)
Abrechnung aktiviert? Damit bekommt man ein Guthaben von 200$ bzw. 170€ im Monat für die API.
Negativ, ohne Abrechnung - aber gut zu wissen. Nichtsdestotrotz sollten wir a) nach Alternativen schauen und b) das geodecoding zentralisieren
@flothi Für BW3 wäre es evtl sogar sinnvoll, das Geocoding/Image-Gen komplett aus den Plugins zu entfernen und zentral abzulegen. Dann hätte jedes Plugin Zugriff auf Geodaten/Karten Bilder etc. falls diese aus den Alarmdaten zu beschaffen/generieren waren.
@Schrolli91 Genau das war meine Intention mit "zentralisieren" ;-)
Ich habe da noch eine Frage:
Ich hab mal noch Routing per Overlay in die Übersichtkarte integriert. Hat da jemand Interesse? Damit schafft man dann aber nur noch 20.000 Alarme im Monat...
was hast Du genau angepasst um die Geocoding anzeigen zu lassen?
Was meinst du mit Anpassung, um Geocoding anzeigen zu lassen?
Lan/ Lot könne ja auch über die Maps Daten bezogen werden, nur die Umsetzung ist mir noch etwas unklar. wie hast Du die daten mit übergeben?
Grüße
Muppet01
Mit https://github.com/Schrolli91/BOSWatch/pull/382 hab ich das Routing integriert. Freu mich auf eure Rückmeldungen.
Sehe ich das Richtig - das eigentliche Problem ist gelöst? Zusätzliches Feature dann per Pull? Wenn dem so ist, bitte im Pull dazu diskutieren und hier closen - Danke
Dem ist so, daher closed
Bei Fragen und Problemen zu BOSWatch oder Plugins bitte unten gennante Informationen angeben:
BOSWatch Version + Branch Master 2.4
genutzte Plugins Telegramm
Fehlerbeschreibung Keine Bilder mehr, in den Detail_map.png steht das lt. Googel der APIKEY nicht gültig ist. ein Test per httrequest hat ergeben das er gültig ist und auch aktiv.
Logfile (Auszug)
ggf. Config File (Auszug)