Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

"Last Change" som tall/timer?


Erling

Anbefalte innlegg

@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...

Lenke til kommentar
Del på andre sider

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 av Moskus
Kode-formatering! :D
  • Like 1
Lenke til kommentar
Del på andre sider

  • 1 måned senere...

@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...

 

5ab8fc674c2a6_Skjermbilde2018-03-26kl_15_57_10.thumb.jpg.7ea606bd5f46c71d5449b28c718f1f83.jpg

Lenke til kommentar
Del på andre sider

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! :( 

  • Like 1
Lenke til kommentar
Del på andre sider

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.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.