Hallo!
Ich habe mal wieder ein wenig gebastelt.

Die Hauptidee von mir war, auf meinem Display die aktuellen Blitzer in der Gegend anzeigen zu lassen.
Basierend auf die Idee von
https://forum.fhem.de/index.php/topic,85941.msg783376.html#msg783376 hatte ich bereits eine manuelle Lösung
https://forum.fhem.de/index.php/topic,90014.0.html vorgeschlagen.
Da das System in der Form kompliziert und nicht so komfortabel ist, dachte ich mir ein Modul wäre super. Da ich bei einem anderen Modul helfen durfte konnte ich mich hier mal komplett austoben und üben wie die Modulprogrammierung funktioniert.
Ich hoffe, dass ich gegen keine Regeln in der Modulprogrammierung verstoßen habe! Bitte macht mich sonst darauf aufmerksam!
Modulbeschreibung:Dieses Modul sucht anhand der Koordinaten die aktuellen Blitzerdaten von
www.verkehrslage.de heraus und erstellt einen Text, der in FTUI dargestellt werden kann Dies ist nur zu demonstrationszwecken gedacht. Bitte die Bedingungen von
www.verkehrslage.de beachten
Zusätzlich kann man sich auch die Blitzer - in einem definierten Umkreis um einen Punkt - anzeigen lassen.
Das Modul ist nur als Beispiel zu verstehen! Keine Garantie auf Funktion!
Beispiel:define myBlitzer Blitzer 30
Definition eines Blitzer Moduls mit einem Aktualisierungsintervall von 30 Minuten.
define <NAME> Blitzer 0
Definition eines Blitzer Moduls ohne automatische Aktualisierung.
Tipps für die Einstellungen:Zuerst das Device anlegen mit dem Aktualisierungsintervall. Danach die Attribute für die Home-Koordinaten und den Radius setzen.
Der Auszuwählende Bereich wird dann automatisch berechnet und in die entsprechenden Readings eingetragen. Kann bei Bedarf dann angepasst werden.
Für einen schnellen Test dieses Moduls "_SetDemoValues" auswählen. Dann werden die Blitzer für Berlin angezeigt. Da gibt es wohl immer welche

Für eine genauere und aktuellere Beschreibung bitte immer in die Lokale Commandref bzw. unter "Device specific help" schauen.
Besondere Features:- Ausgabe komplett einstellbar. Welche Werte genommen werden, kann in den Attributen frei konfiguriert werden
- HTML-Code bzw. Text anpassbar
- Es kann mit einem set <Blitzer-Device> Update <Optional:LAT> <Optional:LONG> auch neue Koordinaten vorgegeben werden. Dann kann man auch z.B. den aktuellen Standort mal eben nach Blitzern absuchen
- Der Bereich, der bei Verkehrslage.de abgefragt wird, kann vom Modul berechnet werden
- Es können Readings erzeugt werden mit den Werten für "nächsten Update" / "letztes Update" / "status"
- Es kann ein Reading erzeugt werden, das bei vorhanden Blitzern eine "1" und sonst eine "0" anzeigt (praktisch z.B. um in FTUI Bereiche auszublenden, wenn kein Blitzer gemeldet wurde)
- Es kann die max. Anzahl an gemeldeten Blitzern festgelegt werden
- Es kann ein Text festgelegt werden, wenn kein Blitzer in der Nähe ist
Ich denke, damit sollten so gut wie alle Anwendungsfälle erschlagen sein.
Attribut Ausgabe:Hier wird eingestellt, mit welchen Werten die Ausgabe stattfinden soll. Einige Beispiele sind bereits vorhanden ("_SetDemoVaules").
Beispiel:
number,{OR,suburb,city_district,town,village,},road,building,[Max.],vmax,[km/h],[(],distanceShort,[km],[)],[!!],newline
Spezielle Einträge:
number Nummerierung
newline Neue Zeile
[Freitext] Beliebiger Text. Dieser wird ohne die Klammern übernommen.
distance Abstand des Blitzers von der Home-Koordinate (Luftlinie)
distanceShort Abstand des Blitzers von der Home-Koordinate (Luftlinie) eine Kommastelle
{OR ODER-Verknüpfung. Wenn ein Wert vorhanden ist, werden die nachfolgenden (bis zur geschweiften Klammer) nicht berücksichtigt
} Ende der ODER-Verknüpfung. Muss zwingend gesetzt werden, wenn eine ODER-Verknüpfung enthalten ist.
Es können beliebig viele Werte so verknüpft werden.
Welche Werte vorhanden sind, kann mit
get <Blitzer-Device> allReadings <Optional:Nummer>
überprüft werden. Wird eine nummer mitgegeben, werden nur die entsprechenden Einträge ausgegeben.
Installation:Ich habe das Modul bei Github. Dann ist eine Installation recht einfach:
Alle meine Module (bisher gibt es nur das eine...es folgen aber bestimmt noch mehr)
Auf Updates prüfen (update check):
update check https://raw.githubusercontent.com/bismosa/FHEM/master/controls_all.txt
Auf die neueste Version updaten (update all):
update all https://raw.githubusercontent.com/bismosa/FHEM/master/controls_all.txt
Alle meine Module zum regulären FHEM Updateprozess hinzufügen (update add):
update add https://raw.githubusercontent.com/bismosa/FHEM/master/controls_all.txt
update check
update all
Nur dieses Modul:
Auf Updates prüfen (update check):
update check https://raw.githubusercontent.com/bismosa/FHEM/master/controls_Blitzer.txt
Auf die neueste Version updaten (update all):
update all https://raw.githubusercontent.com/bismosa/FHEM/master/controls_Blitzer.txt
Nur dieses Modul zum regulären FHEM Updateprozess hinzufügen (update add):
update add https://raw.githubusercontent.com/bismosa/FHEM/master/controls_all.txt
update check
update all
Viel Spaß damit!
Feedback ist stets willkommen

Gruß
Bismosa
[edit 31.05.2019]
Neu hinzugekommen:
Attribute:MapShow
Eine dynamische Karte (OSM) mit den aktuellen Blitzerstandorten anzeigen. Wenn keine Blitzer in der Nähe sind, wird nur die Home-Koordinate angezeigt.
Hinweis:
Es darf nur ein Blitzer-Device in einem Raum mit einer Karte sein, da es sonst zu Fehlermeldungen bei der Anzeige kommt.
Spezielle Einträge:MapLink Ein HTML-Link zu einer Google Maps Karte mit dem markierten Blitzerstandort.
Getget <device> MapHTML
Den HTML-Code für die Anzeige einer Karte ausgeben. So lässt sich das an anderer Stelle weiter verwenden.
[/edit]