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

Real-time solar data without any hardware sensor


Anbefalte innlegg

@Lazarus har nå lagt til støtte for OpenHab i tillegg til HomeSeer i en ny versjon, tillegg er støtte for Windows sikret og testet. Denne versjonen er altså testet på linux og Windows samt med OpenHAB og HomeSeer.

 

Tusen takk til Lazaraus for bra arbeid!

 

Se ny versjon vedlagt posten med guide:

 

Endret av DiderikFrom
  • Like 2
Lenke til kommentar
Del på andre sider

1 time siden, DiderikFrom skrev:

Tja, hvor ofte kjører du skriptet? Fall fra 650 til 350 på en halv time er kanskje ikke all verden i disse mørketider?

Men det stemmer at octa ikke alltid oppdateres så ofte, hos meg virker verdiene dog ganske så reelle.

 

Hvert 15. min. Hadde forventet en litt mer gradvis Octa, ikke fra 8 til 5 på 15 min (men godt mulig det kan skje?). 

Lenke til kommentar
Del på andre sider

1 time siden, DiderikFrom skrev:

@Lazarus har nå lagt til støtte for OpenHab i tillegg til HomeSeer i en ny versjon, tillegg er støtte for Windows sikret og testet. Denne versjonen er altså testet på linux og Windows samt med OpenHAB og HomeSeer.

 

Tusen takk til Lazaraus for bra arbeid!

 

 

Ser nå at siden du fikk poste så går jeg glipp av alle likes-ene... ;-)

 

46 minutter siden, ZoRaC skrev:

 

Hvert 15. min. Hadde forventet en litt mer gradvis Octa, ikke fra 8 til 5 på 15 min (men godt mulig det kan skje?). 

Ettersom at Octa beskriver skylaget, så kan det nok endres hurtig på en dag der det blåser litt/er delvis overskyet.

 

  • Like 5
Lenke til kommentar
Del på andre sider

  • 3 uker senere...
47 minutter siden, Moskus skrev:

Jeg har dette nesten. Jeg bruker , som desimalskille på HS-maskinen, mens LUA scriptet bruker punktum. Er det en enkel måte å endre dette på?

Skal se om jeg får lagt inn variabel for det når jeg får litt tid. ?

  • Like 1
Lenke til kommentar
Del på andre sider

Prøvde meg på

print(os.setlocale("nb_NO"))

før linjene med

