Page 1 of 2

Väderdata from Weather Underground

Posted: 14 Jul 2013, 22:10
by jompa68
http://www.wunderground.com/ finns massor av väderdata som man kan nyttja i sin HC2.
Skärmavbild 2013-07-14 kl. 21.54.06.png
Skärmavbild 2013-07-14 kl. 21.54.06.png (18.93 KiB) Viewed 26412 times
Steg 1: Skapa ett konto på http://www.wunderground.com
Skapa ett gratis konto på http://www.wunderground.com/weather/api/ för att kunna ta del av dessa väder data och skapa en gratis API nyckel.

Steg 2: Skapa en virtuell enhet och knapp med denna kod i (Byt API_KEY mot din egen nyckel)

Code: Select all

-- Setting up the connection data
  FHEM = Net.FHttp("api.wunderground.com")
-- geting info from your Personal Weather Station
  response = FHEM:GET("/api/API_KEY/conditions/forecast/lang:EN/q/pws:IDALARNA23.json")
-- decoding json string to table
  	result = json.decode(response)
  	humidity = result.current_observation.relative_humidity
  	temperature = result.current_observation.temp_c
 	pression = result.current_observation.pressure_mb
  i = 1
while i  <= 300 do
fibaro:log("Temperature: "..temperature.."°C Fuktighet: "..humidity.." Bartryck: "..
pression.." mb")
fibaro:sleep(1000);
  i = i + 1
end
Steg 3: Skapa en scen som var 5:e minut hämtar data från wunderground

Code: Select all

--[[
%% properties
%% autostart
%% globals
local ExecuteTimer = 300 -- Sleep 5min
--]]

while true do 
    fibaro:call(98, "pressButton", "1");
    fibaro:debug(fibaro:getValue(98, "log"))
    fibaro:sleep(ExecuteTimer*1000); 
end
Lycka till! :D

Re: Väderdata from Weather Underground

Posted: 28 Dec 2013, 20:09
by mickeys
Genom att lägga till följande kod så kan ni få era ikoner att ändra sig beroende på vädret:

Code: Select all

function getIcon(icon)
  if (icon == "mostlycloudy") then return 1007
  elseif (icon == "nt_mostlycloudy") then return 1006
  elseif (icon == "partlycloudy") then return 1008
  elseif (icon == "nt_partlycloudy") then return 1009
  elseif (icon == "cloudy") then return 1010
  elseif (icon == "nt_cloudy") then return 1011
  elseif (icon == "clear") then return 1012   
  elseif (icon == "nt_clear") then return 1013
  elseif (icon == "fog") then return 1014
  elseif (icon == "nt_fog") then return 1015
  elseif (icon == "sleet") then return 1016
  elseif (icon == "nt_sleet") then return 1017
  elseif (icon == "snow") then return 1018
  elseif (icon == "nt_snow") then return 1019
  elseif (icon == "chancesnow") then return 1020
  elseif (icon == "nt_chancesnow") then return 1021
  elseif (icon == "sunny") then return 1022
  elseif (icon == "nt_sunny") then return 1023
  elseif (icon == "rain") then return 1024
  elseif (icon == "nt_rain") then return 1025
  elseif (icon == "chancerain") then return 1026
  elseif (icon == "nt_chancerain") then return 1027
  elseif (icon == "tstorms") then return 1028
  elseif (icon == "nt_tstorms") then return 1029
  else return 1003 end
end


-- Setting up the connection data
  FHEM = Net.FHttp("api.wunderground.com")
-- geting info from your Personal Weather Station
  response = FHEM:GET("/api/API_KEY/conditions/forecast/lang:EN/q/pws:IHELSING2.json")
-- decoding json string to table
     result = json.decode(response)
     humidity = result.current_observation.relative_humidity
     temperature = result.current_observation.temp_c
     pression = result.current_observation.pressure_mb
     icon = result.current_observation.icon

      fibaro:call(28, "setProperty", "currentIcon", getIcon(icon));
      i = 1
     while i  <= 300 do
        fibaro:log("Temperature: "..temperature.."°C Fuktighet: "..humidity.." Bartryck: "..
        pression.." mb")
        fibaro:sleep(1000);
        i = i + 1
    end

Re: Väderdata from Weather Underground

