Et lite script som gir deg gjennomsnittsforbruket for hvert 5. minutt. Parameter skilles med |. Første parameter er strømforbruket nå totalt strømforbruk, andre er output device.
Private value_last As Double = 0
Private value_now As Double = 0
Private average As Double
Private time_last As Integer
Private time_now As Integer
Private dev_average As Integer
Private dev_usage As Integer
Private devs() As String
Public Sub Main(ByVal input As Object)
devs = input.Split("|")
dev_usage = devs(0)
dev_average = devs(1)
value_last = value_now
value_now = hs.DeviceValueEx(dev_usage)
time_last = hs.DeviceTime(dev_average)
time_now = hs.DeviceTime(dev_usage)
'hs.WriteLog("Power debug", "value_last: " & value_last & ", value_now: " & value_now & ", time_last: " & time_last)
If value_last > 0 Then
average = Math.Round((value_now - value_last) / (time_last / 60.0), 3)
'hs.WriteLog("Power debug", "average: " & average)
hs.SetDeviceValueByRef(dev_average, average, True)
hs.SetDeviceString(dev_average, average.ToString("f3") & "kW", True)
Else
hs.SetDeviceValueByRef(dev_average, 0, True)
hs.SetDeviceString(dev_average, "Waiting...", True)
End If
End Sub
... og et script for å "ta vare på" gårsdagens forbruk. Kjører kl. 23:59:45.
Oppdater de to første og de to siste linjene med dine egne input og output devicer.
Sub Main(parm As Object)
Dim str As String = hs.DeviceString(155)
Dim val As Double = hs.DeviceValueEx(155)
hs.waitsecs(20)
hs.SetDeviceValueByRef(1177, val, True)
hs.SetDeviceString(1177, str, True)
End Sub