Fhem: Corona Fälle (coronavirus cases) in Fhem anzeigen
Fhem: Corona Fälle (coronavirus cases) in Fhem anzeigen
Publiziert am 21. März 2020 von Robin
Update: 21.03.2020 Quellcode aktualisiert, verbesserte Abfrage
Update: 20.03.2020 Quellcode aktualisiert, jetzt Rang 4 weltweit, na Hauptsache, wir haben schön Karneval gefeiert.
Ich habe mir überlegt ein kurzes Script zu schreiben, welches die Coronavirus-Fälle in meiner Hausautomation anzeigt. Als Datenquelle nehme ich mir die offizielle Web-Seite, welche Euch bekannt ist. Siehe unten der Screenshot. Für das Land der Dichter (?) und Denker (???) rechne ich nicht mit einem rasanten Anstieg der Fallzahlen, da wir ungefähr 3 Monate länger Zeit hatten, ein Notfallprogramm zu entwerfen und sämtliche Maßnahmen vorab zu treffen, beispielsweise Flughäfen und Grenzen zu, Ausfall von größeren Veranstaltungen wie Karneval, Beschaffung / Herstellung von Schutzmasken etc. Unsere „Experten“ in Berlin schaffen das. (Ironie aus). Einen Vorteil sehe ich aus der Corona-Krise: Wenn keiner mehr sinnlos durch die Gegend fährt, wird wohl der Feinstaub rapide abnehmen (Update: 11.04.2020 – macht er aber nicht) und unsere Greta kann endlich mal in den Urlaub segeln. Leider werde ich dann beim alltäglichen Bullshit-Bingo bei den Nachrichten häufiger verlieren, weil die Buzzwords Klima, Klimaschutz nicht mehr erwähnt werden.
coronavirus cases
Nach so viel Ironie zurück zum Thema.
Glücklicherweise gibt es die neuesten Fallzahlen auch als JSON-Datei. Diese kann man mit dem JSONREADINGS-Plugin einfach abgreifen.
defmod coronaAPI JSONREADINGS https://services1.arcgis.com/0MSEUqKaxRlEPj5g/arcgis/rest/services/ncov_cases/FeatureServer/2/query?f=json&where=Country_Region=%27Germany%27&returnGeometry=false&spatialRel=esriSpatialRelIntersects&outFields=*&orderByFields=Confirmed%20desc&outSR=102100&resultOffset 3600
attr coronaAPI delay 3600
attr coronaAPI stateFormat features_01_attributes_Country_Region features_01_attributes_Confirmed
Nach 3600s (=1h) ist das Ergebnis eine Liste von Coronavirus-Fällen (active, confirmed, recovered, death), Aufgeteilt in den einzelnen Ländern.
Jetzt habt ihr für jedes Land die Readings und könnt diese in Euren Anzeigen einbauen.
Beispiel: Meine Matrix – Aneige (Blogbeitrag hier):
defmod DOIFCoronaMax7912 DOIF ([+360]) { MAX7219AddQueue("Corona-[coronaAPI:features_01_attributes_Country_Region]: [coronaAPI:features_01_attributes_Deaths], [coronaAPI:features_01_attributes_Recovered], [coronaAPI:features_01_attributes_Confirmed], [coronaAPI:features_01_attributes_Active]")}
attr DOIFCoronaMax7912 do always
Beispiel: LCD-Display (Blogbeitrag hier)
Beispiel: TabletUI (Blogbeitrag hier)
Ok, falls jetzt die Hater kommen, von wegen geschmacklos usw. Ich dachte mir es ist das gleiche wie ein Bitcoin-Display, Wetter-Display, Youtube-Display. Also einfach ein Beispiel was man aus dem Internet rausholen kann.
Und immer dran denken: Die Bezahlung mit Bitcoin hinterlässt kein Virus.
buy me a beer bc1q4w8ss2lq0f5y30d26us7r9x7t23xc4ft66hyh8