Posted: 28 Dec 2013, 22:21
by jompa68
Vart har du laddat ner ikonerna ifrån?

Re: Väderdata from Weather Underground

Posted: 29 Dec 2013, 00:52
by Robert
Jag hittade dom genom en googlesökning. Här under är några. Gå in på http://www.wunderground.com/. Klicka på väderikonen på förstasidan som visar en liten ikon. Välj stil du vill ha och kopiera sen bildens webbadress. Sen behöver man bara ändra http://icons-ak.wxug.com/i/c/i sista bokstaven för bildadressen.

Code: Select all

http://icons-ak.wxug.com/i/c/i/mostlycloudy.gif
http://icons-ak.wxug.com/i/c/i/nt_mostlycloudy.gif
http://icons-ak.wxug.com/i/c/i/partlycloudy.gif
http://icons-ak.wxug.com/i/c/i/nt_partlycloudy.gif
http://icons-ak.wxug.com/i/c/i/cloudy.gif
http://icons-ak.wxug.com/i/c/i/nt_cloudy.gif
http://icons-ak.wxug.com/i/c/i/clear.gif
http://icons-ak.wxug.com/i/c/i/nt_clear.gif
http://icons-ak.wxug.com/i/c/i/fog.gif
http://icons-ak.wxug.com/i/c/i/nt_fog.gif
http://icons-ak.wxug.com/i/c/i/sleet.gif
http://icons-ak.wxug.com/i/c/i/nt_sleet.gif
http://icons-ak.wxug.com/i/c/i/snow.gif
http://icons-ak.wxug.com/i/c/i/nt_snow.gif
http://icons-ak.wxug.com/i/c/i/chancesnow.gif
http://icons-ak.wxug.com/i/c/i/nt_chancesnow.gif
http://icons-ak.wxug.com/i/c/i/sunny.gif
http://icons-ak.wxug.com/i/c/i/nt_sunny.gif
http://icons-ak.wxug.com/i/c/i/rain.gif
http://icons-ak.wxug.com/i/c/i/nt_rain.gif
http://icons-ak.wxug.com/i/c/i/chancerain.gif
http://icons-ak.wxug.com/i/c/i/nt_chancerain.gif
http://icons-ak.wxug.com/i/c/i/tstorms.gif
http://icons-ak.wxug.com/i/c/i/nt_tstorms.gif

Code: Select all

http://icons-ak.wxug.com/i/c/k/mostlycloudy.gif
http://icons-ak.wxug.com/i/c/k/nt_mostlycloudy.gif
http://icons-ak.wxug.com/i/c/k/partlycloudy.gif
http://icons-ak.wxug.com/i/c/k/nt_partlycloudy.gif
http://icons-ak.wxug.com/i/c/k/cloudy.gif
http://icons-ak.wxug.com/i/c/k/nt_cloudy.gif
http://icons-ak.wxug.com/i/c/k/clear.gif
http://icons-ak.wxug.com/i/c/k/nt_clear.gif
http://icons-ak.wxug.com/i/c/k/fog.gif
http://icons-ak.wxug.com/i/c/k/nt_fog.gif
http://icons-ak.wxug.com/i/c/k/sleet.gif
http://icons-ak.wxug.com/i/c/k/nt_sleet.gif
http://icons-ak.wxug.com/i/c/k/snow.gif
http://icons-ak.wxug.com/i/c/k/nt_snow.gif
http://icons-ak.wxug.com/i/c/k/chancesnow.gif
http://icons-ak.wxug.com/i/c/k/nt_chancesnow.gif
http://icons-ak.wxug.com/i/c/k/sunny.gif
http://icons-ak.wxug.com/i/c/k/nt_sunny.gif
http://icons-ak.wxug.com/i/c/k/rain.gif
http://icons-ak.wxug.com/i/c/k/nt_rain.gif
http://icons-ak.wxug.com/i/c/k/chancerain.gif
http://icons-ak.wxug.com/i/c/k/nt_chancerain.gif
http://icons-ak.wxug.com/i/c/k/tstorms.gif
http://icons-ak.wxug.com/i/c/k/nt_tstorms.gif
EDIT: Om man känner sig lat så gjorde jag om ikoner från första delen av detta inlägg till rätt storlek och till rätt format. Bifogat som en .rar fil.

