Anwendungsbeispiel JsonMod #2: CORONA Verbreitung

Begonnen von herrmannj, 22 März 2020, 21:11:18

Vorheriges Thema - Nächstes Thema

ErzGabriel

defmod coronaSpreadWorld JsonMod https://corona.lmao.ninja/all
attr coronaSpreadWorld event-on-change-reading .*
attr coronaSpreadWorld interval 1/10 * * * *
attr coronaSpreadWorld readingList single(jsonPathf('$.deaths', '%s'), 'world_deaths', 'N/A');;\
single(jsonPathf('$.cases', '%s'), 'world_cases', 'N/A');;\
single(jsonPathf('$.recovered', '%s'), 'world_recovered', 'N/A');;\
single(jsonPathf('$.updated', '%s'), 'world_updated', 'N/A');;
attr coronaSpreadWorld room COVID
attr coronaSpreadWorld stateFormat Welt Fälle: world_active
attr coronaSpreadWorld userReadings updated_human  {setlocale(LC_TIME,"de_DE.utf8");; POSIX::strftime ("%Y-%m-%d %H:%M:00", localtime(ReadingsVal("coronaSpreadWorld","world_updated",0)/1000))},\
world_active {ReadingsVal("coronaSpreadWorld","world_cases",0)-ReadingsVal("coronaSpreadWorld","world_deaths",0)-ReadingsVal("coronaSpreadWorld","world_recovered",0)},\
world_casesPerOneMillion {ReadingsVal("coronaSpreadWorld","world_cases",0)/7773.452460},\
world_todayCases {ReadingsVal("coronaSpreadWorld","world_cases",0)-ReadingsVal("coronaSpreadWorld","world_cases_yesterday",0)},\
world_todayDeaths {ReadingsVal("coronaSpreadWorld","world_deaths",0)-ReadingsVal("coronaSpreadWorld","world_deaths_yesterday",0)},\
world_todayRecovered {ReadingsVal("coronaSpreadWorld","world_recovered",0)-ReadingsVal("coronaSpreadWorld","world_recovered_yesterday",0)},\
world_name {"Welt"}
attr coronaSpreadWorld verbose 5


Internals:
   API_LAST_RES 1603637460.9469
   API__LAST_MSG invalid server response
   DEF        https://corona.lmao.ninja/all
   FUUID      5f8e9441-f33f-7a73-985f-5c4a100ef7180282
   NAME       coronaSpreadWorld
   NEXT       2020-10-25 16:01:00
   NR         692
   SOURCE     https://corona.lmao.ninja/all (502)
   STATE      Welt Fälle: 0
   SVN        22987 2020-10-18 13:26:05 UTC
   TYPE       JsonMod
   CONFIG:
     IN_REQUEST 0
     SOURCE     https://corona.lmao.ninja/all
     SECRET:
   READINGS:
     2020-10-25 15:41:01   updated_human   1970-01-01 01:00:00
     2020-10-25 15:41:01   world_active    0
     2020-10-25 15:41:01   world_cases     N/A
     2020-10-25 15:41:01   world_casesPerOneMillion 0
     2020-10-25 15:41:01   world_deaths    N/A
     2020-10-25 15:41:01   world_name      Welt
     2020-10-25 15:41:01   world_recovered N/A
     2020-10-25 15:41:01   world_todayCases 0
     2020-10-25 15:41:01   world_todayDeaths 0
     2020-10-25 15:41:01   world_todayRecovered 0
     2020-10-25 15:41:01   world_updated   N/A
Attributes:
   event-on-change-reading .*
   interval   1/10 * * * *
   readingList single(jsonPathf('$.deaths', '%s'), 'world_deaths', 'N/A');
single(jsonPathf('$.cases', '%s'), 'world_cases', 'N/A');
single(jsonPathf('$.recovered', '%s'), 'world_recovered', 'N/A');
single(jsonPathf('$.updated', '%s'), 'world_updated', 'N/A');
   room       COVID
   stateFormat Welt Fälle: world_active
   userReadings updated_human  {setlocale(LC_TIME,"de_DE.utf8"); POSIX::strftime ("%Y-%m-%d %H:%M:00", localtime(ReadingsVal("coronaSpreadWorld","world_updated",0)/1000))},
world_active {ReadingsVal("coronaSpreadWorld","world_cases",0)-ReadingsVal("coronaSpreadWorld","world_deaths",0)-ReadingsVal("coronaSpreadWorld","world_recovered",0)},
world_casesPerOneMillion {ReadingsVal("coronaSpreadWorld","world_cases",0)/7773.452460},
world_todayCases {ReadingsVal("coronaSpreadWorld","world_cases",0)-ReadingsVal("coronaSpreadWorld","world_cases_yesterday",0)},
world_todayDeaths {ReadingsVal("coronaSpreadWorld","world_deaths",0)-ReadingsVal("coronaSpreadWorld","world_deaths_yesterday",0)},
world_todayRecovered {ReadingsVal("coronaSpreadWorld","world_recovered",0)-ReadingsVal("coronaSpreadWorld","world_recovered_yesterday",0)},
world_name {"Welt"}
   verbose    5


Im Log steht nichts.

yersinia

OK, das es einen neuen Link gibt hast du anscheinend mehrfach überlesen, und man sieht es im list Auszug auch:
Zitat von: ErzGabriel am 25 Oktober 2020, 15:56:23
   API__LAST_MSG invalid server response
   DEF        https://corona.lmao.ninja/all

Anstelle von https://corona.lmao.ninja/all musst du https://disease.sh/v3/covid-19/all nutzen:
defmod coronaSpreadWorld JsonMod https://disease.sh/v3/covid-19/all
attr coronaSpreadWorld event-on-change-reading .*
attr coronaSpreadWorld interval 1/10 * * * *
attr coronaSpreadWorld readingList single(jsonPathf('$.deaths', '%s'), 'world_deaths', 'N/A');;\
single(jsonPathf('$.cases', '%s'), 'world_cases', 'N/A');;\
single(jsonPathf('$.recovered', '%s'), 'world_recovered', 'N/A');;\
single(jsonPathf('$.updated', '%s'), 'world_updated', 'N/A');;
attr coronaSpreadWorld room COVID
attr coronaSpreadWorld stateFormat Welt Fälle: world_active
attr coronaSpreadWorld userReadings updated_human  {setlocale(LC_TIME,"de_DE.utf8");; POSIX::strftime ("%Y-%m-%d %H:%M:00", localtime(ReadingsVal("coronaSpreadWorld","world_updated",0)/1000))},\
world_active {ReadingsVal("coronaSpreadWorld","world_cases",0)-ReadingsVal("coronaSpreadWorld","world_deaths",0)-ReadingsVal("coronaSpreadWorld","world_recovered",0)},\
world_casesPerOneMillion {ReadingsVal("coronaSpreadWorld","world_cases",0)/7773.452460},\
world_todayCases {ReadingsVal("coronaSpreadWorld","world_cases",0)-ReadingsVal("coronaSpreadWorld","world_cases_yesterday",0)},\
world_todayDeaths {ReadingsVal("coronaSpreadWorld","world_deaths",0)-ReadingsVal("coronaSpreadWorld","world_deaths_yesterday",0)},\
world_todayRecovered {ReadingsVal("coronaSpreadWorld","world_recovered",0)-ReadingsVal("coronaSpreadWorld","world_recovered_yesterday",0)},\
world_name {"Welt"}
attr coronaSpreadWorld verbose 5
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Tutti_Bomovski

Hallo Zusammen,
hat jemand einen finalen Code für mich, den ich ohne weitere Kenntnisse in mein FHEM integrieren kann?
Oder ein Anleitung, welche auf dem aktuellsten Stand ist?

Vielen Dank.

MadMax-FHEM

#168
Zitat von: Tutti_Bomovski am 30 Oktober 2020, 11:43:58
hat jemand einen finalen Code für mich, den ich ohne weitere Kenntnisse in mein FHEM integrieren kann?

Welche Werte willst du denn haben?

Genau EINE Antwort zuvor ist ein Beispiel was (verm.) funktionieren sollte.

