Movcon Skrevet 10. november 2016 Skrevet 10. november 2016 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? Siter
Moskus Skrevet 10. november 2016 Skrevet 10. november 2016 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) Siter
Movcon Skrevet 10. november 2016 Forfatter Skrevet 10. november 2016 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" Siter
Moskus Skrevet 10. november 2016 Skrevet 10. november 2016 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)) Siter
Movcon Skrevet 10. november 2016 Forfatter Skrevet 10. november 2016 Glimrende. Virker. Tusen takk for hjelpen. :-) 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.