Logfile Eintrag - 2te Nachkommastelle ignorieren

Begonnen von OK_DE, 12 September 2017, 20:27:36

Vorheriges Thema - Nächstes Thema

OK_DE

Hallo habe einen Schaltaktor mit Leistungsmessung im Einsatz.
Der PWR Wert schwankt immer in der 2ten Nachkommastelle kann man irgendwie einstellen das ein Eintrag im Logfile nur bis zur ersten Nachkommastelle erzeugt wird.
On change reading hilft hier leider nicht weiter da sich in der 2ten Nachkommastelle immer was ändert.

Logfile:
2017-09-09_06:57:25 EG_KUECHE_GESCHIRRSPUELER_Watt 0.02
2017-09-09_07:00:09 EG_KUECHE_GESCHIRRSPUELER_Watt 0.01
2017-09-09_07:04:54 EG_KUECHE_GESCHIRRSPUELER_Watt 0.02
2017-09-09_07:16:51 EG_KUECHE_GESCHIRRSPUELER_Watt 0.01
2017-09-09_07:19:48 EG_KUECHE_GESCHIRRSPUELER_Watt 0.02


Code:
define EG_KUECHE_GESCHIRRSPUELER_Watt dummy
attr EG_KUECHE_GESCHIRRSPUELER_Watt event-on-change-reading state
attr EG_KUECHE_GESCHIRRSPUELER_Watt group Geschirrspüler
attr EG_KUECHE_GESCHIRRSPUELER_Watt icon scene_dishwasher
attr EG_KUECHE_GESCHIRRSPUELER_Watt room EG.KUECHE

define EG_KUECHE_GESCHIRRSPUELER_Watt_NOTIFY notify EG_KUECHE_GESCHIRRSPUELER_Pwr {my $var= ReadingsVal("EG_KUECHE_GESCHIRRSPUELER_Pwr","power",0);; fhem("set EG_KUECHE_GESCHIRRSPUELER_Watt $var")}
attr EG_KUECHE_GESCHIRRSPUELER_Watt_NOTIFY group Geschirrspüler
attr EG_KUECHE_GESCHIRRSPUELER_Watt_NOTIFY room _EG.KUECHE

define EG_KUECHE_GESCHIRRSPUELER_Watt_FILELOG FileLog ./log/EG_KUECHE_GESCHIRRSPUELER_Watt-%Y.log EG_KUECHE_GESCHIRRSPUELER_Watt
attr EG_KUECHE_GESCHIRRSPUELER_Watt_FILELOG group Geschirrspüler
attr EG_KUECHE_GESCHIRRSPUELER_Watt_FILELOG logtype text
attr EG_KUECHE_GESCHIRRSPUELER_Watt_FILELOG room _EG.KUECHE


Otto123

Hi,

ich würde ein userreadings erzeugen und dieses loggen.

Mit sprintf kannst Du den Wert einfach formatieren.

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

OK_DE

Habe selbst eine einfache Lösung gefunden indem ich im Notfiy die zweite Nachkommastelle mit folgendem Code aufrunde und abschneide:
$var = (int((10*$var)+0.5))/10;;

Otto123

Wie Du das Ergebnis erzeugst ist am Ende egal.  ;D
Ich würde das notify "entsorgen" und mit einem userreadings arbeiten, vielleicht schaust Du es Dir mal an. Geht auch mit Deinem Code.

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