Ich habe ein Dummy Verbrauchswerte:
Internals:
NAME Verbrauchswerte
NR 337
STATE Quote: 30.83%
TYPE dummy
Helper:
DBLOG:
Autarkiequote:
logdb:
TIME 1517911457.20792
VALUE 34.38%
Bezug:
logdb:
TIME 1517911457.20792
VALUE 1308108.5
Eigenverbrauch:
logdb:
TIME 1517911457.20792
VALUE 685284.8
Eigenverbrauchsquote:
logdb:
TIME 1517911457.20792
VALUE 30.83%
Einspeisung:
logdb:
TIME 1517911457.20792
VALUE 1537419.2
Erzeugt:
logdb:
TIME 1517911457.20792
VALUE 2222704
KS300:
logdb:
TIME 1517911457.20792
VALUE -1.8
power::
logdb:
TIME 1517911457.20792
VALUE -493.4
powerpower::
logdb:
TIME 1517910739.42745
VALUE -4.4
READINGS:
2018-02-06 11:04:17 Autarkiequote 34.38%
2018-02-06 11:04:17 Bezug 1308108.5
2018-02-06 11:04:17 Eigenverbrauch 685284.8
2018-02-06 11:04:17 Eigenverbrauchsquote 30.83%
2018-02-06 11:04:17 Einspeisung 1537419.2
2018-02-06 11:04:17 Erzeugt 2222704
2018-02-06 11:04:17 KS300 -1.8
2018-02-06 11:04:17 power: -493.4
2018-02-06 10:52:19 powerpower: -4.4
Attributes:
room Zähler
stateFormat Quote: Eigenverbrauchsquote
userReadings Einspeisung {ReadingsVal("ZSensor","total_feed","undef")},
Eigenverbrauch {ReadingsVal("smauvg","AlltimeTotalP","undef")-ReadingsVal("ZSensor","total_feed","undef")},
Erzeugt {ReadingsVal("smauvg","AlltimeTotalP","undef")},
KS300 {ReadingsVal("KS300","temperature","undef")},
Eigenverbrauchsquote {sprintf("%.2f%%",(ReadingsVal("smauvg","AlltimeTotalP","undef")-ReadingsVal("ZSensor","total_feed","undef"))/ReadingsVal("smauvg","AlltimeTotalP","undef")*100)},
Autarkiequote {sprintf("%.2f%%",(ReadingsVal("smauvg","AlltimeTotalP","undef")-ReadingsVal("ZSensor","total_feed","undef"))/(ReadingsVal("smauvg","AlltimeTotalP","undef")-ReadingsVal("ZSensor","total_feed","undef")+ReadingsVal("ZSensor","total_consumption","undef"))*100)},
Bezug {ReadingsVal("ZSensor","total_consumption","undef")},
Power:
verbose 0
Dieses soll durch ein Notfy aktualisiert werden:
Internals:
DEF ZSensor:power:.* {fhem("setreading Verbrauchswerte $EVENT")}
NAME ntfy_setreading
NOTIFYDEV ZSensor
NR 350
NTFY_ORDER 50-ntfy_setreading
REGEXP ZSensor:power:.*
STATE 2018-02-06 11:05:17
TYPE notify
READINGS:
2018-02-06 10:55:11 state active
Attributes:
DbLogExclude .*
verbose 0
Es funktioniert seit dem update 5.2.2018 nicht mehr und es kommt folgende Fehlermeldung:
2018.02.05 17:29:27.602 3: setreading Verbrauchswerte power: 383.6 : WARNING: unsupported character in reading power: (not A-Za-z/\d_\.-)
Ich habe die fhem.pl ausgetauscht (fhem.pl 16050 2018-01-30 20:21:02Z rudolfkoenig) und damit ist alles wieder ok.
Mache ich etwas falsch?
Ulrich
Der Name vom Reading ist power:
Es sind aber keine : im Namen zulässig
Ob mit oder ohne : bleibt die Fehlermeldung mit der fhem.pl(fhem.pl 16087 2018-02-04 19:52:51Z rudolfkoenig).
mit fhem.pl (fhem.pl 16050 2018-01-30 20:21:02Z rudolfkoenig) ist alles ok.
notify habe ich geändert:
Internals:
DEF ZSensor:power.* {fhem("setreading Verbrauchswerte $EVENT")}
NAME ntfy_setreading
NOTIFYDEV ZSensor
NR 350
NTFY_ORDER 50-ntfy_setreading
REGEXP ZSensor:power.*
STATE 2018-02-06 12:27:18
TYPE notify
READINGS:
2018-02-06 12:20:09 state active
Attributes:
DbLogExclude .*
verbose 0
Was kann ich noch machen?
Ulrich
Ich glaube ich habe den Fehler gefunden:
Bei setreading muß neben Device auch ein Readingname definiert sein:
Internals:
DEF ZSensor:power.* {fhem("setreading Verbrauchswerte power $EVTPART1")}
NAME ntfy_setreading
NOTIFYDEV ZSensor
NR 350
NTFY_ORDER 50-ntfy_setreading
REGEXP ZSensor:power.*
STATE 2018-02-06 13:25:30
TYPE notify
READINGS:
2018-02-06 13:24:03 state active
Attributes:
DbLogExclude .*
verbose 0
Hierzu ist wahrscheinlich in der fhem.pl eine neue Prüfung eingebaut.
So funktioniert es bei mir wieder
Ulrich
Vorher stand da (ausgewertet):
setreading Verbrauchswerte power: <Wert>
jetzt steht da
setreading Verbrauchswerte power <Wert>
Das ist der entscheidende Unterschied. Aber bis letztens ist es Niemandem aufgefallen, dass bei setreading nicht auf korrekte Readings Namen prüft ;)
PS: Du brauchst überigens nicht auf perl Ebene {fhem("...")} zu wechseln.