// Robert

Re: Väderdata from Weather Underground

Posted: 29 Dec 2013, 11:02
by mickeys
Jag gjorde först som Robert gjorde men dom blir inte så bra när man skala upp dom. Så jag tog lite olika på nätet MEN jag ska köpa icon-lands väderikoner hade jag tänkt mig.

Ställde en fråga här:
http://www.zwaveforum.se/viewtopic.php?f=22&t=4402
om någon mer ville vara med o dela. Dom är perfekta och finns i rätt storlek och alla som behövs till väder koden.

Re: Väderdata from Weather Underground

Posted: 18 Jan 2014, 15:09
by vent11
Tack för informationen, de länkarna kommer absolut att hjälpa mig.

Re: Väderdata from Weather Underground

Posted: 20 Jan 2014, 19:15
by Bisse90
jompa68 wrote:http://www.wunderground.com/ finns massor av väderdata som man kan nyttja i sin HC2.
Skärmavbild 2013-07-14 kl. 21.54.06.png
Steg 1: Skapa ett konto på http://www.wunderground.com
Skapa ett gratis konto på http://www.wunderground.com/weather/api/ för att kunna ta del av dessa väder data och skapa en gratis API nyckel.

Steg 2: Skapa en virtuell enhet och knapp med denna kod i (Byt API_KEY mot din egen nyckel)

Code: Select all

-- Setting up the connection data
  FHEM = Net.FHttp("api.wunderground.com")
-- geting info from your Personal Weather Station
  response = FHEM:GET("/api/API_KEY/conditions/forecast/lang:EN/q/pws:IDALARNA23.json")
-- decoding json string to table
  	result = json.decode(response)
  	humidity = result.current_observation.relative_humidity
  	temperature = result.current_observation.temp_c
 	pression = result.current_observation.pressure_mb
  i = 1
while i  <= 300 do
fibaro:log("Temperature: "..temperature.."°C Fuktighet: "..humidity.." Bartryck: "..
pression.." mb")
fibaro:sleep(1000);
  i = i + 1
end
Steg 3: Skapa en scen som var 5:e minut hämtar data från wunderground

Code: Select all

--[[
%% properties
%% autostart
%% globals
local ExecuteTimer = 300 -- Sleep 5min
--]]

while true do 
    fibaro:call(98, "pressButton", "1");
    fibaro:debug(fibaro:getValue(98, "log"))
    fibaro:sleep(ExecuteTimer*1000); 
end
Lycka till! :D
Tjena Jompa

bara en liten fråga, finns där någon möjlighet att få värdena för temp,luftfuktighet och tryck att hamna i 3 stycken labels oxå? =)

isåfall hur ser den koden ut?

(försökte få till det men lyckas ej)

tacksam för svar

Mvh Bisse

Re: Väderdata from Weather Underground

Posted: 20 Jan 2014, 19:44
by jompa68
Så här menar du?
Skärmavbild 2014-01-20 kl. 18.44.03.png
Skärmavbild 2014-01-20 kl. 18.44.03.png (32.27 KiB) Viewed 25713 times

Code: Select all


fibaro:call(103, 'setProperty', 'ui.lblTemp.value', temperature.."°C")
fibaro:call(103, 'setProperty', 'ui.lblFukt.value', humidity)
fibaro:call(103, 'setProperty', 'ui.lblBar.value', pression.."bar")
fibaro:call(103, 'setProperty', 'ui.lblVind.value', wind.."km/h")

Re: Väderdata from Weather Underground

Posted: 20 Jan 2014, 20:40
by Bisse90
jompa68 wrote:Så här menar du?
The attachment Skärmavbild 2014-01-20 kl. 18.44.03.png is no longer available

Code: Select all


fibaro:call(103, 'setProperty', 'ui.lblTemp.value', temperature.."°C")
fibaro:call(103, 'setProperty', 'ui.lblFukt.value', humidity)
fibaro:call(103, 'setProperty', 'ui.lblBar.value', pression.."bar")
fibaro:call(103, 'setProperty', 'ui.lblVind.value', wind.."km/h")

precis så jag menar men får det inte att funka, mitt ser ut som på bilden.

