Fhem: Corona Fälle (coronavirus cases) in Fhem anzeigen

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.2020macht 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.


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.

[crypto-donation-box type=“tabular“]

 

Dieser Beitrag wurde unter Fhem-Hausautomation abgelegt und mit verschlagwortet. Setze ein Lesezeichen auf den Permalink.

22 Antworten zu Fhem: Corona Fälle (coronavirus cases) in Fhem anzeigen

  1. Robin sagt:

    Nö, bei mir läufts, ist die URL korrekt?

  2. Tardar sagt:

    Hey,

    leider noch der gleiche Fehler.
    Hab so die blöde Vermutung, dass sie IPs sperren, wenn zu häufig / regelmäßig Abfragen laufen.
    Kann das sein ? 😉

  3. Robin sagt:

    versuche jetzt mal die url

  4. Robin sagt:

    Hallo Tardar,

    hab kein DBLog, aber ich prüfe die URL.

    liebe Grüsse
    robin

  5. Tardar sagt:

    no data read from https://services1.arcgis.com:443 timed out

    Leider kommen seit gestern keine Daten mehr rein.
    Mein DBLog funktioniert auch nicht 🙁
    Hast du das hinbekommen ? 😉
    Oder nutzt du kein DBLog ?

  6. Robin sagt:

    z.b so
    attr coronaAPIGermanyBundesland userReadings akt01 { ReadingsTimestamp(„coronaAPIGermanyBundesland“,“features_01_attributes_Aktualisierung“,0) }

    liebe Grüsse
    robin

  7. Robin sagt:

    kümmere mich drum …

  8. Matthias sagt:

    Bitte. Wie konvertierst du features_01_attributes_Last_Update in ein lesbares Format (am liebsten direkt im stateFormat)

  9. Robin sagt:

    Danke Matthias,

    ich ärgere mich hier kaputt, UNIQUE ID und die wird ständig geändert.
    Wenn die so forschen wie die programmieren, dann gute Nacht.

    liebe Grüsse
    robin

  10. Matthias sagt:

    Deutschland ist mittlerweile OBJECTID 133

  11. Pingback: Fhem: Coronavirus Fälle Deutschland nach Städten und Bundesländer anzeigen lassen | Robins Blog – Technik und Multimedia

  12. Robin sagt:

    Hallo Jens,

    schaue hier mal: https://forum.fhem.de/index.php?topic=38463.30

    ich baue die Query gerade um, die Papppnasen wissen nicht, was eine unique id ist, grrrrr.

    liebe Grüsse
    robin

  13. jens sagt:

    Hi Robin,
    habe mir das Modul von github runtergeladen, in den entsprechenden Ordner kopiert und auch die Berechtigungen angepasst (Eigentümer: fhem).
    Nach restart und vorherigem Update kommt folgende Meldung: Cannot load module JSONREADINGS
    Hast Du noch eine Idee, woran es noch liegen könnte?
    Danke und bleib gesund,
    Jens

  14. Tardar sagt:

    Das hat schon mal funktioniert, danke 😉
    Aktuell hab ich noch das Problem, dass die Readings so nicht in meine mySQL Datenbank geschrieben werden – da tüftel ich gerade noch dran.

  15. Tardar sagt:

    Wenn ich das neue Device anlegen möchte, stürzt FHEM ab mit dem Fehler:

    2020.03.21 17:25:50 1: PERL WARNING: main::toReadings() called too early to check prototype at ./FHEM/70_JSONREADINGS.pm line 121.
    Not a HASH reference at ./FHEM/70_JSONREADINGS.pm line 122.

    Zeile 121 und 122:
    if( ref($ref) eq „ARRAY“ ) {
    while( my ($key,$value) = each %{$ref}) {

    Danke Euch 😉

  16. Robin sagt:

    Welche Fehlermeldung?

  17. Tardar sagt:

    Hi,

    leider lädt das Modul bei mir im fhem nicht.
    Könnt ihr sagen, was für eine neuere PERL Version angepasst werden muss?

    Danke Euch

  18. Björn sagt:

    erledigt. es hat gedauert bis die Daten geladen wurden!! Kannst die Kommentare löschen

  19. Robin sagt:

    Die Readings werden 1x pro Stunde automatisch erzeugt

  20. Björn sagt:

    Hallo, wie müssen in FHEM denn die Readings aussehen? Kannst Du diese noch beifügen?? (Denn nur das define bringt ja keine Ergbnisse)

    DANKE

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.