Väderdata from Weather Underground

jompa68
Proffsmedlem
Posts: 735
Joined: 12 Aug 2012, 08:53
12
Location: Hofors

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 29229 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
mickeys
Medlem
Posts: 80
Joined: 28 Oct 2013, 19:54
11

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
jompa68
Proffsmedlem
Posts: 735
Joined: 12 Aug 2012, 08:53
12
Location: Hofors

Vart har du laddat ner ikonerna ifrån?
Robert
Medlem
Posts: 346
Joined: 17 Oct 2013, 22:40
11

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
Attachments
Väder.rar
(89.25 KiB) Downloaded 724 times
mickeys
Medlem
Posts: 80
Joined: 28 Oct 2013, 19:54
11

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.
vent11
Ny medlem
Posts: 2
Joined: 02 Jan 2014, 15:33
10
Location: Stockholm
Contact:

Tack för informationen, de länkarna kommer absolut att hjälpa mig.
Bisse90
Medlem
Posts: 96
Joined: 01 Dec 2013, 17:43
11

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
jompa68
Proffsmedlem
Posts: 735
Joined: 12 Aug 2012, 08:53
12
Location: Hofors

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 28530 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")
Bisse90
Medlem
Posts: 96
Joined: 01 Dec 2013, 17:43
11

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
Attachments
Väder.png
Väder.png (13.61 KiB) Viewed 28519 times
Johan71
Medlem
Posts: 84
Joined: 24 Jan 2014, 11:46
10

Vad gör jag för fel?
Kan någon posta hur man gör för att få alla funktioner med logos osv?
Attachments
ImageUploadedByTapatalk1395320709.957246.jpg
ImageUploadedByTapatalk1395320709.957246.jpg (189.54 KiB) Viewed 28229 times
MVH Johan
_____________________________
Fibaro Home Center 2
Johan71
Medlem
Posts: 84
Joined: 24 Jan 2014, 11:46
10

Får detta fenomen i HC2
Attachments
hc2.jpg
hc2.jpg (28.47 KiB) Viewed 28191 times
MVH Johan
_____________________________
Fibaro Home Center 2
Christian
Medlem
Posts: 25
Joined: 27 Feb 2014, 15:30
10

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).
Johan71
Medlem
Posts: 84
Joined: 24 Jan 2014, 11:46
10

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.
MVH Johan
_____________________________
Fibaro Home Center 2
Johan71
Medlem
Posts: 84
Joined: 24 Jan 2014, 11:46
10

ok men hur och vad ska det stå i ID:
Attachments
väderrr.jpg
väderrr.jpg (45.11 KiB) Viewed 28118 times
MVH Johan
_____________________________
Fibaro Home Center 2
jompa68
Proffsmedlem
Posts: 735
Joined: 12 Aug 2012, 08:53
12
Location: Hofors

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
Johan71
Medlem
Posts: 84
Joined: 24 Jan 2014, 11:46
10

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, ???
MVH Johan
_____________________________
Fibaro Home Center 2
jompa68
Proffsmedlem
Posts: 735
Joined: 12 Aug 2012, 08:53
12
Location: Hofors

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
Skaven
Medlem
Posts: 48
Joined: 18 Dec 2013, 10:57
10
Location: Falun
Contact:

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 \\
// Sorry About My Spelling I´m Duslectic //
// Ursäkta Min stavning Jag Är Dyslecyiker //
Johan71
Medlem
Posts: 84
Joined: 24 Jan 2014, 11:46
10

Något fel gör jag, för jag får det inte att fungera med värdena.
MVH Johan
_____________________________
Fibaro Home Center 2
Skaven
Medlem
Posts: 48
Joined: 18 Dec 2013, 10:57
10
Location: Falun
Contact:

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
// Sorry About My Spelling I´m Duslectic //
// Ursäkta Min stavning Jag Är Dyslecyiker //
Post Reply