in valueFormat feste Variable abrufen anstatt $VALUE

Begonnen von l05443, 06 Dezember 2015, 21:53:28

Vorheriges Thema - Nächstes Thema

l05443

Hi,

es geht um folgenden Code:

attr Akkustand valueFormat {return "0" if( $VALUE eq "low" );; return "100" if( $VALUE eq "ok" );; return "25" if( $VALUE < 2.1 );; return "50" if( $VALUE < 2.3 );; return "75" if( $VALUE < 2.5 );; return "100"}


Leider greif die $VALUE auf alle meine genutzen readings zu und schreibt sie entsprechend um. Wie kann ich $VALUE durch batteryLevel ersetzen, sprich das der Ausdruck oben nur die Variable batteryLevel prüft und entsprechend umschreibt?

Grüße

Martin

martinp876

$value = ReadingsVal($name,$readingName,$default)

stromer-12

Grenze dein ValueFormat ein:

attr Akkustand valueFormat {return "$VALUE" if($READING ne "batteryLevel");; return "0" if( $VALUE eq "low" );; return "100" if( $VALUE eq "ok" );; return "25" if( $VALUE < 2.1 );; return "50" if( $VALUE < 2.3 );; return "75" if( $VALUE < 2.5 );; return "100"}
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL