Hauptmenü

Wert Spliten

Begonnen von RedStar73, 24 November 2017, 22:27:35

Vorheriges Thema - Nächstes Thema

RedStar73

wollte Komma durch Punkt ersetzen, klappt leider nicht, was stimmt mit diesem Befehl nicht

my $temps=(ReadingsVal("heizungszdummy","state",""));;\
$temps =~ s/\,/ . /;;\

das bedeutet z.B. , wenn der wert von heizungszdummy 21,5, möchte ich diesen wert durch 21.5 ersetzen.

danke

Otto123

Hi,

klappt nicht? Die Katzenklappe oder welche?  ;D

Sowas kannst Du direkt in der FHEM Kommandozeile ausprobieren - funktioniert :)
{ my $val = "21,5" ;; $val =~ s/\,/./ ;; return $val}

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Prof. Dr. Peter Henning


JensS

Heist dein Dummy wirklich heizungszdummy?
Was sagt {return (ReadingsVal("heizungszdummy","state",""))}
?
Wenn du lediglich den Wert aus dem Reading "state" als Internal STATE setzen möchtest, kannst du das perattr heizungszdummy stateFormat {my $temps=(ReadingsVal("heizungszdummy","state",""));;$temps =~ s/\,/./;;return $temps}
erledigen. (sh. Beitrag von Otto123)
Allerdings müssen dann neue Werte an das Reading "state" übergeben werden.
setreading heizungszdummy state 21,4

Gruß Jens

Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.