Einfügen (soweit ich das gesehen habe) per "Raw Definition" (unter jedem Device oder das "Plus Zeichen")...

ABER: ob das was hier "geholt" wird, das ist was du "sehen" willst: das weißt nur du... ;)

Ansonsten: diesen oder andere Threads "durchsuchen", ob jemand was gepostet hat, was dir "zusagt" und nehmen... ;)

Zitat von: Tutti_Bomovski am 30 Oktober 2020, 11:43:58
Oder ein Anleitung, welche auf dem aktuellsten Stand ist?

https://forum.fhem.de/index.php/topic,109413.msg1034048.html#msg1034048

Oder einfach: help jsonmod (in Fhem-Web-Eingabe)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Christoph Morrison

Zitat von: curt am 22 Oktober 2020, 22:03:58
Die offizielle Zahl findet man in https://www.rki.de/DE/Content/InfAZ/N/Neuartiges_Coronavirus/Fallzahlen.html

Diese Zeile, die Zahl mit dem PLUS davor:

Gesamt 392.049 +11.287 46.772 56,2 9.905


Das schreit nach HTTPMOD und RegEx. Leider scheitere ich bei sowas regelmäßig.

Ganz ohne Regex ;-) (Timeout ist nötig):

defmod corona_fz_rki7 HTTPMOD https://www.rki.de/DE/Content/InfAZ/N/Neuartiges_Coronavirus/Fallzahlen.html 43200
attr corona_fz_rki7 userattr reading01Name reading01XPath reading02Name reading02XPath
attr corona_fz_rki7 alias Fallzahlenveränderung RKI7
attr corona_fz_rki7 reading01Name Fallzahlen_change
attr corona_fz_rki7 reading01XPath //*[@id="main"]/div[1]/table/tbody/tr[17]/td[3]/strong
attr corona_fz_rki7 reading02Name last_update
attr corona_fz_rki7 reading02XPath //*[@id="main"]/div[1]/p[1]
attr corona_fz_rki7 showError 1
attr corona_fz_rki7 stateFormat Fallzahlen_change (last_update)
attr corona_fz_rki7 timeout 60

herrmannj


Christoph Morrison

Zitat von: herrmannj am 10 November 2020, 09:23:31
Falscher Thread, hier geht's um JSON ;)

Sag das curt ;-)

Kannst das natürlich gerne abtrennen / verschieben.

FHEMAN

Hallo,

wäre es möglich, das Modul um eine enable / disable Funktion zu erweitern? Ich nutze JsonMod zum Einlesen von Umweltsensoren (UV-A,UV-B) und benötige nachts keine Werte bzw. nur in größeren Intervallen. Eine (tägliche) Änderung des interval Attributs führt jedoch zum bekannten Fragezeichen.

Viele Grüße
Ronny
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

yersinia

#173
Zitat von: FHEMAN am 11 Dezember 2020, 10:54:37wäre es möglich, das Modul um eine enable / disable Funktion zu erweitern? Ich nutze JsonMod zum Einlesen von Umweltsensoren (UV-A,UV-B) und benötige nachts keine Werte bzw. nur in größeren Intervallen. Eine (tägliche) Änderung des interval Attributs führt jedoch zum bekannten Fragezeichen.
Falscher Thread, wäre besser hier aufgehoben: [98_JsonMod.pm] Wunschliste von neuen Funktionen
Ich hab es dort auch gleich zitiert.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

sylvester

Hallo,

hat schon mal jemand versucht, Daten aus dem "Covid 19 Datenhub" zu nutzen?
https://npgeo-corona-npgeo-de.hub.arcgis.com/

Ich würde ja gerne einfach die Inzidenzwerte für meinen Wohnort in ein Log-File schreiben ...
Viele Grüße

Stephan

yersinia

viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

tweety-rt

Ich habe das Beispiel aus #151 mit den beiden Bundesländern verwenden wollen. Allerdings werden keine Daten für Baden-Württemberg ermittelt. Ich vermute es liegt am Umlaut, da andere Länder gehen.
Habe keinen brauchbaren Hinweis gefunden was ich tun muss. Hat mir jemand eine Lösung?

