Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Hvordan lage en device som viser max temperaturen til en annet device?


Ruud

Anbefalte innlegg

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?

Lenke til kommentar
Del på andre sider

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 av Salvesen
  • Like 1
Lenke til kommentar
Del på andre sider

6 minutter siden, Moskus skrev:

Ja.

Bare med linjeskit. ;) 

 

Ikke min feil at du har så bred skjerm! :P 1FEEA3EC-1872-40F3-A8E1-706A91FB2558.jpeg.9feb68a1bface36491717d4c0ac0f3dc.jpeg

 

7 minutter siden, Moskus skrev:

Personlig hadde jeg hoppet bukk over hs.GetDeviceRefByName fordi det stort sett er enklere å finne Device Ref selv.

 

Enig!

Lenke til kommentar
Del på andre sider

9 timer siden, ZoRaC skrev:

 

Må vel bli slik?

 

Hehe oops en liiiiten bug der ja :P 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 :P 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 :P

 

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 av Salvesen
Lenke til kommentar
Del på andre sider

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 ??

Lenke til kommentar
Del på andre sider

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!!!!!!!!

Lenke til kommentar
Del på andre sider

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 av ZoRaC
Lenke til kommentar
Del på andre sider

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?

Lenke til kommentar
Del på andre sider

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.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.