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

Northq strømavleser


Anbefalte innlegg

har en northq liggene som jeg tenkte og ta i bruk, har hatt en owl de siste årene og den har fungert greit. Har byttet ut server og litt utstyr så det blir litt kronglete og bruke wol nå.

Når jeg sette opp northq opp mot hs3 får jeg opp tre devicer, de er batt, kw hours og no status devicen.

For det første fikke jeg opp  3114,092 kW Hours den første timen, det kan jo bli virkelig dyrt:)

hva har dere gjort her de som bruker denne.

Og, er det noen som har lagd et script eller plugin som deler den litt opp i dager, uker o.s.v? 

nå får jeg jo bare ut total kw...

Lenke til kommentar
Del på andre sider

OK, ser it som det er parameter 9, får prøve det når jeg er hjemme igjen.

en annen ting jeg lurer på også. Har funnet en Code på hs forumet som skal gi noen fler devicer. Hvor legger jeg inn denne koden og hvordan lager jeg de tilhørende devicene? Er en stund siden jeg gjorde dette og har glemt det litt:(

ub Main(params as Object)

   
   Dim dateNow As Date = hs.DeviceLastChangeRef(devRefNow)
   Dim datePrev As Date = hs.DeviceLastChangeRef(devRefPrev)
   Dim kWhNow as Double = hs.DeviceValueEx(devRefNow)
   Dim kWhPrev As Double = hs.DeviceValueEx(devrefPrev)
   Dim wattsDayHi As Integer = hs.DeviceValueEx(devRefWattsDayHi)
   Dim wattsDayLo As Integer = hs.DeviceValueEx(devRefWattsDayLo)
   
   Dim watts As Integer = Math.Round(1000 * (kWhNow - kWhPrev) / dateNow.Subtract(datePrev).TotalHours, 0)

   hs.writelog("NorthQ","NorthQ VP - Current kWh: " & kWhNow & " Previous kWh: " & kWhPrev & " Current W: " & watts)

   hs.SetDeviceValueByRef(devRefWatts, watts, True)
   hs.SetDeviceString(devRefWatts, watts & " W", False)
   hs.SetDeviceValueByRef(devRefPrev, kWhNow, True)
   hs.SetDeviceString(devRefPrev, kWhPrev & " kWh", False)

   if wattsDayHi < watts then
      hs.SetDeviceValueByRef(devRefWattsDayHi, watts, True)
      hs.SetDeviceString(devRefWattsDayHi, watts & " W", False)
   End if

   if wattsDayLo > watts then
      hs.SetDeviceValueByRef(devRefWattsDayLo, watts, True)
      hs.SetDeviceString(devRefWattsDayLo, watts & " W", False)
   End if

End Sub
Endret av MrTiger
Lenke til kommentar
Del på andre sider

Devicene må du opprette manuelt i homeseer. Så må du legge inn referansekoden til devicene du opprettet inn i scriptet i "første avsnitt". Device nummer finner du under Advanced taben i devicene du opprettet "Reference ID"

 

Scriptet legges inn i en text fil under scripts i homeseer katalogen, og så lager du en event som kjører regelmessig og starter scriptet. Hver 15min må vel være ok.

Lenke til kommentar
Del på andre sider

Sub Main(params as Object)

   Dim devRefNow as Integer = 680
   Dim devRefPrev as Integer = 684
   Dim devRefWatts as Integer = 685
   Dim devRefWattsDayHi as Integer = 686
   Dim devRefWattsDayLo as Integer = 687
   
   Dim dateNow As Date = hs.DeviceLastChangeRef(devRefNow)
   Dim datePrev As Date = hs.DeviceLastChangeRef(devRefPrev)
   Dim kWhNow as Double = hs.DeviceValueEx(devRefNow)
   Dim kWhPrev As Double = hs.DeviceValueEx(devrefPrev)
   Dim wattsDayHi As Integer = hs.DeviceValueEx(devRefWattsDayHi)
   Dim wattsDayLo As Integer = hs.DeviceValueEx(devRefWattsDayLo)
   
   Dim watts As Integer = Math.Round(1000 * (kWhNow - kWhPrev) / dateNow.Subtract(datePrev).TotalHours, 0)

   hs.writelog("NorthQ","NorthQ VP - Current kWh: " & kWhNow & " Previous kWh: " & kWhPrev & " Current W: " & watts)

   hs.SetDeviceValueByRef(devRefWatts, watts, True)
   hs.SetDeviceString(devRefWatts, watts & " W", False)
   hs.SetDeviceValueByRef(devRefPrev, kWhNow, True)
   hs.SetDeviceString(devRefPrev, kWhPrev & " kWh", False)

   if wattsDayHi < watts then
      hs.SetDeviceValueByRef(devRefWattsDayHi, watts, True)
      hs.SetDeviceString(devRefWattsDayHi, watts & " W", False)
   End if

   if wattsDayLo > watts then
      hs.SetDeviceValueByRef(devRefWattsDayLo, watts, True)
      hs.SetDeviceString(devRefWattsDayLo, watts & " W", False)
   End if

End Sub

Se øverst i scriptet her, du har ikke alt med deg i ditt eksempel tror jeg. Erstatt numrene her med dine egne.

Lenke til kommentar
Del på andre sider

Er det en eller to devicer i den linjen der.

hvis det er en, er det slik den skal se ut hvis device ID er a1

hs.writelog("A","1 - Current kWh: " & kWhNow & " Previous kWh: " & kWhPrev & " Current W: " & watts

 

 

Hvis det er 2 device

hs.writelog("A1","a2 - Current kWh: " & kWhNow & " Previous kWh: " & kWhPrev & " Current W: " & watts

 

Vet heller ikke om det er hele scriptet:(

Lenke til kommentar
Del på andre sider

Nok en gang står det du trenger å vite i HomeSeer-skolen, denne gangen i del 6. Det du skal ha tak i er "Device Ref", "Device Reference" eller "DeviceID" som alle er samme sak.

Den står i URLen når du har trykket på en device. Eller på "Advanced"-tab'en.

 

"Device codes" (A1-B2, etc) kan du bruke, men det er bedre å la være. Det er gammeldags fra den gangen X10 gjaldt.

 

Og det er altså de fem øverste linjene i scriptet du skal endre, dvs. etter = tegnet.

Lenke til kommentar
Del på andre sider

Ah, ser at de 5 første linjene er borte i første post? Sikkert jeg som har rotet det litt til det:)

når jeg ser litt lengre ned i posten er scriptet komplett. Da gir det litt mer mening:)

etter de 5 første linjene er det 6 linjer til, er det for og lage en graf?

Setter pris på hjelpen karer:)

Endret av MrTiger
Lenke til kommentar
Del på andre sider

Er hjemme igjen og har prøvd litt fram og tilbake med dette scriptet. Får opp denne feilmeldigen i loggen til hs3 når jeg kjører det

Running script, script run or compile error in file: C:/Program Files (x86)/HomeSeer HS3/scripts/northq.txt1006:Expected ')' in line 1 More info: Expected ')'

 

Hva betyr dette?

Lenke til kommentar
Del på andre sider

joda, det står at den mangeler/ forventer ) i første linje, men ser ikke hel problemet. Dette er srciptet.

 

