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

Telling med counters


Anbefalte innlegg

Jeg teller antall ganger vaskemaskinen har vært i bruk denne uken og denne måneden. 

 

Men jeg skulle gjerne lagret hvor mange ganger den har vært i bruk hver uke/måned, har det nå slik at counteren resettes hver søndag. Noen tips til hvordan jeg får lagret dette? Det er egentlig nok å vite hvor mange ganger den ble brukt forrige uke og forrige mnd. Hadde jeg bare kunne kopiert over value til counteren over til en ny counter eller device. 

Endret av GeneralVirus
Lenke til kommentar
Del på andre sider

Akkurat nå, Gizmo skrev:

Så vidt jeg vet så vil ikke det fungere siden countere ikke har en device. Men du kan bruke et enkelt script å lagre verdien til en counter til en device. 

Jeg er rimelig fersk her, men har et script som jeg bruker til dette. Det lagrer verdien til counteren bevegelser til en virtuell device ( i mitt tilfelle device 1188).

 Sånn ser det ut: 

 


Sub Main(parm As Object)
    Dim value As Double = hs.CounterValue("bevegelser")
    Dim str As String = hs.CounterValue("bevegelser")
    hs.waitsecs(1)
    hs.SetDeviceValueByRef(1188, value, True)
    hs.SetDeviceString(1188, str, True)
End Sub

Så du kan bytte ut "bevegelser" med navnet på din counter (men behold "hermetegnene")

Bytt ut 1188 med devicenummeret du vil lagre verdien til. 

 

 

 

  • Like 1
Lenke til kommentar
Del på andre sider

Fikset litt på scriptet slik at det er lettere å gjenbruke.

Sett inn counternavn og deviceref til devicen man skal kopiere til skilt med en "|" i parameter i HS eventet.

Sub Main(ByVal parms As String)
	Dim ref() As String = Split(parms.ToString, "|")
	Dim value As Double = hs.CounterValue(ref(0))
	Dim str As String = hs.CounterValue(ref(0))
	hs.waitsecs(1)
	hs.SetDeviceValueByRef(ref(1), value, True)
	hs.SetDeviceString(ref(1), str, True)
	End Sub

 

  • Like 2
Lenke til kommentar
Del på andre sider

1 time siden, GeneralVirus skrev:

Hadde jeg bare kunne kopiert over value til counteren over til en ny counter eller device.

Det kan du.

hs.SetDeviceValueByRef(NEW_DEVICE_REF, hs.DeviceValueEx(OLD_DEVICE_VALUE), True)

 

 

... men hele greia er kanskje tøffest om du logger til fil før du resetter hver søndag. Så får du uketall.

  • Like 1
Lenke til kommentar
Del på andre sider

1 minute ago, Moskus said:

Det kan du.


hs.SetDeviceValueByRef(NEW_DEVICE_REF, hs.DeviceValueEx(OLD_DEVICE_VALUE), True)

 

 

... men hele greia er kanskje tøffest om du logger til fil før du resetter hver søndag. Så får du uketall.

 

Prøvde det men den oppførte seg ikke da som en vanlig counter, med at man kan legge til og trekke fra. Så valgte da å bare bruke en "vanlig" device.

 

Tenkte tanken å logge til en fil, men så tenkte jeg litt mer på det å kom frem til at jeg neppe kom til å bruke det noen gang. ? Så klarer meg med forrige uke og forrige mnd.

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.