os.execute ('curl "http://'..localhost..'/JSON?request..... osv

... men jeg får bare "nil".

 

 

 

Har kommet rundt problemet med å fjerne desimaler, som muligens ikke har så stor verdi uansett, med math.floor():

os.execute ('curl "http://'..localhost..'/JSON?request=controldevicebyvalue&ref='..idxLux..'&value='.. math.floor(weightedLux) ..'"')
os.execute ('curl "http://'..localhost..'/JSON?request=controldevicebyvalue&ref='..idxSolarAltitude..'&value='.. math.floor(sunAltitude) ..'"')
os.execute ('curl "http://'..localhost..'/JSON?request=controldevicebyvalue&ref='..idxSolarAzimuth..'&value='.. math.floor(azimuth) ..'"')
os.execute ('curl "http://'..localhost..'/JSON?request=controldevicebyvalue&ref='..idxUserVarOcta..'&value='..Octa..'"')
os.execute ('curl "http://'..localhost..'/JSON?request=controldevicebyvalue&ref='..idxUserVardirectRadiation..'&value='.. math.floor(directRadiation) ..'"')
os.execute ('curl "http://'..localhost..'/JSON?request=controldevicebyvalue&ref='..idxUserVarscatteredRadiation..'&value='..  math.floor(scatteredRadiation) ..'"')
os.execute ('curl "http://'..localhost..'/JSON?request=controldevicebyvalue&ref='..idxUserVartotalRadiation..'&value='.. math.floor(totalRadiation) ..'"')

 

Lenke til kommentar
Del på andre sider

31 minutter siden, Moskus skrev:

Prøvde meg på


print(os.setlocale("nb_NO"))

før linjene med


os.execute ('curl "http://'..localhost..'/JSON?request..... osv

... men jeg får bare "nil".

 

 

 

Har kommet rundt problemet med å fjerne desimaler, som muligens ikke har så stor verdi uansett, med math.floor():


os.execute ('curl "http://'..localhost..'/JSON?request=controldevicebyvalue&ref='..idxLux..'&value='.. math.floor(weightedLux) ..'"')
os.execute ('curl "http://'..localhost..'/JSON?request=controldevicebyvalue&ref='..idxSolarAltitude..'&value='.. math.floor(sunAltitude) ..'"')
os.execute ('curl "http://'..localhost..'/JSON?request=controldevicebyvalue&ref='..idxSolarAzimuth..'&value='.. math.floor(azimuth) ..'"')
os.execute ('curl "http://'..localhost..'/JSON?request=controldevicebyvalue&ref='..idxUserVarOcta..'&value='..Octa..'"')
os.execute ('curl "http://'..localhost..'/JSON?request=controldevicebyvalue&ref='..idxUserVardirectRadiation..'&value='.. math.floor(directRadiation) ..'"')
os.execute ('curl "http://'..localhost..'/JSON?request=controldevicebyvalue&ref='..idxUserVarscatteredRadiation..'&value='..  math.floor(scatteredRadiation) ..'"')
os.execute ('curl "http://'..localhost..'/JSON?request=controldevicebyvalue&ref='..idxUserVartotalRadiation..'&value='.. math.floor(totalRadiation) ..'"')

 

math.floor fungerer nok bra. Desimaler har jeg ikke vist i mitt grensesnitt en gang, så for meg holder det uten.

Det finnes script som kan håndtere dette, jeg legger inn en løsning jeg fant som kan bruke variabel til å spesifisere desimal skille.

Lenke til kommentar
Del på andre sider

14 timer siden, Blodstrupmoen skrev:

Kunne også tenkt å prøve dette, men det stopper litt opp med Lua og Curl som må installeres.

Det tenkte jeg også, men alt er inkludert i zip-filen. Trenger ikke installere noe som helst det er kun .exe-filer som kjøres. :)

 

Lenke til kommentar
Del på andre sider

11 minutter siden, Moskus skrev:

Det tenkte jeg også, men alt er inkludert i zip-filen. Trenger ikke installere noe som helst det er kun .exe-filer som kjøres.

Det forenkler det jo en del, men txt fila med instruksjon kunne nok vært mer detaljert:

1. "Extract files in WinFiles.zip to the folder containting LUA files" Er dette en mappe som allerede skal finnes på HS maskinen, eller må denne opprettes på ønsket plass. Ser det ligger LUA files i pakken allerede, hvor skal disse legges? I Script mappen til HS?
2. "Set variables in SolarSensor.lua" Grei skuring
3. "Run the RunScript.cmd file." Egentlig greit, men hvor bør denne legges, og er dette kun ved første gangs kjøring, eler skal denne startes hver gang.

 

Lenke til kommentar
Del på andre sider

Du legger filene hvor det passer deg, bare .exe-filene og .lua-filene er i samme katalog.

Så er det bare å kjøre RunScript.cmd og se om devicene du har definert i HS oppdaterer seg.

 

For å sette dette inn i et Event måtte jeg lage en snarvei til RunScript.cmd, sette snarveien til "Run as Administrator" (for det gjør HomeSeer hos meg), og så kjøre den linken istedenfor RunScript.cmd.

  • Like 1
Lenke til kommentar
Del på andre sider

Da har jeg prøvd litt til. Fant til slutt ut at filene for Curl og Lua kun er for 64bit windows, og jeg kjører 32bit. Fant riktige versjoner på nettet, og la de inn i stedet. Da ser det ut som at scriptet henter inn riktige verdier, men har problemer med å skrive dette til Homeseer. Her er tilbakemelding:

Capture.PNG

 

  • Like 1
Lenke til kommentar
Del på andre sider

Den 5.1.2017 klokken 10.35, Moskus skrev:

Prøvde meg på


print(os.setlocale("nb_NO"))

før linjene med


os.execute ('curl "http://'..localhost..'/JSON?request..... osv

... men jeg får bare "nil".

 

 

 

Har kommet rundt problemet med å fjerne desimaler, som muligens ikke har så stor verdi uansett, med math.floor():

 

Desimaler har litt å si ettersom at noen av disse verdiene oppgis med opptil 6 desimaler. og da gjerne i form av 0.003459. ?

 

Har nå laget en ny versjon som skal håndtere desimalseparator via en variabel i starten... begynner å bli mange variabler.

 

Den 7.1.2017 klokken 9.31, Blodstrupmoen skrev:

Det forenkler det jo en del, men txt fila med instruksjon kunne nok vært mer detaljert:

Har lagt inn presiseringer i txt fil. ?

 

Den 7.1.2017 klokken 12.16, Blodstrupmoen skrev:

Da har jeg prøvd litt til. Fant til slutt ut at filene for Curl og Lua kun er for 64bit windows, og jeg kjører 32bit. Fant riktige versjoner på nettet, og la de inn i stedet.

 

Har nå lagt inn WinFiles-x32.zip.

 

Er foreløpig kun testet hos meg på OpenHAB@Win7-x64.

 

@DiderikFrom - Oppdaterer du originalpost med ny versjon etter at du får testet?

 

Edit: Vedlegget er oppdatert for å reflektere bug med negative tall.

 

 

solar_data_for_distributionv2.2.1.zip

Endret av Lazarus
Oppdatert vedlegge ettersom en liten bugfiks måtte til.
  • Like 2
Lenke til kommentar
Del på andre sider

6 timer siden, Lazarus skrev:

Desimaler har litt å si ettersom at noen av disse verdiene oppgis med opptil 6 desimaler. og da gjerne i form av 0.003459.

Tør du faktisk ta en diskusjon om desimaler med en ingeniør? ;) 

Jeg tror vi lar det være, og runder av til MAKSIMALT 2 desimaler.

 

Men takk for ny versjon, skal sjekke den. :) 

