FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: laserrichi am 09 Juni 2023, 15:34:51

Titel: ReadingsNum liefert immer Wert 0
Beitrag von: laserrichi am 09 Juni 2023, 15:34:51
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.
Titel: Aw: ReadingsNum liefert immer Wert 0
Beitrag von: rabehd am 09 Juni 2023, 16:16:10
Wie wäre es mit einen List des Devices "Blitze"?
Titel: Aw: ReadingsNum liefert immer Wert 0
Beitrag von: laserrichi am 09 Juni 2023, 16:22:10
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
Titel: Aw: ReadingsNum liefert immer Wert 0
Beitrag von: betateilchen am 09 Juni 2023, 17:07:51
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.
Titel: Aw: ReadingsNum liefert immer Wert 0
Beitrag von: laserrichi am 09 Juni 2023, 22:06:40
Danke... genau das war es... au mann... hab daran nicht gedacht.... und auch nicht gesehen, es geht :-)