Erling Skrevet 27. januar 2018 Skrevet 27. januar 2018 @Moskus tipset om inline-script i HSTouch. Jeg ville gjerne fått en tallverdi slik at jeg kan bytte batterier når kjøleskapet ikke er oppdatert på 24 timer eller feilsøke når andre ikke er oppdatert etter x-timer. Da kan jeg ha røde og grønne "lamper" det mest kritiske. Sikkert ikke vanskelig... Siter
ZoRaC Skrevet 27. januar 2018 Skrevet 27. januar 2018 (endret) 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 Endret 28. januar 2018 av Moskus Kode-formatering! :D 1 Siter
Erling Skrevet 26. mars 2018 Forfatter Skrevet 26. mars 2018 @ZoRaC Takk for tipset, gidder du ta frem t-skjeen? ? Ting tar som kjent tid, nå er hendene fri for bandasje og jeg prøver å bli ajour... Jeg har laget en timer: 2077, test timer - skjønte ikke hvorfor, men... En virtuell device: 2076, test device 2060 er lux på do, som en start over oversikten jeg ønsker zorac-test.vb som kjøres med disse parameterne: 2060, 2076 - som gir f.eks.: 2d 3t 4m som forsåvidt er greit 1. Hva mente du med timeren? 715 står det i første kodevindu. Antar at min kunnskap ikke strekker til. Skulle jeg laget en .vb-fil av den koden som starter med: &hs.SetDeviceString? 2. zorac-test.vb, kunne den gitt antall timer? Så kunne jeg brukt røde og grønne lamper på det hele ut fra verdien. Takk igjen. PS: Bandasje på begge armene er lite praktisk... Siter
ZoRaC Skrevet 27. mars 2018 Skrevet 27. mars 2018 20 timer siden, Erling skrev: Jeg har laget en timer: 2077, test timer - skjønte ikke hvorfor, men... En virtuell device: 2076, test device 2060 er lux på do, som en start over oversikten jeg ønsker zorac-test.vb som kjøres med disse parameterne: 2060, 2076 - som gir f.eks.: 2d 3t 4m som forsåvidt er greit 1. Hva mente du med timeren? 715 står det i første kodevindu. Antar at min kunnskap ikke strekker til. Skulle jeg laget en .vb-fil av den koden som starter med: &hs.SetDeviceString? 2. zorac-test.vb, kunne den gitt antall timer? Så kunne jeg brukt røde og grønne lamper på det hele ut fra verdien. Jeg beskrev egentlig 2 separate løsninger. En løsning er å vise "tid siden en timer startet". Det er den første linjen, kjørt som "immediate script". Den andre løsningen henter "last change" fra en device, og det ser ut til at det er den du vil bruke. 1. Timeren trenger du altså ikke 2. Du mener at hvis det er 27 timer og 30 min, så vil du vise det som "27,5" i stedet for "1d 3t 30m"? I så fall kan du bytte ut denne "hs.SetDeviceString(deviceid_to_set, str, True)" med hs.SetDeviceValue(deviceid_to_set, str, RT.TotalHours) Husk å legg inn i "Status graphics" at du tillater verdier fra 0 til f.eks 1000 og antall desimaler du vil vise. 20 timer siden, Erling skrev: PS: Bandasje på begge armene er lite praktisk... Ouch! 1 Siter
Anbefalte innlegg
Bli med i samtalen
Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.