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

Anbefalte innlegg

Skrevet

Jeg har en Z-wave dørsensor, som virker som den skal. Det jeg er ute etter, er å lage en device som kan gi med tidsdata på siste endring.

 

Sensoren gir jo et 'tidsstempel' "Last Change" i Device List. Det jeg har gjort er å lage en virituel enhet som jeg ønsker å gi verdien til dørsensorens 'tidsstempel'.

 

Ønsker å kjøre dette i en Event, med "Only allow a single intance to run at a time"

 

Dette setter vel en verdi til en device         hs.setdevicevaluebyref(913, ett eller annet)

Tror dette skal gi meg tidsstempelet'          hs.DeviceLastChangeRef(802)

Her er 913 den virituelle enheten, og 802 enheten som får 'tidsstempel'

 

Har pøvd på                      &hs.setdevicevaluebyref(913, hs.DeviceLastChangeRef(802))

 

Men det gir meg

Running script(2) &hs.setdevicevaluebyref(913, hs.DeviceLastChangeRef(802)), init error: Ugyldig prosedyrekall eller argument: 'hs.setdevicevaluebyref'

 

Noen med scriping-kompetanse som kan hjelpe?

 

Skrevet

Du kan ikke sette device value til typen DateTime (for DateTime typen som blir returnert av DeviceLastChangeRef). DeviceValue kan i utgangspunktet kun være et tall, Integer eller Double (heltall eller desimaltall).

 

Men du kan sette device string til en dato med SetDeviceString. Altså:

&hs.SetDeviceString(913, hs.DeviceLastChangeRef(802).ToString(), True) 

 

(hs.SetDeviceValueByRef krever også en ekstra parameter, True/False som oppdaterer last change og eventuelle triggers)

Skrevet

Okey, skjønner.

 

Har endret til ditt forslag

&hs.SetDeviceString(913, hs.DeviceLastChangeRef(802).ToString(), True)

 

Da får jeg følgende feil

Running script(2) &hs.SetDeviceString(913, hs.DeviceLastChangeRef(802).ToString(), True), init error: Krever objekt: 'hs.DeviceLastChangeRef(...)'

 

802 er rett ref. for dørsensoren, jfr

Reference ID 802
Technology Address CDE18073-017-Q34
Status 23 = Dim
Value 23 = "Ytterdøren er lukket"

 

 

Skrevet

Ah, ok blingsa litt. Immediate Script er litt mer grinete på syntax. Fjern ".ToString()" etter DeviceLastChange(802) så går det bra. Dette fungerer hos meg:

&hs.WriteLog("Test", hs.DeviceLastChangeRef(802))

 

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.