Väderkoefficient

Moderators: hekj, Telldus

Väderkoefficient

Postby Pee » Mon Sep 08, 2014 6:42 pm

Har inte tänkt så mycket på skymmningskoefficient http://www.telldus.com/forum/viewtopic.php?f=23&t=4551 men däremot påverkar vädret mycket. En mulen regnig kväll vill man att lamporna ska tändas en halvtimme eller mer tidigare än när det är klart väder. Kan man använda väderinfo från t.ex. http://www.yr.no/verdata/1.3321307 för detta för att få en gradvis förskjutning av till och frånslag beroende på väder?
Det skulle också vara kul att lägga in vädersymboler på NexaHome webserver, t.ex. http://www.yr.no/om_yrno/1.1940495.
Det kanske går att fixa men mina programmeringskunskaper sträcker sig som mest till att pilla lite i färdig kod.
Pee
 
Posts: 31
Joined: Mon Sep 08, 2014 5:56 pm

Re: Väderkoefficient

Postby Zapper » Sun Sep 21, 2014 8:19 am

Enklast skulle vara om det gick köpa en enkel luxgivare till systemet, men har själv bara sett skymmningsreläer.
Zapper
 
Posts: 212
Joined: Mon May 07, 2012 1:59 pm
Location: Där det är kallt

Re: Väderkoefficient

Postby hekj » Tue Oct 07, 2014 6:12 am

Pee wrote:Har inte tänkt så mycket på skymmningskoefficient http://www.telldus.com/forum/viewtopic.php?f=23&t=4551 men däremot påverkar vädret mycket. En mulen regnig kväll vill man att lamporna ska tändas en halvtimme eller mer tidigare än när det är klart väder. Kan man använda väderinfo från t.ex. http://www.yr.no/verdata/1.3321307 för detta för att få en gradvis förskjutning av till och frånslag beroende på väder?
Det skulle också vara kul att lägga in vädersymboler på NexaHome webserver, t.ex. http://www.yr.no/om_yrno/1.1940495.
Det kanske går att fixa men mina programmeringskunskaper sträcker sig som mest till att pilla lite i färdig kod.

Har lagt upp en testversion, den som "vågar" kan testa...

Förutom ett nytt fält under Config fliken, Dusk Coefficient (minutes), så finns en ny metod att anropa från bsh scripts.

Normalt soligt väder - använd värdet noll, dvs ingen extra förskjutning av solnedgång/soluppgång.
Code: Select all
adjustSunlight(0);

Mulet väder - använd ett värde större än noll, dvs tänd/släck kommandon som har Function sunset (+/-) eller sunrise (+/-) utförs tidigare eller senare.
Code: Select all
adjustSunlight(45);

Jag föreslår att man lägger in ett startTimer kommando i start.bsh filen och tar ställning till "vädret" i det anropade scriptet

start.bsh
Code: Select all
startTimer("sunlight", 240);

sunlight.bsh
Code: Select all
adjustSunlight(0);  // TODO set value to > 0 if rain...
startTimer("sunlight", 240);
hideOutput();

http://nexahome.se/NexaHome_3.8.3.jar
http://nexahome.se/NexaHome_RPi_3.8.3.jar
hekj
 
Posts: 978
Joined: Mon Jan 05, 2009 10:34 am
Location: Stockholm

Re: Väderkoefficient

Postby Pee » Tue Oct 07, 2014 7:43 pm

hekj wrote:Har lagt upp en testversion, den som "vågar" kan testa...

Förutom ett nytt fält under Config fliken, Dusk Coefficient (minutes), så finns en ny metod att anropa från bsh scripts.

Normalt soligt väder - använd värdet noll, dvs ingen förskjutning av solnedgång/soluppgång.
Code: Select all
adjustSunlight(0);

Mulet väder - använd ett värde större än noll, dvs tänd/släck kommandon som har Function sunset (+/-) eller sunrise (+/-) utförs senare eller tidigare...
Code: Select all
adjustSunlight(45);

Jag föreslår att man lägger in ett startTimer kommando i start.bsh filen och tar ställning till "vädret" i det anropade scriptet

start.bsh
Code: Select all
startTimer("sunlight", 240);

sunlight.bsh
Code: Select all
adjustSunlight(0);  // TODO set value to > 0 if rain...
startTimer("sunlight", 240);
hideOutput();

http://nexahome.se/NexaHome_3.8.3.jar
http://nexahome.se/NexaHome_RPi_3.8.3.jar