Sub Main(params as Object)

   Dim devRefNow as Integer = 880
   Dim devRefPrev as Integer = 877
   Dim devRefWatts as Integer = 876
   Dim devRefWattsDayHi as Integer = 878
   Dim devRefWattsDayLo as Integer = 879
   
   Dim dateNow As Date = hs.DeviceLastChangeRef(devRefNow)
   Dim datePrev As Date = hs.DeviceLastChangeRef(devRefPrev)
   Dim kWhNow as Double = hs.DeviceValueEx(devRefNow)
   Dim kWhPrev As Double = hs.DeviceValueEx(devrefPrev)
   Dim wattsDayHi As Integer = hs.DeviceValueEx(devRefWattsDayHi)
   Dim wattsDayLo As Integer = hs.DeviceValueEx(devRefWattsDayLo)
   
   Dim watts As Integer = Math.Round(1000 * (kWhNow - kWhPrev) / dateNow.Subtract(datePrev).TotalHours, 0)

   hs.writelog("NorthQ","NorthQ VP - Current kWh: " & kWhNow & " Previous kWh: " & kWhPrev & " Current W: " & watts)

   hs.SetDeviceValueByRef(devRefWatts, watts, True)
   hs.SetDeviceString(devRefWatts, watts & " W", False)
   hs.SetDeviceValueByRef(devRefPrev, kWhNow, True)
   hs.SetDeviceString(devRefPrev, kWhPrev & " kWh", False)

   if wattsDayHi < watts then
      hs.SetDeviceValueByRef(devRefWattsDayHi, watts, True)
      hs.SetDeviceString(devRefWattsDayHi, watts & " W", False)
   End if

   if wattsDayLo > watts then
      hs.SetDeviceValueByRef(devRefWattsDayLo, watts, True)
      hs.SetDeviceString(devRefWattsDayLo, watts & " W", False)
   End if

End Sub

Endret av MrTiger
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.