koden kommer här nedan

-- Setting up the connection data
FHEM = Net.FHttp("api.wunderground.com")
-- geting info from your Personal Weather Station
response = FHEM:GET("/api/API_Key/conditions/forecast/lang:EN/q/pws:IDALARNA23.json")
-- decoding json string to table
result = json.decode(response)
humidity = result.current_observation.relative_humidity
temperature = result.current_observation.temp_c
pression = result.current_observation.pressure_mb
i = 1
while i <= 300 do
fibaro:log("Temperature: "..temperature.."°C Fuktighet: "..humidity.." Bartryck: "..
pression.." mb")
fibaro:sleep(1000);
i = i + 1
end

fibaro:call(66, 'setProperty', 'ui.lblTemp.value', temperature.."°C")
fibaro:call(66, 'setProperty', 'ui.lblFukt.value', humidity)
fibaro:call(66, 'setProperty', 'ui.lblBar.value', pression.."bar")
fibaro:call(66, 'setProperty', 'ui.lblVind.value', wind.."km/h")

kan du se felet?

P.s tack för all hjälp =)


EDIT: Nu funkar det, inte vindhastighet dock, men det ser inte ut som det är med i koden, eller jag missar något?

mvh bisse

Re: Väderdata from Weather Underground

Posted: 20 Mar 2014, 15:06
by Johan71
Vad gör jag för fel?
Kan någon posta hur man gör för att få alla funktioner med logos osv?

Re: Väderdata from Weather Underground

Posted: 20 Mar 2014, 22:41
by Johan71
Får detta fenomen i HC2

Re: Väderdata from Weather Underground

Posted: 20 Mar 2014, 23:26
by Christian
Johan71 wrote:Får detta fenomen i HC2
Flytta rad 5 till rad 7 så borde det fungera bättre.
Ser också att du behöver ändra ID på rad 10 från 98 till din enhet (som verkar vara 30).

Re: Väderdata from Weather Underground

Posted: 21 Mar 2014, 08:25
by Johan71
Christian wrote:
Johan71 wrote:Får detta fenomen i HC2
Flytta rad 5 till rad 7 så borde det fungera bättre.
Ser också att du behöver ändra ID på rad 10 från 98 till din enhet (som verkar vara 30).
Lysande, det fungerade bra.
Nu är det bara resten kvar.

Re: Väderdata from Weather Underground

Posted: 21 Mar 2014, 17:59
by Johan71
ok men hur och vad ska det stå i ID:

Re: Väderdata from Weather Underground

Posted: 21 Mar 2014, 18:33
by jompa68
på raderna 18-21 har du label namnet.
Så på din temperatur så skriver du i ID raden lblTemp(case sensetiv), på fukt skriver du lblFukt, osv

Re: Väderdata from Weather Underground

Posted: 21 Mar 2014, 19:57
by Johan71
jompa68 wrote:på raderna 18-21 har du label namnet.
Så på din temperatur så skriver du i ID raden lblTemp(case sensetiv), på fukt skriver du lblFukt, osv
ok men värdet (30) innan vart ska det peka?

figaro:call(30, ???

Re: Väderdata from Weather Underground

Posted: 21 Mar 2014, 20:44
by jompa68
Det är din virtuella enhets ID, du ändrar den om det behövs. Du ser ID numret i webbläsarens url när du editerar enheten

Re: Väderdata from Weather Underground

Posted: 21 Mar 2014, 22:36
by Skaven
Kan någon exportera detta skript och lägga upp den brukar bli strul när jag klipp och klistra på min iPad/android, min dator har kernel Panik glöm inte av radera api key innan export :)


// Sorry about my spelling I'm dyslexic and so you know all translations is translate by Google translate so don't complain about my English spelling \\

Re: Väderdata from Weather Underground

Posted: 22 Mar 2014, 00:19
by Johan71
Något fel gör jag, för jag får det inte att fungera med värdena.

Re: Väderdata from Weather Underground

Posted: 22 Mar 2014, 00:22
by Skaven
Johan71 wrote:Något fel gör jag, för jag får det inte att fungera med värdena.
Kan hoppas någon med fungerande config kan exportera så kan man importera den och confa om den då vet man den fungerar och är rätt confad från grunden