Kul att öppnat för att kunna ta hänsyn till vädret, eller något annat också för den delen, för att justera när det är dags att tända och släcka lampor. Det blir ännu bekvämare och mer praktiskt med NexaHome.
Hoppas att det är någon som vill ta sig an scriptet.
Pee
 
Posts: 31
Joined: Mon Sep 08, 2014 5:56 pm

Re: Väderkoefficient

Postby hekj » Sat Oct 11, 2014 4:31 pm

Pee wrote:Det skulle också vara kul att lägga in vädersymboler på NexaHome webserver, t.ex. http://www.yr.no/om_yrno/1.1940495.
Det kanske går att fixa men mina programmeringskunskaper sträcker sig som mest till att pilla lite i färdig kod.

Har lagt upp ytterligare en testversion, ladda hem v3.8.4 samt även nedanstående två filer.

http://nexahome.se/WeatherDataMsnHourly.class
http://nexahome.se/WeatherDataMsnHourly.java

Skapa följande filer.

weather_hourly.bsh
Code: Select all
execFile("weather_hourly.bat");
startTimer("weather_hourly.bat.output", 15);
startTimer("weather_hourly", 10 * 60);
hideOutput();

weather_hourly.bat
Code: Select all
@echo off
set JPATH=C:\Program Files (x86)\Java\jre7
set CLASSPATH=c:\apps\nexahome\.;%JPATH%\lib\dt.jar
set JAVAW=%JPATH%\bin\javaw.exe
set JAVA=%JPATH%\bin\java.exe
if exist "%JAVAW%" goto begin
echo Hittar inte %JAVAW%
pause
goto end
:begin
"%JAVA%" -cp "%CLASSPATH%" WeatherDataMsnHourly "http://www.msn.com/sv-se/weather/idag/SE/Nacka,Stockholm,Sweden/we-city-59.31,18.14"
rem exit
:end
Modifiera ovanstående fil så att kommandofilen hittar java, samt byt ut msn.com länken så att data hämtas från din egen ort.

weather_hourly.bat.output.bsh
Code: Select all
check_output = "weather_hourly.bat";
String out = getData(check_output + ".output_");
String err = getData(check_output + ".error_");
if (out != null) { 
  is = new ByteArrayInputStream(out.getBytes());                 
  Properties props = new Properties();
  props.load(is);
  is.close();
  time = props.getProperty("time");
  img = props.getProperty("img");
  skytext = props.getProperty("skytext");
  temp = props.getProperty("temp");
  precipicn = props.getProperty("precipicn");
  if (time != null) {
    setData("WEATHER_TIME", time);
  }
  if (img != null) {
    setData("WEATHER_IMG", img);
  }
  if (skytext != null) {
    setData("WEATHER_SKYTEXT", skytext);
  }
  if (temp != null) {
    setData("WEATHER_TEMP", temp);
  }
  if (precipicn != null) {
    setData("WEATHER_PRECIPICN", precipicn);
  }
} else if (err != null && err.length() != 0) {
  echo(err);
}

Lägg till följande rad i start.bsh
Code: Select all
startTimer("weather_hourly", 30);

Lägg in följande rader i en html fil.
Code: Select all
<div style="position: absolute; top: 30px; left: 607px;">
#DATA#WEATHER_IMG#
</div>

<div style="position: absolute; top: 65px; left: 610px;">
#DATA#WEATHER_TEMP#
</div>

<div style="position: absolute; top: 90px; left: 610px;">
#DATA#WEATHER_PRECIPICN#
</div>

http://nexahome.se/NexaHome_3.8.4.jar
http://nexahome.se/NexaHome_RPi_3.8.4.jar
hekj
 
Posts: 978
Joined: Mon Jan 05, 2009 10:34 am
Location: Stockholm

Re: Väderkoefficient

Postby Pee » Sat Oct 11, 2014 8:36 pm

hekj wrote:Har lagt upp ytterligare en testversion, ladda hem v3.8.4 samt även nedanstående två filer.


Hej Henrik,
Måste bara säga att Du är helt fantastisk. Tyvärr har jag inte tid att kolla på detta nu men ska göra det så snart jag hinner. :clap: :clap:
/Pee
Pee
 
Posts: 31
Joined: Mon Sep 08, 2014 5:56 pm

Re: Väderkoefficient

Postby jnyberg » Sat Oct 11, 2014 10:12 pm

Var tvungen att testa och det fungerar utmärkt.
Började genast fundera på hur man skulle kunna utnyttja detta för motorvärmaren.

