Väderkoefficient
Väderkoefficient
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.
Re: Väderkoefficient
Re: Väderkoefficient
Har lagt upp en testversion, den som "vågar" kan testa...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.
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);
Code: Select all
adjustSunlight(45);
start.bsh
Code: Select all
startTimer("sunlight", 240);
Code: Select all
adjustSunlight(0); // TODO set value to > 0 if rain...
startTimer("sunlight", 240);
hideOutput();
http://nexahome.se/NexaHome_RPi_3.8.3.jar
Re: Väderkoefficient
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.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.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(0);
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 scriptetCode: Select all
adjustSunlight(45);
start.bshsunlight.bshCode: Select all
startTimer("sunlight", 240);
http://nexahome.se/NexaHome_3.8.3.jarCode: Select all
adjustSunlight(0); // TODO set value to > 0 if rain... startTimer("sunlight", 240); hideOutput();
http://nexahome.se/NexaHome_RPi_3.8.3.jar
Hoppas att det är någon som vill ta sig an scriptet.
Re: Väderkoefficient
Har lagt upp ytterligare en testversion, ladda hem v3.8.4 samt även nedanstående två filer.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.
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();
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
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);
}
Code: Select all
startTimer("weather_hourly", 30);
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_RPi_3.8.4.jar
Re: Väderkoefficient
Hej Henrik,hekj wrote:Har lagt upp ytterligare en testversion, ladda hem v3.8.4 samt även nedanstående två filer.
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.
/Pee
Re: Väderkoefficient
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ö.
Re: Väderkoefficient
Dom som har fått igång "weather_hourly" kan använda detta script till att förskjuta till/frånslag.Pee wrote: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.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.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(0);
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 scriptetCode: Select all
adjustSunlight(45);
start.bshsunlight.bshCode: Select all
startTimer("sunlight", 240);
http://nexahome.se/NexaHome_3.8.3.jarCode: Select all
adjustSunlight(0); // TODO set value to > 0 if rain... startTimer("sunlight", 240); hideOutput();
http://nexahome.se/NexaHome_RPi_3.8.3.jar
Hoppas att det är någon som vill ta sig an scriptet.
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();
Re: Väderkoefficient
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.Pee wrote:Hej Henrik,hekj wrote:Har lagt upp ytterligare en testversion, ladda hem v3.8.4 samt även nedanstående två filer.
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.
/Pee
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
Saknar filerna /opt/jdk1.8.0/jre/bin/javaw.exe (och /opt/jdk1.8.0/jre/lib/dt.jar).
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
Re: Väderkoefficient
Följande rader måste också uppdateras.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 tillSö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.exeCode: 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
Saknar filerna /opt/jdk1.8.0/jre/bin/javaw.exe (och /opt/jdk1.8.0/jre/lib/dt.jar).
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.
Code: Select all
set JAVAW=%JPATH%/bin/javaw.exe
set JAVA=%JPATH%/bin/java.exe
Code: Select all
which java
Re: Väderkoefficient
Såhär blev det;hekj wrote:Följande rader måste också uppdateras.Vad får du för svar om du skriver nedanstående kommando i ett terminalfönster?Code: Select all
set JAVAW=%JPATH%/bin/javaw.exe set JAVA=%JPATH%/bin/java.exe
Har du provkört weather_hourly.sh manuellt i ett terminalfönster, får du någon output?Code: Select all
which java
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
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 449 times
Re: Väderkoefficient
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"
Code: Select all
pwd
Code: Select all
cd /home/pi/nexahome
Code: Select all
chmod +x weather_hourly.sh
Code: Select all
./weather_hourly.sh
Re: Väderkoefficient
Skapat ny weather_hourly.sh och gjort den körbar.hekj wrote:weather_hourly.shKommando för att kolla i vilken folder man står i.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"
Att ställa sig i rätt folder.Code: Select all
pwd
Att göra sh filen exekverbar.Code: Select all
cd /home/pi/nexahome
Att provköra sh filen.Code: Select all
chmod +x weather_hourly.sh
Code: Select all
./weather_hourly.sh
Code: Select all
pi@raspberrypi ~/nexahome $ ./weather_hourly.sh
time=00
img=<img alt="Växlande molnighet" src="http://img.s-msn.com/tenant/amp/entityid/BBaM7D.img?m=6&o=true&u=true&n=true&w=30&h=30" title="Växlande molnighet" />
skytext=Växlande molnighet
temp=12°
precipicn=0%
/Pee
Re: Väderkoefficient
Ja, så ska det se ut (ett antal namn/värde-par).Pee wrote:Skapat ny weather_hourly.sh och gjort den körbar.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 foundCode: Select all
pi@raspberrypi ~/nexahome $ ./weather_hourly.sh time=00 img=<img alt="Växlande molnighet" src="http://img.s-msn.com/tenant/amp/entityid/BBaM7D.img?m=6&o=true&u=true&n=true&w=30&h=30" title="Växlande molnighet" /> skytext=Växlande molnighet temp=12° precipicn=0%
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();
Re: Väderkoefficient
Det är inte lätt med användare som inte förstår något själv.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.bshCode: Select all
execFile("/home/pi/nexahome/weather_hourly.sh"); startTimer("weather_hourly.bat.output", 15); startTimer("weather_hourly", 10 * 60); hideOutput();
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