var Long lStart = 0
var Integer iSeconds = 0
var Timer tBadlicht = null
rule "badlicht"
when
Time cron "5 0 0 * * ?"
then
iSeconds = 0
end
rule "Badlicht geschaltet"
when
Item BadLicht changed
then
if(newState == ON) {
lStart = now.toInstant.toEpochMilli
} else {
iSeconds += ((now.toInstant.toEpochMilli - lStart)/1000).intValue
BadlichtED.postUpdate(iSeconds)*0,00010764
}
end
So hatte ich es probiert (also einfach die Sekunden mit dem errechneten Kosten pro Sekunde multipliziert) und den Wert dann an das Number Item (%.5f) gesendet.
Leider passiert da nicht viel, ich nehme an ich hab es mir mal wieder zu einfach gemacht oder?
Der eine Punkt ist: der Multiplikator muss schon innerhalb des Parameters stehen.
Der andere Punkt (wortwörtlich): Es gilt die amerikanische Schreibweise von Dezimalzahlen. also 0.00010764, nicht 0,00010764
Falsch: