Dette scriptet lar deg logge alle bevegelser til en device, slik at det blir enklere å se på web eller HStouch. Bevegelser (eller enhver hendelse) blir da logget slik.
MotionLog.vb (ny)
Public Sub Main(ByVal input As Object)
Dim logDeviceRef As Integer = 1081 ' Update this
Dim count As Integer = 9 'Maximum number of lines shown on the device - 1. 9 means 10 lines are shown
Dim currentText As String = hs.DeviceString(logDeviceRef)
currentText = currentText.Replace("<br>", "|")
Dim lines() As String = currentText.Split("|")
If lines.GetLength(0) < count Then count = lines.GetLength(0)
Dim oldLines(count - 1) As String
Array.Copy(lines, oldLines, count)
'Creating the device text
Dim newText As String = Now.Date & " " & Now.ToLongTimeString & " - " & input.ToString
If lines.GetLength(0) > 0 And lines(0) <> "" Then newText &= "<br>"
'Adding the previous lines
newText &= String.Join("<br>", oldLines)
'Updating the device string
hs.SetDeviceString(logDeviceRef, newText, True)
'hs.TriggerEvent("Restart SisteBeveglse timer")
lines = Nothing
oldLines = Nothing
End Sub
For hver bevegelsessensor har jeg da et event som blir trigget ved bevegelse (selvfølgelig! ), som i tillegg til å styre lys der det er nødvendig, kjører dette scriptet med sub Main og parameter med navnet på sensoren, som "Kjøkken" eller "Stue".
I tillegg har jeg en timer som he ter "SisteBevegelse", som jeg resetter når dette skjer. Hvis du også vil bruke dette, må du opprette den timeren, lage et Event (som jeg har kalt "Restart SisteBevegelse timer" fordi det ikke finnes kode for å restarte den), og fjerne fnutten foran den nest siste linjen i koden.
EDIT: Oppdatert slik at det blir penere i HStouch.
EDIT2: Bruker arrays for å gjøre scriptet enklere. Burde nå kjøre på Linux uten problemer.