Ruud Skrevet 28. juni 2018 Skrevet 28. juni 2018 Egentlig ønsker jeg å lage en device(x) som viser datoen og klokkeslette plus temperaturen fra en spesefik device(xx). Denne skal selvfølgelig kun oppdateres hvis temperaturen er høyere i device(xx) en temperaturen i device(x). Er det noen som har en fin oppskrift på dette? Siter
Salvesen Skrevet 28. juni 2018 Skrevet 28. juni 2018 (endret) highTempRef = hs.GetDeviceRefByName(device(x)) currentTempRef = hs.GetDeviceRefByName(device(xx)) highTemp = hs.DeviceValueEx(highTemp) currentTemp = hs.DeviceValueEx(currentTemp) If currentTemp > highTemp Then hs.SetDeviceValueByRef(highTempRef, currentTemp,true) End If Om jeg forstår deg rett så vill noe slik fungere. Endret 28. juni 2018 av Salvesen 1 Siter
ZoRaC Skrevet 28. juni 2018 Skrevet 28. juni 2018 (endret) 9 timer siden, Salvesen skrev: highTemp = hs.DeviceValueEx(highTempRef) currentTemp = hs.DeviceValueEx(currentTempRef) Må vel bli slik? Endret 29. juni 2018 av ZoRaC Moskus ville ha linjeskift... Siter
Moskus Skrevet 29. juni 2018 Skrevet 29. juni 2018 Ja. Bare med linjeskit. Personlig hadde jeg hoppet bukk over hs.GetDeviceRefByName fordi det stort sett er enklere å finne Device Ref selv. Siter
ZoRaC Skrevet 29. juni 2018 Skrevet 29. juni 2018 6 minutter siden, Moskus skrev: Ja. Bare med linjeskit. Ikke min feil at du har så bred skjerm! 7 minutter siden, Moskus skrev: Personlig hadde jeg hoppet bukk over hs.GetDeviceRefByName fordi det stort sett er enklere å finne Device Ref selv. Enig! Siter
Salvesen Skrevet 29. juni 2018 Skrevet 29. juni 2018 (endret) 9 timer siden, ZoRaC skrev: Må vel bli slik? Hehe oops en liiiiten bug der ja Ikke uvanlig for meg når jeg ikke tester for å være ærlig ? Skylder det på at jeg liker feilsøking ? 1 time siden, Moskus skrev: Ja. Bare med linjeskit. Personlig hadde jeg hoppet bukk over hs.GetDeviceRefByName fordi det stort sett er enklere å finne Device Ref selv. Jeg hadde nok droppet en del av dette selv for å spare minne osv, men synes det ble oversiktlig slik for de som ikke er så vandt til å scripte/bruke hs script. Men jeg tar meg selv i å bruke denne funksjonen ofte. Usikker på hvorfor Henger gjerne igjen fra da jeg hadde HS på rasp.pi og alt gikk i sirup og jeg husket navnene i hodet og ikke ref nummer EDIT: Når jeg tenker meg om må nok variablene innkapsles i "" da det er string som input om jeg ikke husker helt feil? Altså: Sitat highTempRef = hs.GetDeviceRefByName("device(x)") currentTempRef = hs.GetDeviceRefByName("device(xx)") EDIT2: Usikker på om en device kan ha parenteser i navnet, men regner med TS ikke hadde tenkt til dette i utgangspunktet Endret 29. juni 2018 av Salvesen Siter
Moskus Skrevet 29. juni 2018 Skrevet 29. juni 2018 Alt mellom "..." er en streng, så du kan bruke hva du vil. Synes imidlertid betegnelsen er litt rar, for det er ikke en funksjon av x. highTempRef = hs.GetDeviceRefByName("navn på device 1") Siter
Salvesen Skrevet 29. juni 2018 Skrevet 29. juni 2018 12 minutter siden, Moskus skrev: Alt mellom "..." er en streng, så du kan bruke hva du vil. Synes imidlertid betegnelsen er litt rar, for det er ikke en funksjon av x. highTempRef = hs.GetDeviceRefByName("navn på device 1") Ja jeg tenkte mer når en oppretter en device i HS, om en kan bruke parantes? aldri testet Forøvrig enig, det trigger OCD'en min ?? Siter
Moskus Skrevet 29. juni 2018 Skrevet 29. juni 2018 36 minutter siden, Salvesen skrev: Ja jeg tenkte mer når en oppretter en device i HS, om en kan bruke parantes? aldri testet Ja, det går utmerket. 1 Siter
Ruud Skrevet 30. juni 2018 Forfatter Skrevet 30. juni 2018 På 29.6.2018 den 8.12, Moskus skrev: Personlig hadde jeg hoppet bukk over hs.GetDeviceRefByName fordi det stort sett er enklere å finne Device Ref selv. Ja men hvordan........ jeg er virkelig dårlig på scripting, jeg kan kun å kopiere ander Sub Main(ByVal parm As Object) highTempRef = hs.GetDeviceRefByName(626) currentTempRef = hs.GetDeviceRefByName(608) highTemp = hs.DeviceValueEx(highTempRef) currentTemp = hs.DeviceValueEx(currentTempRef) If currentTemp > highTemp Then hs.SetDeviceValueByRef(highTempRef, currentTemp,true) End If Dette fungerer veldig dårlig hos meg!!!!!!!! Siter
ZoRaC Skrevet 30. juni 2018 Skrevet 30. juni 2018 (endret) Prøv slik: Sub Main(ByVal parm As Object) Dim highTemp As Float = hs.DeviceValueEx(626) Dim currentTemp As Float = hs.DeviceValueEx(608) If currentTemp > highTemp Then hs.SetDeviceValueByRef(626, currentTemp,true) End If End Sub Endret 30. juni 2018 av ZoRaC Siter
Ruud Skrevet 30. juni 2018 Forfatter Skrevet 30. juni 2018 Tusen takk ZoRaC, Nå er jeg noen hak nærmere men dessverre ikke helt i mål. nå er det bare 3 feil i loggen, vet du hva jeg kan ha gjort feil? jun-30 21.42.31 Error Compiling script C:\Program Files (x86)\HomeSeer HS3\scripts\max.vb: Typen Float er ikke definert. jun-30 21.42.31 Error Compiling script C:\Program Files (x86)\HomeSeer HS3\scripts\max.vb: Typen Float er ikke definert. jun-30 21.42.31 Error Compiling script C:\Program Files (x86)\HomeSeer HS3\scripts\max.vb: Navneområdet eller typen som er angitt i importene System.Core, inneholder ikke noe felles medlem eller finnes ikke. Kontroller at navneområdet eller typen er definert og inneholder minst ett felles medlem. Kontroller at det importerte elementnavnet ikke bruker noen aliaser. Kan jeg ha gjort noe feil når jeg opprettet device 626? Siter
ZoRaC Skrevet 30. juni 2018 Skrevet 30. juni 2018 Prøv å bytt ut Float med Double de to stedene, mulig jeg skrev feil der. Siter
Ruud Skrevet 30. juni 2018 Forfatter Skrevet 30. juni 2018 Jepp - nå kjører skriptet uten feilmeldinger. På divice 626 ble "Last Change" oppdatert men, det viser ingen temperatur på devicen?? Siter
ZoRaC Skrevet 30. juni 2018 Skrevet 30. juni 2018 Tipper du ikke har lagt inn en gyldig status range på devicen du opprettet? Siter
Ruud Skrevet 30. juni 2018 Forfatter Skrevet 30. juni 2018 Akkurat nå, ZoRaC skrev: Tipper du ikke har lagt inn en gyldig status range på devicen du opprettet? Det har du helt sikker rett i, hvordan gjør jeg det? Siter
ZoRaC Skrevet 30. juni 2018 Skrevet 30. juni 2018 2 minutter siden, Ruud skrev: Det har du helt sikker rett i, hvordan gjør jeg det? Gå inn på devicen, fanen status graphics. Slett de to on/off som er der og lag en statusrange fra -50 til 50. Siter
Ruud Skrevet 30. juni 2018 Forfatter Skrevet 30. juni 2018 Å herre Gud, nå ble jeg flau! Det viste jeg jo. Siter
ZoRaC Skrevet 30. juni 2018 Skrevet 30. juni 2018 Jeg ville forresten brukt EasyTrigger-plugin og droppet scriptet. Før eller siden trenger man ET uansett. 1 Siter
iceball Skrevet 30. juni 2018 Skrevet 30. juni 2018 Jeg ville forresten brukt EasyTrigger-plugin og droppet scriptet. Før eller siden trenger man ET uansett. [emoji14] Helt enig. ET har utrolig mange fine funksjoner og utvikles stadig. Billig er den og. Siter
Moskus Skrevet 1. juli 2018 Skrevet 1. juli 2018 Ja. EasyTrigger er veldig bra. Men det er praktisk å kunne scripte også, selv om det (heldigvis) ikke er nødvendig i mange tilfeller. 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.