FHEM > Automatisierung

Anwendungsbeispiel JsonMod / Covid / 7-Tage-Inzidenz

(1/31) > >>

herrmannj:
Hallo zusammen,

folgende def erstellt ein Device welches alle Landkreise/Städte mit einem 7-Tage-Inzidenz > 25 (erstes multi) sowie zusätzlich ausgewählte Landkreise/Städte (zweites multi) anzeigt. Ein aktuelles JsonMod ist erforderlich.


--- Code: ---define RKI7 JsonMod https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/RKI_Landkreisdaten/FeatureServer/0/query?where=1%3D1&outFields=last_update,cases7_per_100k,BEZ,BEM,GEN,BL,county&returnGeometry=false&outSR=4326&f=json
--- Ende Code ---

Readinglist:

--- Code: ---multi(jsonPath('$.features[?(@.attributes.cases7_per_100k > 25)]'), property('attributes.GEN'), sprintf('%.1f', property('attributes.cases7_per_100k')));
multi(jsonPath("\$.features[?(\@.attributes.GEN in ['Hamburg', 'Stormarn', 'Harburg'])]"), property('attributes.GEN'), sprintf('%.1f', property('attributes.cases7_per_100k')));
--- Ende Code ---

update morgens um 7:00

--- Code: ---interval   0 7 * * *
--- Ende Code ---

Ausgabe:

--- Code: ---   READINGS:
     2020-08-24 18:34:51   Dachau          26.6
     2020-08-24 18:34:51   Ebersberg       37.3
     2020-08-24 18:34:51   Frankfurt_Oder  27.6
     2020-08-24 18:34:51   Frankfurt_am_Main 34.0
     2020-08-24 18:34:51   Germersheim     27.9
     2020-08-24 18:34:51   Gro-Gerau       29.5
     2020-08-24 18:34:51   Hamburg         7.5
     2020-08-24 18:34:51   Hamm            27.4
     2020-08-24 18:34:51   Harburg         3.6
     2020-08-24 18:34:51   Heilbronn       38.9
     2020-08-24 18:34:51   Ingolstadt      31.4
     2020-08-24 18:34:51   Kelheim         29.4
     2020-08-24 18:34:51   Munchen         27.9
     2020-08-24 18:34:51   Neu-Ulm         27.6
     2020-08-24 18:34:51   Offenbach_am_Main 55.1
     2020-08-24 18:34:51   Rosenheim       45.8
     2020-08-24 18:34:51   Stormarn        4.9
     2020-08-24 18:34:51   Ulm             28.5
     2020-08-24 18:34:51   Wiesbaden       34.8
--- Ende Code ---

vg
Joerg

olvis:
Hi, danke. Nette Idee.
Habe das ganze in eine ReadingsGroup gepackt und die Ausgabe farbcodiert (>50 = rot, >25 = orange, darunter grün).
Dazu noch die Timestamps entfernt (notime) und die einzelnen Zeilen nicht klickbar (nolinks)

--- Code: ---defmod COVID readingsGroup RKI7
attr COVID nolinks 1
attr COVID notime 1
attr COVID valueStyle { if($VALUE > 50) {'style="color:red"'} elsif($VALUE > 25) {'style="color:orange"'} else{'style="color:green"'}}

--- Ende Code ---

Und noch ein Kommentar für die Auswahl von Städten:
Umlaute kann man im multi angeben, in der Ausgabe sind es dann nur die "reinen" Vokale: Köln --> Koln

vg
Oliver

herrmannj:
Moin,


--- Zitat ---Umlaute kann man im multi angeben, in der Ausgabe sind es dann nur die "reinen" Vokale: Köln --> Koln
--- Ende Zitat ---

Yepp, blöde Beschränkung bei den Namen für Readings innerhalb fhem. Umlaute sind verboten, die Korrektur erfolgt in JsonMod "minimal invasiv", aus 'ö' wird 'o'

Parador:
Hallo Joerg,

erstmal danke fürs Teilen dieses sehr aktuellen Beispiels!
Nachdem ich heute ein Update gefahren habe, erhalte einen Fehler im Log angezeigt:

--- Zitat ---error: wrong filter expression in JsonPath filter:   (#1398) in multi(jsonPath('$.features[?(@.attributes.cases7_per_100k > 25)]'), property('attributes.GEN'), sprintf('%.1f', property('attributes.cases7_per_100k')))
--- Ende Zitat ---

was kann passiert sein? Habe den Part 1:1 per Copy & Paste eingefügt...


Kann es auch sein, dass mit der Quelle etwas nicht passt? Bei Deinem Beispiel "Stormarn" wird aktuell ein Wert von 14,3 angezeigt über die Webseite: https://www.kreis-stormarn.de/aktuelles/pressemeldungen/2020/zahl-der-bestaetigten-corona-faelle-in-stormarn.html wird aber ein Wert von 23,4 gemeldet (gestern 19,3). Auch bei uns hier weicht der Wert deutlich ab... +20 in etwa...

Danke & viele Grüße

herrmannj:
Moin

Zur Quelle: ist das rki, sind deren Zahlen.

Der Fehler ist ein Bug. Komme allerdings erst Anfang der Woche dazu, wird beseitigt.

Vg
Jörg

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln