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
Hi,
ich würde ein userreadings (https://fhem.de/commandref_DE.html#readingFnAttributes)erzeugen und dieses loggen.
Mit sprintf kannst Du den Wert einfach formatieren.
Gruß Otto
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;;
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