Gjelsvik Skrevet 13. april 2018 Skrevet 13. april 2018 Har et script som setter device text på to virtuelle sensorer. Hhv latitude og longtitude. f.eks "10.675483" og "59.876434" Ønsker å kunne lage en sjekk på om disse to verdiene er mellom noen ytterpunkter slik at jeg kan definere plassering som hjemme eller borte. Noen som vil begi seg ut på et script som gjør om strengen "xx.yyyyy" til en float? Og deretter sjekke om de er innenfor et gitt str. f.eks latitude mellom 10,674000 og 10,67800 (litt usikker på hvor mange meter det utgjør enda) Siter
Salvesen Skrevet 13. april 2018 Skrevet 13. april 2018 Ang å konvertere til flyttall: Public Sub numberHandling(numberString, deviceName) Dim tempInt As Double If IsNumeric(numberString) Then Double.TryParse(numberString), tempInt) hs.SetDeviceValueByRef(hs.GetDeviceRefByName(deviceName), tempInt, True) End If End Sub Siter
Moskus Skrevet 14. april 2018 Skrevet 14. april 2018 IsNumeric og Double.TryParse gjør mye det samme. Kan forenkles slik: Public Sub numberHandling(numberString, deviceName) Dim tempInt As Double If Double.TryParse(numberString), tempInt) hs.SetDeviceValueByRef(hs.GetDeviceRefByName(deviceName), tempInt, True) End If End Sub 1 Siter
Gjelsvik Skrevet 19. april 2018 Forfatter Skrevet 19. april 2018 (endret) Takk for svar her. Hvordan adresserer jeg devicestring? Jeg kan sette stringen med hs.setdevicestring, men jeg finner ikke noe tilsvarende for å lese den. Edit: Fant ut av det, det var så enkelt som "hs.devicestring" Men denne innholder også link til stausgrafikk, og da ble det fort vanskelig å kjøre "string.compare()" mot den. Endret 19. april 2018 av Gjelsvik Siter
Moskus Skrevet 19. april 2018 Skrevet 19. april 2018 54 minutter siden, Gjelsvik skrev: Men denne innholder også link til stausgrafikk, og da ble det fort vanskelig å kjøre "string.compare()" mot den. Den gjør vanligvis ikke det, men den kan gjøre det hvis plugin'en eller scriptet som setter verdien er skrevet med litt latskap... Men hvis du har et script som setter device text som string, kan du ikke heller endre scriptet til å inkludere å sette verdien som en float hs.SetDeviceValueByRef() kan sette desimaltall. For å hente ut desimaltallet så er det hs.DeviceValueEX() som brukes. Siter
Gjelsvik Skrevet 19. april 2018 Forfatter Skrevet 19. april 2018 Det er Jon00 sin datascraper som setter device value og strings. Jeg fikk det til ved å bruke mystr.contains() Siter
ZoRaC Skrevet 19. april 2018 Skrevet 19. april 2018 1 time siden, Gjelsvik skrev: Det er Jon00 sin datascraper som setter device value og strings. Du kan også sette «DeviceMode=2», så slipper du å få bilde som en del av strengen. 1 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.