Vet man kan formatere tid med inline, usikker på om du kan beregnet «tid siden endring». Jeg løser det med en virtuell device og timer.
Denne viser tiden til en timer som f.eks «6t 5m»:
&hs.SetDeviceString(715, TimeSpan.FromSeconds(hs.TimerValue("Barnehage").TotalSeconds).Hours & "t " & TimeSpan.FromSeconds(hs.TimerValue("Barnehage").TotalSeconds).Minutes & "m", True)
Denne bruker «last change» (parameter: «devid_til_device,devid_til_virtuell_device»):
Sub Main(ByVal params as Object)
Dim parameters() as String = params.ToString.Split(",")
Dim deviceid_last_changed As Integer = parameters(0)
Dim deviceid_to_set As String = parameters(1)
Dim DateRightNow As DateTime = DateTime.Now
Dim DateLastChanged As DateTime = hs.DeviceLastChangeRef(deviceid_last_changed)
Dim RT As TimeSpan = (DateRightNow-DateLastChanged)
Dim strHours As String = (RT.Hours & "t ")
Dim strMin As String = RT.Minutes
Dim strDays As String = (RT.Days & "d ")
Dim str As String = (strMin & "m")
If RT.Days > 0 Then
str = strDays & strHours & str
ElseIf RT.Hours > 0 Then
str = strHours & str
End If
hs.SetDeviceString(deviceid_to_set, str, True)
End Sub