Lenke til kommentar
Del på andre sider

2 timer siden, DiderikFrom skrev:

Bra arbeid, @Lazarus!

 

Dog får jeg feilmelding på Altitude, alt annet fungerer. Jeg hadde bare ti minutter å teste på , må løpe videre, men klarer ikke finne feilen sånn umiddelbart.


{ "Response":"Error, controlling device" }

 

Dette er sikkert bare en liten typo et sted?

Ikke typo... men.. den var ikke glad i negative tall.. så når solen gikk ned, så gikk scriptet samme veien...

Ny versjon vedlagt.

solar_data_for_distributionv2.2.1.zip

  • Like 2
Lenke til kommentar
Del på andre sider

13 hours ago, Lazarus said:

Ikke typo... men.. den var ikke glad i negative tall.. så når solen gikk ned, så gikk scriptet samme veien...

Ny versjon vedlagt.

solar_data_for_distributionv2.2.1.zip

Ah, supert! Fungerer fint her nå (på dagtid), antar negative tall er utførlig testet, men har det fortsatt ganske travelt. Jeg tester enda en gang etter mørkets frembrudd, rekker først da å oppdatere posten uansett.

Lenke til kommentar
Del på andre sider

22 hours ago, Lazarus said:

Ikke typo... men.. den var ikke glad i negative tall.. så når solen gikk ned, så gikk scriptet samme veien...

Ny versjon vedlagt.

solar_data_for_distributionv2.2.1.zip

Da har jeg testet igjen, alt fungerer fint!

 

Jeg oppdaterer originalposten med ny versjon!

Endret av DiderikFrom
  • Like 1
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.