Moskus Skrevet 2. november 2016 Forfatter Skrevet 2. november 2016 Jeg ser det samme. Jeg kan skrive ToList() funksjonen selv, men den er nå så selvsagt i .NET at jeg hadde håpet å unngå dette. Skal høre med folkene i HST. Siter
iceball Skrevet 2. november 2016 Skrevet 2. november 2016 Jeg fulgte fremgangsmåten jeg fant her på HS board, men det hjalp ikke. iCloud tracking på PHlocation også satt ut av spill, så taler mot å skrote rpi Siter
Moskus Skrevet 2. november 2016 Forfatter Skrevet 2. november 2016 Det var synd! Hadde håpet (og trodde) det skulle fungere. OK, jeg får forenkle scriptet. Siter
Nettopp Skrevet 5. desember 2016 Skrevet 5. desember 2016 (endret) Hvis man kun ønsker å se tidspunkt for siste hendelse, f.eks. hvis man har en oversikt i HStouch over siste bevegelse på alle multisensorer, så finnes det en superenkel måte å gjøre dette på. Lag en virtual device for hver sensor du ønsker å logge - merk deg device id. Lag en event pr. enhet, sett den opp til å trigge på at multisensor registrerer "motion". Velg så å kjøre en script kommando, endre da det første tallet i kommandoen til din "Reference ID". "NOW" er jo en kjekk måte å sette inn tid/dato i en string, alternativt kan man gjøre som Iblis og benytte "DeviceLastChangeRef" som peker til device id for multisensor. I HSTouch Designer kan du nå legge til den virtuelle device i en visning, endre til StatusTrackingNormal, plukk frem den virtuelle devicen, endre til "Use Status Text". Endret 5. desember 2016 av Nettopp 3 Siter
Moskus Skrevet 21. november 2017 Forfatter Skrevet 21. november 2017 Oppdatert nå slik at det blir penere i HStouch. Siter
Ruud Skrevet 30. november 2017 Skrevet 30. november 2017 På 6.7.2016 den 10.46, Archos skrev: Hei, Jeg får denne erroren når jeg prøver å kjøre scriptet: Running script C:\Program Files (x86)\HomeSeer HS3\scripts\MotionLog.vb :Exception has been thrown by the target of an invocation.->Does entry point Main exist in script? at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at A.c17b105f989efe61e5979e67bec1ef734.cffd66cb0782c50126727e3fa75582d7a() Hei Jeg får opp noe av den samme feilen, hva gjorde du for å fikse dette? @Moskus er det noe med en setup fil her? På 6.7.2016 den 15.21, Moskus skrev: OK, tror jeg får lage en egen Setup-funksjon som gjør dette her. Lager en device og setter den opp riktig. Jeg har prøvd med Sum or Function som Main og main som ga 2 forskjellige feilmeldinger, se bildet er det bevegelseslogg devisen jeg har satt op feil? Siter
Moskus Skrevet 30. november 2017 Forfatter Skrevet 30. november 2017 Prøv med dette immediate scriptet: &hs.SetDeviceString(DIN_DEV_REF, "Linje1<br>Line2<br>Linje3<br>Linje4", True) Siter
Ruud Skrevet 30. november 2017 Skrevet 30. november 2017 9 timer siden, Moskus skrev: Prøv med dette immediate scriptet: &hs.SetDeviceString(DIN_DEV_REF, "Linje1<br>Line2<br>Linje3<br>Linje4", True) Takk, det fungerte, i tillegg hadde jeg en bokstavfeil i scriptet men nå fungerer det, ? Siter
ZoRaC Skrevet 2. desember 2017 Skrevet 2. desember 2017 Jeg kjører nyeste Mono, men får likevel dette: Sitat Dec-02 12:29:54 Error Compiling script /usr/local/HomeSeer/scripts/MotionLog.vb: 'ToList' is not a member of 'System.String[]'. Dec-02 12:29:54 Error Compiling script /usr/local/HomeSeer/scripts/MotionLog.vb: 'ToList' is not a member of 'System.String[]'. Dec-02 12:29:54 Error Compiling script /usr/local/HomeSeer/scripts/MotionLog.vb: The import 'System.Core' could not be found. Tips? Siter
Moskus Skrevet 2. desember 2017 Forfatter Skrevet 2. desember 2017 24 minutter siden, ZoRaC skrev: Tips? Installer Windows... Men seriøst: Scriptet må skrives ganske mye om hvis Lamda-funksjoner som ".ToString()" ikke er støttes. Enten over til C# hvor det (visstnok og kanskje?) er støttet eller til å bruke Array istedenfor. Et siste alternativ er å vente til den dagen HomeSeer eventuelt er bygd på .NET Core istedenfor mono på Linux. Siter
ZoRaC Skrevet 2. desember 2017 Skrevet 2. desember 2017 Fikk «hacket» til en workaround. Sitat Public Sub Main(ByVal input As Object) Dim logDeviceRef As Integer = 798 ' Update this Dim newText As String = Now.Date & " " & Now.ToLongTimeString & " - " & input.ToString & "<br>" & hs.GetINISetting("Log", "1", "", "MotionLog.ini") & hs.GetINISetting("Log", "2", "", "MotionLog.ini") & hs.GetINISetting("Log", "3", "", "MotionLog.ini") hs.SaveINISetting("Log", "3", hs.GetINISetting("Log", "2", "", "MotionLog.ini"), "MotionLog.ini") hs.SaveINISetting("Log", "2", hs.GetINISetting("Log", "1", "", "MotionLog.ini"), "MotionLog.ini") hs.SaveINISetting("Log", "1", Now.Date & " " & Now.ToLongTimeString & " - " & input.ToString & "<br>" , "MotionLog.ini") 'Updating the device string hs.SetDeviceString(logDeviceRef, newText, True) 'hs.TriggerEvent("Restart SisteBeveglse timer") End Sub Siter
Ruud Skrevet 1. mars 2018 Skrevet 1. mars 2018 På 22.5.2016 den 12.54, Moskus skrev: 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. Hei, jeg ønsker en ny versjon av dette scriptet, jeg prøvde å skrive det om selv men fikk det ikke helt til. Jeg har EN device som har mange statuser. Ønsker er å ha en device som viser de 10 siste statusene fra denne ene Devicen. Endring jeg ønsker er at scriptet skal skrive statusen til denne bestemte Device i stedet for teksten som skrives inn i parameter. Er et noen som gidder og endre det for meg? Siter
ZoRaC Skrevet 1. mars 2018 Skrevet 1. mars 2018 4 minutter siden, Ruud skrev: Endring jeg ønsker er at scriptet skal skrive statusen til denne bestemte Device i stedet for teksten som skrives inn i parameter. Er et noen som gidder og endre det for meg? Prøv å bytt ut «input.ToString» med «hs.devicevalue(id)» Hvis det da er verdien av devicen du vil ha? Siter
Ruud Skrevet 2. mars 2018 Skrevet 2. mars 2018 20 timer siden, ZoRaC skrev: Prøv å bytt ut «input.ToString» med «hs.devicevalue(id)» Fungerte nesten, jeg får nummeret på statusen men jeg ønsker teksten som hører til nummeret. Jeg måtte skrive GetDeviceString(ID) det funket hvis jeg også la til 2 funksjoner: Function GetDeviceString(ByVal DeviceRef As Integer) As String 'Henter device string fra HS Dim devstring As String = hs.DeviceString(DeviceRef) If devstring <> String.Empty Then Return devstring 'Henter devicestring directe fra CAPI-status, hvis den finnes devstring = hs.CAPIGetStatus(DeviceRef).Status If devstring <> String.Empty Then Return devstring 'Henter devicestring fra CAPI beskrivelse (basert på value) devstring = GetCapiString(DeviceRef) If devstring <> String.Empty Then Return devstring 'Henter devicestring fra device class Dim dev As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(DeviceRef) devstring = dev.devString(Nothing) If devstring <> String.Empty Then Return devstring Return "String not found for " & DeviceRef & ", value = " & hs.DeviceValueEx(DeviceRef) End Function Function GetCapiString(ByVal DeviceRef As Integer) As String For Each CAPI As HomeSeerAPI.CAPIControl In hs.CAPIGetControl(DeviceRef) If CAPI.ControlValue = hs.DeviceValue(DeviceRef) Then Return CAPI.Label.ToString Next Return String.Empty End Function 1 Siter
Moskus Skrevet 2. mars 2018 Forfatter Skrevet 2. mars 2018 1 time siden, Ruud skrev: det funket hvis jeg også la til 2 funksjoner: Hmmm, de så kjente ut. Du kunne nok klart deg med kun "GetCapiString" siden det er en CAPIlabel du skal ha 1 Siter
Ruud Skrevet 2. mars 2018 Skrevet 2. mars 2018 22 minutter siden, Moskus skrev: Hmmm, de så kjente ut. Jepp det er klipp og lim fra ditt fantastiske script: LogStatusToFile.vb 24 minutter siden, Moskus skrev: Du kunne nok klart deg med kun "GetCapiString" siden det er en CAPIlabel du skal ha hmmm.. prøvde å ta vekk funksjonen - GetDeviceString, da sluttet det å virke?? Siter
Moskus Skrevet 3. mars 2018 Forfatter Skrevet 3. mars 2018 11 timer siden, Ruud skrev: hmmm.. prøvde å ta vekk funksjonen - GetDeviceString, da sluttet det å virke?? Du må også endre kallet ditt fra "GeDeviceString(ID)" til "GetCapiString(ID)". 1 Siter
Moskus Skrevet 7. august 2018 Forfatter Skrevet 7. august 2018 Har nå laget e ny versjon av scriptet. Den er vesentlig forenklet (og dermed betydelig kjappere) enn før, og skal nå kunne kjøre på Linux uten problemer. Merket at med mye aktivitet i huset så gikk det overraskende seint, mulig det ble mye konverteringer som egentlig var unødvendige. Denne versjonen er kjapp. 2 Siter
ZoRaC Skrevet 7. august 2018 Skrevet 7. august 2018 Akkurat nå, Moskus skrev: Den er vesentlig forenklet (og dermed betydelig kjappere) enn før, og skal nå kunne kjøre på Linux uten problemer. Likte du ikke min Linux-workaround? 1 Siter
Moskus Skrevet 7. august 2018 Forfatter Skrevet 7. august 2018 Kunne vel gjøre det bedre enn det. Siter
ZoRaC Skrevet 7. august 2018 Skrevet 7. august 2018 Akkurat nå, Moskus skrev: Kunne vel gjøre det bedre enn det. Ingen tvil om det. Har lagt inn din versjon nå, ser ut til å funke bra! 1 Siter
Moskus Skrevet 7. august 2018 Forfatter Skrevet 7. august 2018 … men versjonen din funker jo. Må tydeligvis forenkle litt både mtp. hastighet og kompabilitet. Script-compileren til HS3 er ikke bare fantastisk, tydeligvis. Siter
JohnMartin Skrevet 17. oktober 2018 Skrevet 17. oktober 2018 Gjelder dette kun dette eventet, eller selve scriptet? Tenker på om vi går fra ett rom til et annet og scriptet ikke er ferdig. Eller det er folk i forskjellige rom. Vil dette valget stoppe samtidig loggingen av flere event? Siter
Moskus Skrevet 17. oktober 2018 Forfatter Skrevet 17. oktober 2018 5 timer siden, JohnMartin skrev: Gjelder dette kun dette eventet, eller selve scriptet? Eventet. Men i utgangspunktet skal scriptet være såpass raskt at det ikke er et problem Siter
JohnMartin Skrevet 18. oktober 2018 Skrevet 18. oktober 2018 10 hours ago, Moskus said: Eventet. Men i utgangspunktet skal scriptet være såpass raskt at det ikke er et problem Okei, takk. Da skal jeg prøve å huske det for fremtiden også 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.