yersinia

#177
Also das funktioniert bei mir:
defmod coronaSpreadDE JsonMod https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/Coronaf%C3%A4lle_in_den_Bundesl%C3%A4ndern/FeatureServer/0/query?where=1%3D1&outFields=LAN_ew_GEN,Fallzahl,Aktualisierung,faelle_100000_EW,Death&returnGeometry=false&outSR=4326&f=json
attr coronaSpreadDE event-on-update-reading .computedReadings
attr coronaSpreadDE interval 9 */3 * * *
attr coronaSpreadDE readingList multi(jsonPath("\$.features[?(\@.attributes.LAN_ew_GEN in ['Baden-Württemberg', 'Saarland'])]"), concat(count(),'_name'), property('attributes.LAN_ew_GEN'));;\
multi(jsonPath("\$.features[?(\@.attributes.LAN_ew_GEN in ['Baden-Württemberg', 'Saarland'])]"), concat(count(),'_cases'), property('attributes.Fallzahl'));;\
multi(jsonPath("\$.features[?(\@.attributes.LAN_ew_GEN in ['Baden-Württemberg', 'Saarland'])]"), concat(count(),'_deaths'), property('attributes.Death'));;\
multi(jsonPath("\$.features[?(\@.attributes.LAN_ew_GEN in ['Baden-Württemberg', 'Saarland'])]"), concat(count(),'_lastUpdate'), property('attributes.Aktualisierung'));;
attr coronaSpreadDE stateFormat { my $ret = "<div style=\"text-align: left;;\">";;\
$ret .= "last <a href=\"https://corona.rki.de\" title=\"RKI CoViD19\" rel=\"noopener noreferrer\" target=\"_blank\">RKI CoViD-19</a> check => ";;\
$ret .= POSIX::strftime("%d.%m. %H:%M",localtime(time_str2num(ReadingsTimestamp($name,".computedReadings","2000-01-01 00:00:00"))));;\
$ret .= "<br \/>";;\
$ret .= ReadingsVal($name,"0_name","-").": <font style=\"color:orange;;font-weight:bold;;\">".ReadingsVal($name,"0_cases","-")." F&auml;;lle</font>&nbsp;;&amp;;&nbsp;;";;\
$ret .= "<font style=\"color:red;;font-weight:bold;;\">".ReadingsVal($name,"0_deaths","-")." Tote</font>";;\
$ret .= "&nbsp;;(".ReadingsVal($name,"0_lastUpdatedh","-").")<br \/>";;\
$ret .= ReadingsVal($name,"1_name","-").": <font style=\"color:orange;;font-weight:bold;;\">".ReadingsVal($name,"1_cases","-")." F&auml;;lle</font>&nbsp;;&amp;;&nbsp;;";;\
$ret .= "<font style=\"color:red;;font-weight:bold;;\">".ReadingsVal($name,"1_deaths","-")." Tote</font>";;\
$ret .= "&nbsp;;(".ReadingsVal($name,"1_lastUpdatedh","-").")";;\
$ret .= "</div>";;\
return $ret;;}
attr coronaSpreadDE update-on-start 1
attr coronaSpreadDE userReadings 0_lastUpdatedh {POSIX::strftime ("%d.%m. %H:%M", localtime(ReadingsVal($name,"0_lastUpdate",0)/1000));;}, 1_lastUpdatedh {POSIX::strftime ("%d.%m. %H:%M", localtime(ReadingsVal($name,"1_lastUpdate",0)/1000));;}
attr coronaSpreadDE webCmd reread

ergibt:
READINGS:
     2021-05-04 16:17:09   .computedReadings 1_name,0_lastUpdate,1_lastUpdate,0_name,0_deaths,1_cases,1_deaths,0_cases
     2021-05-04 16:17:09   0_cases         451387
     2021-05-04 16:17:09   0_deaths        9410
     2021-05-04 16:17:09   0_lastUpdate    1620079200000
     2021-05-04 16:17:09   0_lastUpdatedh  04.05. 00:00
     2021-05-04 16:17:09   0_name          Baden-Württemberg
     2021-05-04 16:17:09   1_cases         37776
     2021-05-04 16:17:09   1_deaths        962
     2021-05-04 16:17:09   1_lastUpdate    1620079200000
     2021-05-04 16:17:09   1_lastUpdatedh  04.05. 00:00
     2021-05-04 16:17:09   1_name          Saarland


