udo1toni hat geschrieben: ↑13. Jun 2020 14:24
Ich verstehe nicht so ganz, worauf Du damit hinaus willst.
So bin jetzt ein gutes Stück weiter um zu zeigen, was ich eigentlich erreichen möchte.
Ziel:
In der Sitemap sollte das Item
pollenTodayGrassesOutput mit dem Wert
mittel bis hoch (2-3) ausgegeben werden.
Frage:
Warum wird mein - in einer rule befülltes - Item
pollenTodayGrassesOutput nicht auf der Sitemap ausgegeben? Wie im logging zu sehen ist, wird mein spezielle Output Item
pollenTodayGrassesOutput korrekt gefüllt.
xyz.sitemap;
Code: Alles auswählen
// DWD Polleninformation
Text item=pollenTodayGrasses valuecolor=[=="3"="#f00014",
=="2-3"="#f00014",
=="2"="#ff9900",
=="1-2"="#ff9900",
=="1"="#8E8787",
=="0-1"="#8E8787"] icon="lawnmower"
Text item=pollenTodayGrassesOutput icon="lawnmower"
dwdpollenflug.items:
Code: Alles auswählen
String pollenTodayGrasses "Pollen Gräser Binding" {channel="dwdpollenflug:region:dwd:region112:grasses#today"}
// Formatierte Output Items für sitemap
String pollenTodayGrassesOutput "Pollen Gräser Output"
pollen.map:
Code: Alles auswählen
0=keine
0-1=keine bis gering
1=gering
1-2=gering bis mittel
2=mittel
2-3=mittel bis hoch
3=hoch
-1=keine Daten (-1)
-=keine Daten (-)
NULL=keine Daten (NULL)
In der Rule habe ich momentan noch ein
currentDateTime Item, dass jede Minute ausgelöst wird. Das habe ich nur da drin, damit die .rules regelmässig jede Minute ausgelöst wird. Damit läßt sich besser testen.
dwdpollenflug.rules:
Code: Alles auswählen
rule "DWD Pollenflug Itemausgabe Formatieren (dwdpollenflug.rules)"
when
Channel "dwdpollenflug:region:dwd:region112:grasses#today" triggered or
Item currentDateTime changed
then
// aktuellen Item value abholen und als String formatierenm Transform mit MAP + ursprünglichen Wert
var outStr = transform('MAP', 'pollen.map', pollenTodayGrasses.state.toString) + ' (' + pollenTodayGrasses.state.toString + ')'
// Logging neuer Wert
logInfo('dwdpollenflug.rules changed outStr:',outStr)
// Output Item mit zusammen gesetzten Werten füllen
pollenTodayGrassesOutput.postUpdate(outStr)
logInfo('pollenTodayGrassesOutput.state',pollenTodayGrassesOutput.state.toString)
end
logging:
Code: Alles auswählen
2020-06-14 16:18:25.134 [vent.ItemStateChangedEvent] - currentDateTime changed from 2020-06-14T16:17:25.137+0200 to 2020-06-14T16:18:25.139+0200
2020-06-14 16:18:25.140 [INFO ] [.dwdpollenflug.rules changed outStr:] - mittel bis hoch (2-3)
2020-06-14 16:18:25.150 [INFO ] [cript.pollenTodayGrassesOutput.state] - mittel bis hoch (2-3)
OpenHabWeatherMaps.JPG
Tipps?
Danke und Grüße
Thomas
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.