[gelöst] Mobile Blitzer via HTTPMOD auslesen

Begonnen von t1me2die, 19 März 2018, 09:30:25

Vorheriges Thema - Nächstes Thema

lapidu

Hab kein dummy device. Nur das was in den forderen Seiten beschrieben ist. Ich kann über meinen Telegrambot die Blitzer abfragen.

binford6000

Sorry, falscher Thread. Meinte den hier:
https://forum.fhem.de/index.php/topic,90014.0.html
Basiert aber auf diesem hier...

VG Sebastian

Floriky

Zitat von: t1me2die am 07 Juni 2018, 11:50:49
Meistens ist es ja so, dass man die Blitzer immer für einen bestimmten Ort haben möchte, z.B. "Hamburg", "Berlin", "Bremen", "Schwerin", ....
Damit man nicht jedes mal "Blitzer Schwerin" schreiben muss, empfiehlt es sich beim 1. mal das delete-Device (welches nach 1h automatisch das angelegte Device wieder löscht) manuell unter dem Raum "Unsorted" zu löschen, sodass das Device weiterhin bestehen bleibt!

1.
Nun sollte das Device "mb_Ortsname" im Raum Verkehr weiterhin bestehen bleiben.

2.
In der Routine "checkHTTPMODBlitzer" muss nun noch der Ortsname angepasst werden (zur Zeit steht da fb_Hamburg und mb_Hamburg)

3.
Wenn das erledigt ist, sollte es reichen, wenn man Blitzer oder Feste Blitzer schreibt und man erhält dann automatisch die Liste für den unter Punkt 2 eingetragenen Ort.

4.
Durch diesen fest ausgewählten Ort kann man nun z.B. sich automatisch eine Nachricht zusenden lassen, wenn man das Haus verlässt (Bluetooth Anwesenheit, o.ä. Anwesenheitserkennungen...)
Dazu benötigt man nur noch ein Statement an der jeweiligen Stelle. Hier muss nur noch die Variable $nr durch die Telegram ID ersetzt werden. Dies kann man dynamisch ermitteln oder einfach fest im Quellcode reinschreiben. Je nach dem was man machen möchte!

fhem "set Telegram message \@$nr " .getBlitzer("Blitzer","");


Falls ihr Probleme haben solltet, schauen wir uns das mal genauer an  :)

Gruß
Mathze

Hallo Mathze,

also erstmal TAUSEND DANK für deine gigantische Arbeit!!!!!!! Echt klasse gemacht. Fällt dir eine Möglichkeit ein statt nur einem "Standard-Ort" (aus deinem Beispiel "Schwerin") auch mehrere Orte so anzulegen und eine Nachricht damit zu befüllen? Der Hintergrund ist der, dass ich morgens durch 5 Orte muss und ggf. nicht 5 mal die Nachricht "~Keine Blitzer gefunden~" generieren möchte. Wäre toll wenn du eine Idee hättest.

Und nochmals vielen Dank für deine tolle Arbeit!

t1me2die

Moin Floriky,

bismosa hat hier im Forum basierend auf meiner Idee alles auf Geo-Koordinaten umgebaut, da er wohl so ein ähnliches Problem hatte wie du.
Schau mal hier: https://forum.fhem.de/index.php/topic,90014.0.html

Wenn du einen Koordinatenbereich festlegst, welchen du jeden Tag passierst (deine 5 Ortschaften, die du durchquerst) dann kann man sich recht einfach die die jeweiligen Blitzer mitteilen lassen.

Ich muss zugeben, dass sich meine Routinen für das ermitteln der Blitzer mittlerweile stark verändert haben und ich diese sehr an meine Bedürfnisse (Geofancy, Telegram-Standortbestimmung, feste Orte) angepasst habe.

Ließ Dir am besten mal den o.g. Thread durch, ich denke das sollte so ziemlich das sein, was du brauchst / suchst  ;)

Gruß
Mathze

Floriky

Zitat von: t1me2die am 16 Januar 2019, 12:49:24
Moin Floriky,

bismosa hat hier im Forum basierend auf meiner Idee alles auf Geo-Koordinaten umgebaut, da er wohl so ein ähnliches Problem hatte wie du.
Schau mal hier: https://forum.fhem.de/index.php/topic,90014.0.html