JsonMod Version:
98_JsonMod.pm 24360 2021-04-29 21:17:23Z herrmannj



EDIT:
Oder ohne Text-Suche via OBJECTID:
defmod coronaSpreadDE JsonMod https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/Coronaf%C3%A4lle_in_den_Bundesl%C3%A4ndern/FeatureServer/0/query?where=1%3D1&outFields=OBJECTID,LAN_ew_GEN,Fallzahl,Aktualisierung,faelle_100000_EW,Death&returnGeometry=false&outSR=4326&f=json
attr coronaSpreadDE event-on-update-reading .computedReadings
attr coronaSpreadDE interval 9 */3 * * *
attr coronaSpreadDE readingList multi(jsonPath("\$.features[?(\@.attributes.OBJECTID in ['1', '12'])]"), concat(property('attributes.OBJECTID'),'_name'), property('attributes.LAN_ew_GEN'));;\
multi(jsonPath("\$.features[?(\@.attributes.OBJECTID in ['1', '12'])]"), concat(property('attributes.OBJECTID'),'_cases'), property('attributes.Fallzahl'));;\
multi(jsonPath("\$.features[?(\@.attributes.OBJECTID in ['1', '12'])]"), concat(property('attributes.OBJECTID'),'_deaths'), property('attributes.Death'));;\
multi(jsonPath("\$.features[?(\@.attributes.OBJECTID in ['1', '12'])]"), concat(property('attributes.OBJECTID'),'_lastUpdate'), property('attributes.Aktualisierung'));;
attr coronaSpreadDE stateFormat { my $ret = "<div style=\"text-align: left;;\">";;\
$ret .= "last <a href=\"https://corona.rki.de\" title=\"RKI CoViD19\" rel=\"noopener noreferrer\" target=\"_blank\">RKI CoViD-19</a> check => ";;\
$ret .= POSIX::strftime("%d.%m. %H:%M",localtime(time_str2num(ReadingsTimestamp($name,".computedReadings","2000-01-01 00:00:00"))));;\
$ret .= "<br \/>";;\
$ret .= ReadingsVal($name,"0_name","-").": <font style=\"color:orange;;font-weight:bold;;\">".ReadingsVal($name,"0_cases","-")." F&auml;;lle</font>&nbsp;;&amp;;&nbsp;;";;\
$ret .= "<font style=\"color:red;;font-weight:bold;;\">".ReadingsVal($name,"0_deaths","-")." Tote</font>";;\
$ret .= ReadingsVal($name,"1_name","-").": <font style=\"color:orange;;font-weight:bold;;\">".ReadingsVal($name,"1_cases","-")." F&auml;;lle</font>&nbsp;;&amp;;&nbsp;;";;\
$ret .= "<font style=\"color:red;;font-weight:bold;;\">".ReadingsVal($name,"1_deaths","-")." Tote</font>";;\
$ret .= "</div>";;\
return $ret;;}
attr coronaSpreadDE update-on-start 1
attr coronaSpreadDE webCmd reread

ergibt Readings wie:
   READINGS:
     2021-05-04 16:40:44   .computedReadings 1_name,1_lastUpdate,12_cases,12_lastUpdate,1_cases,1_deaths,12_deaths,12_name
     2021-05-04 16:40:44   12_cases        37776
     2021-05-04 16:40:44   12_deaths       962
     2021-05-04 16:40:44   12_lastUpdate   1620079200000
     2021-05-04 16:40:44   12_name         Saarland
     2021-05-04 16:40:44   1_cases         451387
     2021-05-04 16:40:44   1_deaths        9410
     2021-05-04 16:40:44   1_lastUpdate    1620079200000
     2021-05-04 16:40:44   1_name          Baden-Württemberg


