Hi All
I have the following rule which I am trying to use to calculate my Last Months electricity consumption:
rule "EM Mains Monthly Process"
when
Item ShellyEM_MAINS_TotalEnergy_Switch changed to ON
//Time cron "0 10 10 * *"
then
var EMToDate = ShellyEM_MAINS_TotalEnergy.state as Number
logInfo("shelly_em", "EMToDate: " + EMToDate.toString())
var PreviousMonth = ShellyEM_Mains_TotalEnergy_PreviousMonth.state as Number
logInfo("shelly_em", "PreviousMonth: " + PreviousMonth.toString())
var UsageLastMonth = (EMToDate as Number - PreviousMonth as Number)
logInfo("shelly_em", "UsageLastMonth: " + UsageLastMonth.toString())
//ShellyEM_Mains_TotalEnergy_PreviousMonth.postUpdate(EMToDate)
//ShellyEM_MAINS_TotalEnergy_Monthly.postUpdate(UsageLastMonth)
end
The log entries I see are:
09:28:59.745 [INFO ] [g.openhab.core.model.script.shelly_em] - EMToDate: 16653.434 kWh
09:28:59.745 [INFO ] [g.openhab.core.model.script.shelly_em] - PreviousMonth: 16648.39 kWh
09:28:59.745 [INFO ] [g.openhab.core.model.script.shelly_em] - UsageLastMonth: 18158400
So EMToDate
and PreviousMonth
are correct, however the calculated result UsageLastMonth
is not.
I am currently not updating the Item so preserve my data as the calculation is not working.
I cannot work out what I have done incorrectly? Maybe something to do with UoM, but would appreciate any hints?
Items are configured as Number:Energy
Any help would be appreciated.