Tänker som så att om prognosen säger att det snöar eller om det blåser över ett visst m/s så skulle motorvärmaren kunna få starta lite tidigare, så det inte blir så mycket sopa snö. :D
jnyberg
 
Posts: 7
Joined: Sat Oct 29, 2011 9:54 pm

Re: Väderkoefficient

Postby hekj » Sun Oct 12, 2014 7:12 am

Pee wrote:
hekj wrote:Har lagt upp en testversion, den som "vågar" kan testa...

Förutom ett nytt fält under Config fliken, Dusk Coefficient (minutes), så finns en ny metod att anropa från bsh scripts.

Normalt soligt väder - använd värdet noll, dvs ingen förskjutning av solnedgång/soluppgång.
Code: Select all
adjustSunlight(0);

Mulet väder - använd ett värde större än noll, dvs tänd/släck kommandon som har Function sunset (+/-) eller sunrise (+/-) utförs senare eller tidigare...
Code: Select all
adjustSunlight(45);

Jag föreslår att man lägger in ett startTimer kommando i start.bsh filen och tar ställning till "vädret" i det anropade scriptet

start.bsh
Code: Select all
startTimer("sunlight", 240);

sunlight.bsh
Code: Select all
adjustSunlight(0);  // TODO set value to > 0 if rain...
startTimer("sunlight", 240);
hideOutput();

http://nexahome.se/NexaHome_3.8.3.jar
http://nexahome.se/NexaHome_RPi_3.8.3.jar

Kul att öppnat för att kunna ta hänsyn till vädret, eller något annat också för den delen, för att justera när det är dags att tända och släcka lampor. Det blir ännu bekvämare och mer praktiskt med NexaHome.
Hoppas att det är någon som vill ta sig an scriptet.

Dom som har fått igång "weather_hourly" kan använda detta script till att förskjuta till/frånslag.

sunlight.bsh
Code: Select all
String[] GRP1 = { "Lätta regnskurar", "Regnskurar", "Åskväder", "Snö" };
String[] GRP2 = { "Dimma", "Molnigt", "Övervägande molnigt", "Växlande molnighet" };
String[] GRP3 = { "Klart", "Soligt", "Delvis soligt" };
adjust = 0; // GRP3
skytext = getData("WEATHER_SKYTEXT");
if (skytext != null) {
  if (Arrays.asList(GRP1).contains(skytext)) {
    adjust = 60;
  } else if (Arrays.asList(GRP2).contains(skytext)) {
    adjust = 30;
  }
}
adjustSunlight(adjust);
startTimer("sunlight", 240);
hideOutput();

Det som återstår är att bestämma hur stort adjust-värdet ska vara för dom olika vädertyperna.
hekj
 
Posts: 978
Joined: Mon Jan 05, 2009 10:34 am
Location: Stockholm

Re: Väderkoefficient

Postby Pee » Mon Oct 20, 2014 9:48 pm

Pee wrote:
hekj wrote:Har lagt upp ytterligare en testversion, ladda hem v3.8.4 samt även nedanstående två filer.


Hej Henrik,
Måste bara säga att Du är helt fantastisk. Tyvärr har jag inte tid att kolla på detta nu men ska göra det så snart jag hinner. :clap: :clap:
/Pee


Nu har jag gjort ett försök att få igång det men jag lyckas inte. Troligen för att jag kör på en Raspberry Pi.
Jag har ändrat alla .bat till .sh.
Dessutom ändrat filen weather_hourly.sh till
Code: Select all
@echo off
set JPATH=/opt/jdk1.8.0
set CLASSPATH=/home/pi/nexahome/.;%JPATH%/lib/dt.jar
set JAVAW=%JPATH%/bin/javaw.exe
set JAVA=%JPATH%/bin/java.exe
if exist "%JAVAW%" goto begin
echo Hittar inte %JAVAW%
pause
goto end
:begin
"%JAVA%" -cp "%CLASSPATH%" WeatherDataMsnHourly "http://www.msn.com/sv-se/weather/idag/SE/Nacka,Stockholm,Sweden/we-city-59.31,18.14"
rem exit
:end

Sökvägen till java är kanske fel eller har det blivit fel vid installation av jdk1.8.0? Där finns i varje fall java.exe
Saknar filerna /opt/jdk1.8.0/jre/bin/javaw.exe (och /opt/jdk1.8.0/jre/lib/dt.jar).
:help:

Update: Har ändrat sökvägen till java i koden ovan. Då stämmer även sökvägen till dt.jar. Men, det funkar inte ändå.....
Alla .bsh-filer verkar köras och även weather_hourly.sh med tillhörande weather_hourly.sh.output.bsh körs men ingen data finns att hämta.

/Pee
Pee
 
Posts: 31
Joined: Mon Sep 08, 2014 5:56 pm

Re: Väderkoefficient

Postby hekj » Sat Oct 25, 2014 12:39 pm

Pee wrote:Nu har jag gjort ett försök att få igång det men jag lyckas inte. Troligen för att jag kör på en Raspberry Pi.
Jag har ändrat alla .bat till .sh.
Dessutom ändrat filen weather_hourly.sh till
Code: Select all
@echo off
set JPATH=/opt/jdk1.8.0
set CLASSPATH=/home/pi/nexahome/.;%JPATH%/lib/dt.jar
set JAVAW=%JPATH%/bin/javaw.exe
set JAVA=%JPATH%/bin/java.exe
if exist "%JAVAW%" goto begin
echo Hittar inte %JAVAW%
pause
goto end
:begin
"%JAVA%" -cp "%CLASSPATH%" WeatherDataMsnHourly "http://www.msn.com/sv-se/weather/idag/SE/Nacka,Stockholm,Sweden/we-city-59.31,18.14"
rem exit
:end

Sökvägen till java är kanske fel eller har det blivit fel vid installation av jdk1.8.0? Där finns i varje fall java.exe
Saknar filerna /opt/jdk1.8.0/jre/bin/javaw.exe (och /opt/jdk1.8.0/jre/lib/dt.jar).
:help:

Update: Har ändrat sökvägen till java i koden ovan. Då stämmer även sökvägen till dt.jar. Men, det funkar inte ändå.....
Alla .bsh-filer verkar köras och även weather_hourly.sh med tillhörande weather_hourly.sh.output.bsh körs men ingen data finns att hämta.

Följande rader måste också uppdateras.
Code: Select all
set JAVAW=%JPATH%/bin/javaw.exe
set JAVA=%JPATH%/bin/java.exe

Vad får du för svar om du skriver nedanstående kommando i ett terminalfönster?
Code: Select all
which java

Har du provkört weather_hourly.sh manuellt i ett terminalfönster, får du någon output?
hekj
 
Posts: 978
Joined: Mon Jan 05, 2009 10:34 am
Location: Stockholm

Re: Väderkoefficient

Postby Pee » Sun Oct 26, 2014 8:14 pm

hekj wrote:Följande rader måste också uppdateras.
Code: Select all
set JAVAW=%JPATH%/bin/javaw.exe
set JAVA=%JPATH%/bin/java.exe

Vad får du för svar om du skriver nedanstående kommando i ett terminalfönster?
Code: Select all
which java

Har du provkört weather_hourly.sh manuellt i ett terminalfönster, får du någon output?


Såhär blev det;
Code: Select all
pi@raspberrypi ~ $ which java
/usr/bin/java

pi@raspberrypi ~ $ weather_hourly.sh
bash: weather_hourly.sh: kommandot finns inte

pi@raspberrypi ~ $ cd /home/pi/nexahome

pi@raspberrypi ~/nexahome $ weather_hourly.sh
bash: weather_hourly.sh: kommandot finns inte


Notera att jag inte hittar filen javaw.exe.
Jag tycker att sökvägen till java.exe stämmer.
/Pee
Attachments
Terminal.zip
Listning av några kataloger. (Katalogen nexahome är rensad på loggfiler)
(996 Bytes) Downloaded 148 times
Pee
 
Posts: 31
Joined: Mon Sep 08, 2014 5:56 pm

Re: Väderkoefficient

Postby hekj » Sun Oct 26, 2014 9:01 pm

weather_hourly.sh
Code: Select all
#!/bin/sh
JAVA=/usr/bin/java
CLASSPATH=/home/pi/nexahome/.
"$JAVA" -cp "$CLASSPATH" WeatherDataMsnHourly "http://www.msn.com/sv-se/weather/idag/SE/Nacka,Stockholm,Sweden/we-city-59.31,18.14"

Kommando för att kolla i vilken folder man står i.
Code: Select all
pwd

Att ställa sig i rätt folder.
Code: Select all
cd /home/pi/nexahome

Att göra sh filen exekverbar.
Code: Select all
chmod +x weather_hourly.sh

Att provköra sh filen.
Code: Select all
 ./weather_hourly.sh
hekj
 
Posts: 978
Joined: Mon Jan 05, 2009 10:34 am
Location: Stockholm

Re: Väderkoefficient

Postby Pee » Sun Oct 26, 2014 10:51 pm

hekj wrote:weather_hourly.sh
Code: Select all
#!/bin/sh
JAVA=/usr/bin/java
CLASSPATH=/home/pi/nexahome/.
"$JAVA" -cp "$CLASSPATH" WeatherDataMsnHourly "http://www.msn.com/sv-se/weather/idag/SE/Nacka,Stockholm,Sweden/we-city-59.31,18.14"

Kommando för att kolla i vilken folder man står i.
Code: Select all
pwd

Att ställa sig i rätt folder.
Code: Select all
cd /home/pi/nexahome

Att göra sh filen exekverbar.
Code: Select all
chmod +x weather_hourly.sh

Att provköra sh filen.
Code: Select all
 ./weather_hourly.sh

Skapat ny weather_hourly.sh och gjort den körbar.
Code: Select all
pi@raspberrypi ~/nexahome $  ./weather_hourly.sh

time=00
img=<img alt="V&#228;xlande molnighet" src="http://img.s-msn.com/tenant/amp/entityid/BBaM7D.img?m=6&amp;o=true&amp;u=true&amp;n=true&amp;w=30&amp;h=30" title="V&#228;xlande molnighet" />
skytext=V&#228;xlande molnighet
temp=12&#176;
precipicn=0%

Enligt förväntan? Verkar inte som det funkar fullt ut. Har försökt att lägga in lite utskrifter i weather_hourly.sh.output.bsh. Det verkar som out är tom och err innehåller /tmp/nexahome_cmd_1713253012921503502.sh: 2: /tmp/nexahome_cmd_1713253012921503502.sh: weather_hourly.sh: not found

/Pee
Pee
 
Posts: 31
Joined: Mon Sep 08, 2014 5:56 pm

Re: Väderkoefficient

Postby hekj » Mon Oct 27, 2014 5:41 am

Pee wrote:Skapat ny weather_hourly.sh och gjort den körbar.
Code: Select all
pi@raspberrypi ~/nexahome $  ./weather_hourly.sh

time=00
img=<img alt="V&#228;xlande molnighet" src="http://img.s-msn.com/tenant/amp/entityid/BBaM7D.img?m=6&amp;o=true&amp;u=true&amp;n=true&amp;w=30&amp;h=30" title="V&#228;xlande molnighet" />
skytext=V&#228;xlande molnighet
temp=12&#176;
precipicn=0%

Enligt förväntan? Verkar inte som det funkar fullt ut. Har försökt att lägga in lite utskrifter i weather_hourly.sh.output.bsh. Det verkar som out är tom och err innehåller /tmp/nexahome_cmd_1713253012921503502.sh: 2: /tmp/nexahome_cmd_1713253012921503502.sh: weather_hourly.sh: not found

Ja, så ska det se ut (ett antal namn/värde-par).

Jag glömde att tala om att de som inte kör på en windows-burk måste ange fullständig sökväg till weather_hourly.sh i bsh filen.

weather_hourly.bsh
Code: Select all
execFile("/home/pi/nexahome/weather_hourly.sh");
startTimer("weather_hourly.bat.output", 15);
startTimer("weather_hourly", 10 * 60);
hideOutput();
hekj
 
Posts: 978
Joined: Mon Jan 05, 2009 10:34 am
Location: Stockholm

Re: Väderkoefficient

Postby Pee » Mon Oct 27, 2014 10:55 pm

hekj wrote:Ja, så ska det se ut (ett antal namn/värde-par).

Jag glömde att tala om att de som inte kör på en windows-burk måste ange fullständig sökväg till weather_hourly.sh i bsh filen.

weather_hourly.bsh
Code: Select all
execFile("/home/pi/nexahome/weather_hourly.sh");
startTimer("weather_hourly.bat.output", 15);
startTimer("weather_hourly", 10 * 60);
hideOutput();

Det är inte lätt med användare som inte förstår något själv. :oops:
Nu verkar det funka. Det enda som inte lirar helt är "time". Jag började kolla strax före 23 ikväll och då blev time "00" och efter 23:00 blev det "01". Inget som jag skulle sakna men kanske bra att veta för dig.
En sak till föresten, vad anger "precipicn", värde 0%?

Stort tack för ditt tålamod med oss mindre kunniga.
/Pee
Pee
 
Posts: 31
Joined: Mon Sep 08, 2014 5:56 pm

Next

Return to NexaHome

Who is online

Users browsing this forum: No registered users and 4 guests

cron