Wenn du einen Koordinatenbereich festlegst, welchen du jeden Tag passierst (deine 5 Ortschaften, die du durchquerst) dann kann man sich recht einfach die die jeweiligen Blitzer mitteilen lassen.

Ich muss zugeben, dass sich meine Routinen für das ermitteln der Blitzer mittlerweile stark verändert haben und ich diese sehr an meine Bedürfnisse (Geofancy, Telegram-Standortbestimmung, feste Orte) angepasst habe.

Ließ Dir am besten mal den o.g. Thread durch, ich denke das sollte so ziemlich das sein, was du brauchst / suchst  ;)

Gruß
Mathze

Hallo Mathze,
vielen Dank für deine Antwort und den Link zum Thread. Werde mich gleich mal ans "Durcharbeiten" machen. Dir einen schönen Tag!

t1me2die

#35
Ganz grob:

Schau auf Google Maps, such Dir deinen Startpunkt raus Lat/Lon.
Such Dir deinen Endpunkt raus Lat/Lon.
Diese vier Koordinaten bilden dann ein Rechteck / Viereck.
Alles was in diesem Bereich gemeldet ist kann man recht einfach per API direkt abfragen:


https://cdn2.atudo.net/api/1.0/vl.php?type=0,1,2,3,4,5,6&box=52.605153,10.224384,52.836461,10.693572


Diesen Link kannst du bsp. als HTTPMOD Device anlegen, als RegEx nimmst du den ganzen String bsp.:

attr HTTPMODNAME reading01Name String
attr HTTPMODNAME  reading01Regex {(.*)}


Damit sollte ein Reading mit dem Namen "String" angelegt werden.
Die Koordinaten im Link findest du im angehängten Bild wieder.
Das Ergebnis (String) ist ein JSON String, den du einfach extrahieren kannst, Schlagwort "expandJSON".

Gruß
Mathze

dieda

Hallo in der Runde,

stehe gerade auf dem Schlauch.

Das hier habe ich in meinem Listing: Internals:
   DEF        5
   FUUID      5cb080bc-f33f-4b3a-1a6c-5787d38be416be41
   NAME       Blitzer_Mainz
   NR         464
   STATE      Defined
   TYPE       Blitzer
   refreshIntervall 5
   tempRadius
   OLDREADINGS:
   READINGS:
     2019-04-12 14:49:59   Anzeige         1
     2019-04-12 15:04:02   NextUpdate      Fri Apr 12 15:09:02 2019
     2019-04-12 14:49:59   html            <html> <p align='left'>Aktuelle Blitzer:<br>00 Mederhof L 75 Max. 100 km/h ( 26.9 km ) !! <br></p></html>
     2019-04-12 15:04:03   lastUpdate      Fri Apr 12 15:04:03 2019
     2019-04-12 15:04:03   status          ok
Attributes:
   Ausgabe    number,{OR,suburb,city_district,town,village,},road,building,[Max.],vmax,[km/h],[(],distanceShort,[km],[)],[!!],newline
   HTML_Before <html> <p align='left'>Aktuelle Blitzer:<br>
   HTML_Without <html> <p align='left'>Keine Blitzer in der Nähe</p></html>
   area_bottomLeft_latitude 48.6846846846847
   area_bottomLeft_longitude 7.51937965734501
   area_topRight_latitude 49.3153153153153
   area_topRight_longitude 8.48062034265499
   createAllReadings 0
   createNoHTML 0
   createUpdateReading 1
   home_latitude 49,9928617
   home_longitude 8,2472526
   icon       message_attention
   radius     35
   room       Blitzer


Der Blitzer, der ausgegeben wird ist allerdings in Baden-Würthenberg, das passt gar nicht. Wo liegt der Fehler?
Komponenten:
Sensoren und Aktoren: FS20, Max!, Zigbee, Zwave
IODev:  Cul1101, MaxLan, ZWAVE, Deconz
Router: KD-Fritte (6360)
Sonstiges: Raspberries,  1x LMS,1 FHEM, 1 x zum Testen,  Logitech-Clients,  Onkyo, SamsungTV, Squeezebox, TabletUIs

bismosa

Hallo!

Ich glaube Dein Beitrag ist im falschen Thread....

home_latitude 49,9928617
home_longitude 8,2472526

Nicht mit Komma, sondern bitte mit Punkt festlegen.

Gruß
Bismosa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...