Oder ohne die OBJECTID als Readings-Unterscheidungsmerkmal:
defmod coronaSpreadDE JsonMod https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/Coronaf%C3%A4lle_in_den_Bundesl%C3%A4ndern/FeatureServer/0/query?where=1%3D1&outFields=OBJECTID,LAN_ew_GEN,Fallzahl,Aktualisierung,faelle_100000_EW,Death&returnGeometry=false&outSR=4326&f=json
attr coronaSpreadDE event-on-update-reading .computedReadings
attr coronaSpreadDE interval 9 */3 * * *
attr coronaSpreadDE readingList multi(jsonPath("\$.features[?(\@.attributes.OBJECTID in ['1', '12'])]"), concat(count(),'_name'), property('attributes.LAN_ew_GEN'));;\
multi(jsonPath("\$.features[?(\@.attributes.OBJECTID in ['1', '12'])]"), concat(count(),'_cases'), property('attributes.Fallzahl'));;\
multi(jsonPath("\$.features[?(\@.attributes.OBJECTID in ['1', '12'])]"), concat(count(),'_deaths'), property('attributes.Death'));;\
multi(jsonPath("\$.features[?(\@.attributes.OBJECTID in ['1', '12'])]"), concat(count(),'_lastUpdate'), property('attributes.Aktualisierung'));;
attr coronaSpreadDE room CoViD-19
attr coronaSpreadDE stateFormat { my $ret = "<div style=\"text-align: left;;\">";;\
$ret .= "last <a href=\"https://corona.rki.de\" title=\"RKI CoViD19\" rel=\"noopener noreferrer\" target=\"_blank\">RKI CoViD-19</a> check => ";;\
$ret .= POSIX::strftime("%d.%m. %H:%M",localtime(time_str2num(ReadingsTimestamp($name,".computedReadings","2000-01-01 00:00:00"))));;\
$ret .= "<br \/>";;\
$ret .= ReadingsVal($name,"0_name","-").": <font style=\"color:orange;;font-weight:bold;;\">".ReadingsVal($name,"0_cases","-")." F&auml;;lle</font>&nbsp;;&amp;;&nbsp;;";;\
$ret .= "<font style=\"color:red;;font-weight:bold;;\">".ReadingsVal($name,"0_deaths","-")." Tote</font>";;\
$ret .= "&nbsp;;(".ReadingsVal($name,"0_lastUpdatedh","-").")<br \/>";;\
$ret .= ReadingsVal($name,"1_name","-").": <font style=\"color:orange;;font-weight:bold;;\">".ReadingsVal($name,"1_cases","-")." F&auml;;lle</font>&nbsp;;&amp;;&nbsp;;";;\
$ret .= "<font style=\"color:red;;font-weight:bold;;\">".ReadingsVal($name,"1_deaths","-")." Tote</font>";;\
$ret .= "&nbsp;;(".ReadingsVal($name,"1_lastUpdatedh","-").")";;\
$ret .= "</div>";;\
return $ret;;}
attr coronaSpreadDE update-on-start 1
attr coronaSpreadDE userReadings 0_lastUpdatedh {POSIX::strftime ("%d.%m. %H:%M", localtime(ReadingsVal($name,"0_lastUpdate",0)/1000));;}, 1_lastUpdatedh {POSIX::strftime ("%d.%m. %H:%M", localtime(ReadingsVal($name,"1_lastUpdate",0)/1000));;}
attr coronaSpreadDE webCmd reread

ergibt readings wie oben.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

tweety-rt

#178
Bei mir auch mit diesem Beispiel halt nicht. JsonMod Version ist die gleiche. Vielleicht fehlt mir eine generelle Einstellung?
Saarland kommt, BW nicht. FHEM ist aktuell.
Edit:
Mit dem Zweiten Beispiel über die Object-ID kommt auch BW.

yersinia

Zitat von: tweety-rt am 04 Mai 2021, 16:51:28Vielleicht fehlt mir eine generelle Einstellung?
Saarland kommt, BW nicht.
Mit den wenigen Informationen ist es nur raten. Bitte ein list vom Device. Hast du ein reread durchgeführt?

Wie gesagt, auf meiner Seite funktioniert es. Alle beide Versionen.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl