ReadingsNum liefert immer Wert 0

Begonnen von laserrichi, 09 Juni 2023, 15:34:51

Vorheriges Thema - Nächstes Thema

laserrichi

Ich habe eine Reading das mir bei Gewitter die Entfernung liefert und wenn diese fehlt steht im text none.

Jetzt wollte ich je nach entfernung die Farbe meiner Display Anzeige darauf basierend ändern. Da beim Variablen setzen mit den >= Vergleichen fehler kommen wenn es kein numerischer Wert ist wollte ich ReadingsNum nehmen.
Allerdings wenn ich mir das Ergebnis was mir das ReadingsNum liefert ansehe, kommt immer 0 raus.

defmod notify_Display_Gewitter notify Blitze.distance.*\
{my $entfernung = ReadingsNum("Blitze","distance",0);;\
my $farbe = $entfernung >= 25 ? '77FF00' :\
             $entfernung >= 15 ? 'FFFF00' :\
             $entfernung >= 9 ? 'FF4400' :\
                              'FF0000';;;;\
\
fhem ("set Display_Wohnzimmer notifytext1 Blitze 630 $farbe FFFFFF $entfernung km")}
attr notify_Display_Gewitter room Notify_DOIF

setstate notify_Display_Gewitter 2023-06-09 15:21:15
setstate notify_Display_Gewitter 2023-06-09 15:21:09 state active
setstate notify_Display_Gewitter 2023-06-09 15:21:15 triggeredByDev Blitze
setstate notify_Display_Gewitter 2023-06-09 15:21:15 triggeredByEvent distance 25

Wenn also im Text none steht  setze ich das auf 0, kann man auch weglassen und runden will ich ja auch nicht.
auch mit $NAME §EVTPART1 probiert...

Bin ich jetzt klammerblind ? oder woran liegt es.
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

rabehd

Wie wäre es mit einen List des Devices "Blitze"?
Auch funktionierende Lösungen kann man hinterfragen.

laserrichi

ich teste das einfach immer mit trigger Blitze distance 25
nicht wundern im Blitze Device  arbeite ich auch schon mit ReadingsNum und das funktioniert ;-)
Weil der Blitzsensor immer den counter von 0 anfängt wenn er 255 erreicht, und das klappt.

Hier vom Blitzsensor:

defmod Blitze SD_WS SD_WS_116_C655
attr Blitze event-min-interval .*:7200
attr Blitze event-on-change-reading .*
attr Blitze group Wetter
attr Blitze icon icoBlitz
attr Blitze room Garten
attr Blitze stateFormat Entfernung: <span style='color:#AAFF00'> distance </span>km \
Blitze: <span style='color:#AAFF00'>count </span>\
Blitze: <span style='color:#AAFF00'>lightningcount </span>\
statLightningcount
attr Blitze userReadings lightningcount monotonic {ReadingsNum("$name","count","")}

setstate Blitze Entfernung: <span style='color:#AAFF00'> none </span>km \
Blitze: <span style='color:#AAFF00'>216 </span>\
Blitze: <span style='color:#AAFF00'>1322 </span>\
Hour: 0 Day: 0 Month: 33 Year: 210
setstate Blitze 2023-06-09 16:16:41 batteryPercent 60
setstate Blitze 2023-06-09 16:16:41 count 216
setstate Blitze 2023-06-09 16:16:41 distance none
setstate Blitze 2023-06-09 16:16:41 id C655
setstate Blitze 2023-06-09 16:16:41 identified noise
setstate Blitze 2023-06-08 16:53:29 lightning lightning D: 34 C: 216
setstate Blitze 2023-06-09 16:16:41 lightningRaw 1
setstate Blitze 2023-06-09 16:16:41 lightningcount 1322
setstate Blitze 2023-06-09 15:59:55 statCount Hour: 0 Day: 0 Month: 33 Year: 210
setstate Blitze 2023-06-09 15:59:55 statCountLast Hour: 0 Day: 33 Month: 46 Year: 1
setstate Blitze 2023-06-09 15:59:55 statLightningcount Hour: 0 Day: 0 Month: 33 Year: 210
setstate Blitze 2023-06-09 15:59:55 statLightningcountLast Hour: 0 Day: 33 Month: 46 Year: 770 (since: 2022-05-22 )
setstate Blitze 2023-06-09 16:16:41 state D: none C: 216
setstate Blitze 2023-06-09 16:16:41 type WH57
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

betateilchen

Zitat von: laserrichi am 09 Juni 2023, 16:22:10ich teste das einfach immer mit trigger Blitze distance 25

Damit setzt Du aber kein Reading. Und solange im Device "Blitze" im Reading "distance" der Wert none steht, wird deshalb immer 0 rauskommen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

laserrichi

Danke... genau das war es... au mann... hab daran nicht gedacht.... und auch nicht gesehen, es geht :-)
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light