LinuxMCE Forums

General => Developers => Topic started by: tschak909 on July 18, 2013, 07:33:38 am

Title: Developing a Weather Plugin, videos
Post by: tschak909 on July 18, 2013, 07:33:38 am
Hello everybody.

I am doing a series of videos detailing the creation of a Weather Plugin, as an example of how to use Plugins to add whole house functionality to Orbiter.

The first video can be viewed here: https://vimeo.com/70533158

-Thom
Title: Re: Developing a Weather Plugin, videos
Post by: bushtech on July 18, 2013, 03:39:59 pm
Hi Thom

Great stuff, thank you.

Would it be possible to link a Davis weather station to lmce?

Dries
Title: Re: Developing a Weather Plugin, videos
Post by: posde on July 18, 2013, 04:35:54 pm
bushtech,

every device that has an open protocol can be linked to LinuxMCE.
Title: Re: Developing a Weather Plugin, videos
Post by: bushtech on July 18, 2013, 05:45:37 pm
I am pretty sure that the Davis software is not open protocol but the data is readily usable. Quite a couple of programs are available to utilise the data. I use weewx to watch the web interface on any computer on my network which also pushes it to wunderground. My weather station can be seen here : http://www.wunderground.com/weatherstation/WXDailyHistory.asp?ID=INORTHWE6&graphspan=day&month=7&day=18&year=2013

Is it possible to replace the flickr screensaver with this web interface?. Or overlay this over the screensaver? (bushtech dreaming)
Title: Re: Developing a Weather Plugin, videos
Post by: tschak909 on July 18, 2013, 05:55:24 pm
You would need to alter Orbiter to do this, as we currently have some dependency on Photo_Screen_Saver whenever there isn't video playing. Also, not too sure you could do this, and have it not look like ass.

-Thom
Title: Re: Developing a Weather Plugin, videos
Post by: bushtech on July 18, 2013, 07:37:06 pm
Thanks Thom

Not being some whizzbang scriptkiddie nor up to hacking Davis software this will have to stay on my dreamlist.

But thanks for clarifying

Dries
Title: Development process and tickets
Post by: mkbrown69 on July 19, 2013, 03:17:23 pm
Thom,

Process question:  In your example, would the same ticket number used to commit the template initially (thus reserving the template ID), be used when later committing the C++ code?  Or would a second ticket need to be created, because (ideally) the first is closed when the sqlcvs commit is completed?

On a similar note, let's say I had a GSD based template with a working (but not feature complete) driver, which I want to get out into the wild.  Would later commits use the same ticket, or a new one?

Just trying to understand what would work best for the core devs... Thanks! 

/Mike
Title: Re: Developing a Weather Plugin, videos
Post by: mkbrown69 on July 19, 2013, 03:28:49 pm
Thom,

Another question, more on the weather side this time.  I'm working on a GSD based driver for the ISY-994i from Universal devices.  It has a "climate module" (a paid for feature), which basically retrieves weather data from Weatherbug and exposes it via it's subscription channel (the means I'm using to integrate it to LMCE).  It works with their irrigation module (another feature module) to handle irrigation systems based on calculated water loss (using a variety of algorithms). It has the following data available to it:

   * Temperature 28.7 °F
   * Temperature High 33 °F
   * Temperature Low 28 °F
   * Feels Like 29 °F
   * Temperature Rate -0.5 °F
   * Humidity 78 %
   * Humidity Rate 3 %/h
   * Pressure 29.86 inches
   * Pressure Rate 0.05 inches/h
   * Dew Point 22 °F
   * Wind Speed 0 mph
   * Wind Average Speed 0 mph
   * Wind Direction NNE
   * Wind Average Direction NNE
   * Gust Speed 0 mph
   * Gust Direction ESE
   * Rain Today 0 inches
   * Light 0 %/h
   * Light Rate 0 %/h
   * Rain Rate 0 inches/h

I've been mulling away thinking about how to integrate it properly.  The thought I had was to create a "Generic Weather Station" template, use that as a child device of the ISY, and push data into it using events.  Would that be a sensible way to proceed, or do you have other thoughts on that?

Thanks for your time!

/Mike

Refs:
Climate module: http://wiki.universal-devices.com/index.php?title=ISY-99i_Series_INSTEON:WeatherBug
Irrigation module: http://wiki.universal-devices.com/index.php?title=ISY-99i/ISY-26_INSTEON:Using_the_WeatherBug_Irrigation_Module
Title: Re: Developing a Weather Plugin, videos
Post by: tschak909 on July 19, 2013, 05:46:36 pm
With Regards to Tickets, it doesn't matter much, we just need to match up sqlCVS comments with their respective tickets. Typically once I do a commit, I close the respective ticket.

As for the weather side of things, yes, a Generic Weather Station pushing events would be sensible. The Weather Plugin would intercept them, and keep state straight.

The goal here is to have Orbiter ask for the data via the Get Data method to the Weather Plugin, which will be used to fill in the appropriate information.

The thing that your weather interface needs to do, is also provide the general weather information on "Thunderstorms" etc.

Nominally, I am somewhat against having a dedicated weather station, because quite frankly, you can get a lot more data from outside services, and the different weather stations will only return some of the data that you would get from either a NOAA transmission, or Weather.com, etc. with regards to what not only is happening right now, but what will happen tomorrow, next few days, etc.

For a good indication of what I am going after, look at the screenshots for MythWeather.

-Thom
Title: Re: Developing a Weather Plugin, videos
Post by: posde on July 19, 2013, 05:52:51 pm
NOAA et al have the problem of not being widely usable. In my case, weather data can only be queried for a location 10mls away, which, quite often, is different from the local weather.
Title: Re: Developing a Weather Plugin, videos
Post by: mkbrown69 on July 19, 2013, 06:21:51 pm
Thanks Thom and Posde!

I'm familiar with MythWeather; in my case, it can leverage Environment Canada forecasts, and I have used it in the past.

Would the weather plugin be able to handle an aggregate of weather sources?  Let's say an internet forecast (like from Env. Can), plus real-time (or near real-time) conditions data from a local weather station or something like WeatherBug or WeatherUnderground?

Thanks!

/Mike
Title: Re: Developing a Weather Plugin, videos
Post by: tschak909 on July 19, 2013, 06:26:21 pm
hmm. always trying to make my life a living hell, hm? ;)

It could, priority device data could be added to the weather devices, so that devices with a higher priority would replace data from devices with a lower priority.

Please let's not feature creep this too much for a first version. Please.

-Thom
Title: Re: Developing a Weather Plugin, videos
Post by: mkbrown69 on July 19, 2013, 08:23:36 pm
hmm. always trying to make my life a living hell, hm? ;)
It's a talent...  ;D

Hey, I was just asking...  But if you could pull it off, it would probably make a lot of folks happy.  That way, anyone who had a local device (1-wire, Davis/Oregon Weather station, etc) could still benefit from local, relevant data, plus get a long-range type forecast with other meta-data (Radar/Sat imagery, 5 day forecast, etc).

Otherwise, there's always work-arounds... I've got a basement with lots of gaffers tape available...  ;D

Thanks!

/Mike
Title: Re: Developing a Weather Plugin, videos
Post by: tschak909 on July 23, 2013, 06:41:24 am
Is anyone watching these? should I keep making them?

It's an apt and honest question.

-Thom
Title: Re: Developing a Weather Plugin, videos
Post by: posde on July 23, 2013, 06:54:19 am
They are always appreciated, even if not watched right away.
Title: Re: Developing a Weather Plugin, videos
Post by: bushtech on July 23, 2013, 11:55:15 am
Yep, watching with bated breath :)
Title: Re: Developing a Weather Plugin, videos
Post by: mkbrown69 on July 24, 2013, 04:37:56 am
I watched your first one on the weather plugin, which triggered the followon discussion.  Got the GSD Set Device Data stuff working; still plugging away on other template features.

Thanks!

/Mike
Title: Re: Developing a Weather Plugin, videos
Post by: jamo on July 24, 2013, 11:19:05 am
Is anyone watching these? should I keep making them?

It's an apt and honest question.

-Thom
Yes, and YES.
Excellent video. Darn, if only I'd watched this before I mucked about with sqlCVS the first time.
Title: Re: Developing a Weather Plugin, videos
Post by: coley on July 24, 2013, 12:58:42 pm
Is anyone watching these? should I keep making them?

It's an apt and honest question.

-Thom
Yep watching and learning, thanks for doing these.
-Coley.
Title: Re: Developing a Weather Plugin, videos
Post by: mkbrown69 on July 24, 2013, 04:48:48 pm
Yes, and YES.
Excellent video. Darn, if only I'd watched this before I mucked about with sqlCVS the first time.
+1  ;)
Title: Re: Developing a Weather Plugin, videos
Post by: WhateverFits on July 24, 2013, 09:54:51 pm
I just watched this first video. I've found that without a primer like this, I've flailed around too long and hard to get anything done. This is already helping. Thanks!
Title: Re: Developing a Weather Plugin, videos
Post by: tschak909 on July 24, 2013, 09:56:19 pm
Dude, you realize you can come on IRC, in the -devel channel, and just ASK me questions, right? ;)

-Thom
Title: Re: Developing a Weather Plugin, videos
Post by: WhateverFits on July 24, 2013, 10:05:54 pm
Yeah, I do. I guess I'm just mule headed some times. :-\

I've finally caught up on integrating all the devices that I own (except for my stupid ZWave controller that never seems to work right) and I now need to start developing more stuff. I should hop back onto creating the devices that you asked about a while back.
Title: Re: Developing a Weather Plugin, videos
Post by: mkbrown69 on July 25, 2013, 04:31:12 am
It's an apt and honest question.

-Thom

Thom,

You've put your finger right on the problem...

Code: [Select]
sudo apt-get install thom
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Couldn't find package thom

So, until then, I think I can safely say we all appreciate your videos (even if we don't get to them right away), because they walk us through the complexities of the internals of LMCE.  Now that you're a new dad (congrats BTW, she's adorable!), you'll start to learn that a lot of what you do now won't always be immediately visible or rewarding, but often lays the foundations for others to grow in their own way, at their own pace.  Us newbies playing at being devs need a mentor, one who will be patient with us, let us make our mistakes or try to figure things out for ourselves; that's how we'll really learn it.

Cheers!

/Mike
Title: Re: Developing a Weather Plugin, videos
Post by: tschak909 on July 27, 2013, 05:13:39 am
A new video has been uploaded: https://vimeo.com/71142359

This one shows the Orbiter side of things, and the relevant code in the Weather Plugin that intercepts events. The only part I didn't show (I forgot to put it in there) was the code for Get_Weather_Data...nothing special there, you can see it in src/Weather_Plugin, it just gets the data out of the weather data map, and returns it, in addition to calling CMD_Set_Variable() to set the Orbiter variables. It knows where to send the message, because the Orbiter is sending the Get Weather Data Message, (the Orbiter Device ID becomes the From device).

Variable substitution is shown, as is an explanation of Alternate Graphic files, and how they are used with Set Graphic Image, to provide the iconic display.

Let me know if you have any questions,
-Thom
Title: Re:
Post by: LennyB on July 27, 2013, 09:39:28 am
Wow another great video Thom.  I think the background audio might be a little loud in some places as it drowned out your voice and made it difficult to hear clearly, but you can still get the gist of it in those parts anyway. Thanks for your time in
making these, they are really valuable.

. LennyB



Sent from my Nexus 4 using Tapatalk 4 Beta
Title: Re: Developing a Weather Plugin, videos
Post by: tschak909 on July 29, 2013, 11:49:14 pm
Adding some stills, this time from the 3-day forecast. Note the button group to select views is now available, but they currently are not active.

Alternate graphic IDs are used to turn button states on/off, without disturbing any of the other graphics.

-Thom

(https://sphotos-a-dfw.xx.fbcdn.net/hphotos-ash3/524275_10151485919357115_144248390_n.jpg)
(https://sphotos-a-dfw.xx.fbcdn.net/hphotos-prn1/945747_10151485919372115_1580914654_n.jpg)
(https://sphotos-b-dfw.xx.fbcdn.net/hphotos-ash3/994530_10151485919362115_11081090_n.jpg)
Title: Re: Developing a Weather Plugin, videos
Post by: tschak909 on July 30, 2013, 12:01:01 am
This is the test harness script, that I am using to test the Weather Plugin, as you see, it's just MessageSends:

Code: [Select]
/usr/pluto/bin/MessageSend localhost 0 -1001 2 91 35 "location" 30 "Denton"
/usr/pluto/bin/MessageSend localhost 0 -1001 2 91 35 "data_age" 30 "Data Updated: 32 seconds ago."
/usr/pluto/bin/MessageSend localhost 0 -1001 2 91 35 "condtext_day1" 30 "Sunny"
/usr/pluto/bin/MessageSend localhost 0 -1001 2 91 35 "condtext_day2" 30 "Cloudy"
/usr/pluto/bin/MessageSend localhost 0 -1001 2 91 35 "condtext_day3" 30 "Partially Cloudy"
/usr/pluto/bin/MessageSend localhost 0 -1001 2 91 35 "condicon_day1" 30 "2"
/usr/pluto/bin/MessageSend localhost 0 -1001 2 91 35 "condicon_day2" 30 "4"
/usr/pluto/bin/MessageSend localhost 0 -1001 2 91 35 "condicon_day3" 30 "6"
/usr/pluto/bin/MessageSend localhost 0 -1001 2 91 35 "temp_hi_day1" 30 "91°F"
/usr/pluto/bin/MessageSend localhost 0 -1001 2 91 35 "temp_lo_day1" 30 "73°F"
/usr/pluto/bin/MessageSend localhost 0 -1001 2 91 35 "temp_hi_day2" 30 "84°F"
/usr/pluto/bin/MessageSend localhost 0 -1001 2 91 35 "temp_lo_day2" 30 "71°F"
/usr/pluto/bin/MessageSend localhost 0 -1001 2 91 35 "temp_hi_day3" 30 "87°F"
/usr/pluto/bin/MessageSend localhost 0 -1001 2 91 35 "temp_lo_day3" 30 "74°F"
/usr/pluto/bin/MessageSend localhost 0 -1001 2 91 35 "dow_day1" 30 "Monday"
/usr/pluto/bin/MessageSend localhost 0 -1001 2 91 35 "dow_day2" 30 "Tuesday"
/usr/pluto/bin/MessageSend localhost 0 -1001 2 91 35 "dow_day3" 30 "Wednesday"
Title: Re: Developing a Weather Plugin, videos
Post by: mkbrown69 on July 30, 2013, 04:35:37 am
Looks good Thom!

I've got a question for you: is there a global installation option anywhere that specifies the user's desired unit of measurement?  You're showing all your temps in Fahrenheit, and some of the thermostat GSD's are hardcoded for Celcius... There is a template parameter for Temperature measurement units, but that's device specific, not installation wide.

Thanks!

/Mike
Title: Re: Developing a Weather Plugin, videos
Post by: tschak909 on July 30, 2013, 05:18:21 am
This is being discussed. Most likely it will consist of adding parameter for unit to commands and events, as well as device data in the climate plugin to specify display units.
Title: Re: Developing a Weather Plugin, videos
Post by: tschak909 on August 05, 2013, 03:52:11 am
An update in screenshots and small video snippets.

I am still working on the Orbiter facing stuff, and working around some of the interesting pitfalls that can happen when you try to push a LOT of data to orbiter screens.

A series of workshop videos are coming, but I still need to work out some of the bugs, before I can do this. But for now:

Forecast
(http://i.imgur.com/bIb1Q4V.jpg)

3-day:
https://fbcdn-sphotos-a-a.akamaihd.net/hphotos-ak-ash3/1090993_10151485919357115_144248390_o.jpg
https://fbcdn-sphotos-h-a.akamaihd.net/hphotos-ak-prn2/976455_10151485919362115_11081090_o.jpg

6-day forecast:
(https://fbcdn-sphotos-b-a.akamaihd.net/hphotos-ak-frc3/980020_10151492998287115_895773349_o.jpg)
(https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-ash4/1009268_10151492998532115_884747511_o.jpg)

Radar View:
http://www.youtube.com/watch?v=Bs1lHGGyAMY <-- UI2 TV
http://www.youtube.com/watch?v=T3O19SpmrI0 <-- UI1 Archos Tablet
http://www.youtube.com/watch?v=mO3U69uurIo <-- UI1 Joggler

Enjoy, more knowledge coming.
-Thom
Title: Re: Developing a Weather Plugin, videos
Post by: coley on August 06, 2013, 06:55:36 pm
 8) Great stuff there.

-Coley.
Title: Re: Developing a Weather Plugin, videos
Post by: tschak909 on August 15, 2013, 12:01:16 am
Did a quick preview, now that I have tied together the UI.

Note that the current weather icon is displayed on the main page. This is updated when the weather data changes.

Enjoy,
http://www.youtube.com/watch?v=ofw-yYRRbts

-Thom
Title: Re: Developing a Weather Plugin, videos
Post by: tschak909 on August 18, 2013, 02:51:12 am
For those who are curious, yes, another video will be coming, with all the errata, addendums, etc, that I had bumped into while developing the Weather Plugin.

I can't record it yet, because I have not had an opportunity to do so. My wife is in mother mode, and has permanently camped herself in the living room, which is adjacent to the kitchen, which is adjacent to the den, where I work; there are no doors in between, so everything bleeds through. I do not have a studio, like I once had to do the voiceovers, so I am having to wait until the house is quiet enough, and there isn't a risk of a baby waking up, so I can do the next video.

Until then, the Weather Plugin has been checked into the repository, the events it intercepts are considered frozen, as are the various variable names it expects, so this can be used by others to create a weather device to populate the weather plugin.

You can see an example of how to use MessageSend to emit the appropriate events inside the source tree:

http://svn.linuxmce.org/trac.cgi/browser/trunk/src/Weather/weather-test.sh

If somebody wants to take a stab at implementing the Weather c++ device, then go for it.

-Thom

p.s. yes, the Value parameters are full integers. I see NO point in decimal points for weather values, none. If someone can convince me of a valid reason to use floating point values, I will change this.

p.p.s. in the weather-test.sh, yes the event passed is event 91, which is a outside temperature change. This should be changed on each line for each relevant piece of data, (temperature for temperature events, humidity for humidity events etc..) this works because (1) the weather events ALL use the same parameters, and (2) all of the weather data goes into the same map, but for the sake of properly intercepting events, please use the correct PK_Event numbers.

Title: Re: Developing a Weather Plugin, videos
Post by: Hackit2me on August 21, 2013, 05:21:31 am
If a picture says a thousand words, a video says TWO thousand.

The videos is what got me interested in MCE in the first place.  Reading documentation is one thing, seeing it in action is another.  I agree, keep making them even if we don't watch them for a bit.
Title: Re: Developing a Weather Plugin, videos
Post by: mkbrown69 on August 24, 2013, 05:08:06 pm
p.s. yes, the Value parameters are full integers. I see NO point in decimal points for weather values, none. If someone can convince me of a valid reason to use floating point values, I will change this.
Thom,

I've been mulling this over for a bit.  Something to consider is that some other sources of weather/temperature data return floating point data (WeatherBug, Environment Canada, Davis/Oregon weather stations, thermostat API's, 1-Wire, etc).  To take the weather plugin to the next level, we'll need to do something with that data.  That usually means doing comparisons...

Pseudo-event code criteria
Code: [Select]
If $outside_temp < $inside_temp and $outside_temp > 0 then
   Disable A/C unit
   enable external air baffle and whole house fan
End

So, if the weather plugin uses integers, all other drivers will have to do type conversions.  Fahrenheit to Celcius conversions (and vice versa) would also need to be rounded to the nearest integer.  So, that may complicate all the drivers that have to interact with the weather plugin.

Just something to consider...

/Mike
Title: Re: Developing a Weather Plugin, videos
Post by: tschak909 on August 24, 2013, 06:53:37 pm
You're overthinking this. ;)

The Weather Plugin does not know or understand that there are weather devices out there, nor that it even cares.

I saw no reason whatsoever to futz over a point degree difference, when it comes to the outside weather, because depending on where you are outside, this can fluctuate a lot. It simply does not matter.

The different weather APIs return textual data as strings. WE HAVE TO DO A TYPE CONVERSION, ANYWAY as part of the parsing process. :) (This is something that all you guys who write scripting languages all day, don't have to deal with, with your language magically converting everything).

The REASON that the integer values are here anyway, is precisely for the case you outline below, it's so that you can match things in event criteria. The weather plugin expects BOTH the integer values and the textual values to be returned as part of the event.

As for F to C conversions, this is something that is being decided, e.g. to put the F/C in device data, and have the weather devices read this (The weather plugin does not care, it's just a cubby hole), it's up to the weather devices to do the necessary conversions.

-Thom
Title: Re: Developing a Weather Plugin, videos
Post by: mkbrown69 on August 25, 2013, 04:54:27 am
You're overthinking this. ;)
Bad habit from work... I'm busy writing techical architecture design specifications where the overarching reference architecture docs the enterprise types are supposed to have gotten to us, haven't been written yet... Lots o fun  :P

The different weather APIs return textual data as strings. WE HAVE TO DO A TYPE CONVERSION, ANYWAY as part of the parsing process. :) (This is something that all you guys who write scripting languages all day, don't have to deal with, with your language magically converting everything).

The REASON that the integer values are here anyway, is precisely for the case you outline below, it's so that you can match things in event criteria. The weather plugin expects BOTH the integer values and the textual values to be returned as part of the event.

As for F to C conversions, this is something that is being decided, e.g. to put the F/C in device data, and have the weather devices read this (The weather plugin does not care, it's just a cubby hole), it's up to the weather devices to do the necessary conversions.

Fair enough... I'll kick the tires on it when I get the ISY driver out in the wild.  My plans are to get the CT-80 driver out in the next couple of weeks, the first cut ISY driver out in late September/early October, and then upgrade to 12.04 to work on a bunch of things, including integrating with the weather plugin for the ISY driver and the CT-80.

Thanks for the excellent summary on how the plugin works.  It'll give me a lot to think about over the next little while.

/Mike
Title: Re: Developing a Weather Plugin, videos
Post by: tschak909 on August 25, 2013, 07:11:00 am
If you want to see the code, it's here:

http://svn.linuxmce.org/trac.cgi/browser/trunk/src/Weather_PlugIn

:)

-Thom
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on July 08, 2014, 04:26:24 pm
Hi Thom

i try this on 12.04  and 10.04

on 10.04  is working  but on 12.04  not .

i checked the templates and are completely different.


Title: Re: Developing a Weather Plugin, videos
Post by: tschak909 on July 08, 2014, 10:45:33 pm
Very surprised as I did not write the code for 10.04, but for 12.04, and it needs to be compiled, anyway.. The Plugin is there, however, the DEVICE that emits the events needs to be written.

-Thom
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on July 13, 2014, 06:12:34 pm
HI Thom

for my test  i write  a php script  that grab info  from worldweatheronline

and the condicon  is changing  but other  values not !


Title: Re: Developing a Weather Plugin, videos
Post by: darkwizard864 on December 10, 2014, 07:29:43 am
cf
I couldn't get your test script to work at all.
could I get your help making one for weather.com based
Title: Re: Developing a Weather Plugin, videos
Post by: phenigma on December 10, 2014, 02:47:30 pm
Portions of the weather plugin were missing from the binary releases up until about 8 weeks ago.  Some changes may have occurred during that addition.  All missing graphics should now be available and all items *should* update based on Thom's initial test script.

J.
Title: Re: Developing a Weather Plugin, videos
Post by: bherbie on December 10, 2014, 10:00:40 pm
Quote
I couldn't get your test script to work at all.
could I get your help making one for weather.com based

This is not my script but I did try it out and made some improvements to it as it did not work for me as listed.  First, if you aren't running the script from /var/www/lmce-admin directory, you will need to change the required file path to find the included file.  Also, if your city name has a space in it, like my city does and many others (i.e. San Antonoio, Las Vegas, etc.) you will need to urlencode the city name returned from the database query or the script fails.

Other then that, the script works fine in my testing...

HTH,
herb
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on December 11, 2014, 11:00:54 am
darkwizard864

I know weather.com not have an api or xml service. then it gets a little tricky to do the work script.

but let's see if I can help you what's wrong?


Carlos
Title: Re: Developing a Weather Plugin, videos
Post by: darkwizard864 on December 13, 2014, 03:17:53 am
I was tring to get to do f instead of c
plus was gona gt to do rest of what it needs 3-6 day .
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on December 13, 2014, 07:00:03 pm

i update the script  and  now  have  3 variables to configure 

to change from "C"  to "F"

uncomment the lines

#$temp_type="F";
#$temp_current="temp_F";
#$temp_max="tempMaxF";
#$temp_min="tempMinF";


Title: Re: Developing a Weather Plugin, videos
Post by: darkwizard864 on December 13, 2014, 07:47:22 pm
all good but a few problems it Spanish or something.. I change the c to f nothing works right local cast say just f
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on December 13, 2014, 08:18:14 pm
when change  C to F   you used capital letters ?

sorry  for that  the language.

days off week  is in portugues .

you can  change   "Domingo"  to "Sunday"
                          'Seguna-Feira" to "Monday"  ....
Title: Re: Developing a Weather Plugin, videos
Post by: posde on December 13, 2014, 08:29:49 pm
cfernandes,

is there a reason why you don't use the PHP function date to return the longname of the day of the week? That way, the text is in the local configured language.
Title: Re: Developing a Weather Plugin, videos
Post by: darkwizard864 on December 13, 2014, 08:42:46 pm
when change  C to F   you used capital letters ? yes
look like this
$temp_type="F";
$temp_current="temp_F";
$temp_max="tempMaxF";
$temp_min="tempMinF";
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on December 13, 2014, 09:15:01 pm
posde

this script is only one test  that  i build .

is simple to use php longname

a make the corrections .


 
Title: Re: Developing a Weather Plugin, videos
Post by: posde on December 13, 2014, 09:20:56 pm
:)

Isn't it nice that sometimes build-in functions save a lot of code AND improve internationalisation.

Thank you!
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on December 13, 2014, 09:30:43 pm
another thing  on this test script  is  that i use a local  url  from brazil  to get   textual forecast for my area.

the variable on script 

$url2="http://www.climatempo.com.br/rss/destaque.xml"
 
this  need to changed.

i need to search other sites  that offer this services.

if some one know some sites   i can test.
Title: Re: Developing a Weather Plugin, videos
Post by: darkwizard864 on December 13, 2014, 09:36:03 pm
yahoo does it?
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on December 13, 2014, 10:06:10 pm
i'll try
Title: Re: Developing a Weather Plugin, videos
Post by: mkbrown69 on December 15, 2014, 04:37:48 am
Thanks for building the updated packages for the weather plugin!

I was starting to think that the plugin wouldn't work with RoamingOrb & proxy orbitor, or that I hadn't configured the plugin properly, as it wasn't working with the test harness.  With the new packages, it's now working, and I can see the results in RoamingOrb.

One thing I did notice in RoamingOrb, is that when I tap the radar image button (and there isn't a radar image to go to, tapping any button (like the home button) causes the proxy orbitor to die.  It's reproducible, and I did manage to get a clean log trace from restart through to crash.  This is the tail end, where it died.

Code: [Select]
05      12/14/14 22:12:01.655           Socket::ReceiveData 0x8dedd88 failed, b
ytes left 0 start: 660000 1: 0 1b: 0 2: 0 2b: 0 m_Socket: 5 Event Dev #38 <0xb76d2
b40>
05      12/14/14 22:12:01.655           Socket::ReceiveString2 ReceiveData fail
ed m_Socket: -1 Event Dev #38 <0xb76d2b40>
05      12/14/14 22:12:01.655           Socket::SendReceiveMessage didn't get v
alid response ReceiveData failed <0xb76d2b40>
05      12/14/14 22:12:01.655           InternalSendCommand cannot send with re
turn message.  type 1 id 84 to 423 Going to quit <0xb76d2b40>
05      12/14/14 22:12:01.658           Socket::ReceiveData 0x8de57e0 failed, b
ytes left 0 start: 600000 1: 0 1b: 0 2: 0 2b: 0 m_Socket: 6 Command_Impl1 Dev #38
<0xb5fffb40>
05      12/14/14 22:12:01.659           Socket::ReceiveString2 ReceiveData fail
ed m_Socket: -1 Command_Impl1 Dev #38 <0xb5fffb40>
05      12/14/14 22:12:02.000           Socket::ReceiveData 0x8de8ff8 failed, b
ytes left 0 start: 660000 1: 0 1b: 0 2: 0 2b: 0 m_Socket: 4 Event Dev #38 <0xb57fe
b40>
05      12/14/14 22:12:02.000           Socket::ReceiveString2 ReceiveData fail
ed m_Socket: -1 Event Dev #38 <0xb57feb40>
01      12/14/14 22:12:02.000           Socket::PingFailed 0x8de8ff8 Event Dev
#38 (socket id in destructor: -1 0x8de57e0, ch: (nil)) <0xb57feb40>
01      12/14/14 22:12:02.001           Socket::PingFailed 0x8de57e0 Command_Im
pl1 Dev #38 (socket id in destructor: -1 (nil), ch: (nil)) <0xb57feb40>
05      12/14/14 22:12:04.246           TCPIP: Closing connection to -1 (Proxy_
Orbiter) 0xb60005e0 m_Socket: 10 <0xb3afcb40>
05      12/14/14 22:12:04.448           Dropping all sockets... <0xb76d4700>
05      12/14/14 22:12:04.459           Done dropping sockets! <0xb76d4700>
05      12/14/14 22:12:04.460           Socket::SendData socket is invalid <
0xb76d4700>
05      12/14/14 22:12:04.460           Socket::SendMessage *failed to send* ty
pe 1 id 255 from 38 to 9 <0xb76d4700>
05      12/14/14 22:12:04.460           InternalSendCommand cannot send with re
turn message.  type 1 id 255 to 9 Going to quit <0xb76d4700>
05      12/14/14 22:12:04.460           Orbiter reloading... <0xb76d4700>
05      12/14/14 22:12:04.460           Orbiter quiting... <0xb76d4700>
05      12/14/14 22:12:04.460           Got an on quit.  Pushing an event into
SDL <0xb76d4700>
05      12/14/14 22:12:04.460           Got an on quit.  Pushing an event into
SDL <0xb76d4700>


Want me to file a Trac ticket?  I have a complete log trace from the proxy orbitor re-spawning to where it quits.  It might need a default "No Radar image" image file...

Now that Universal Devices has released the new firmware for the ISY-994i with HAM Weather support (replacing the previous Weatherbug support), I now plan on adding support for the LMCE weather plugin to my ISY GSD driver.  It'll go a lot smoother now that I know I didn't mess up anything with the weather plugin.

Cheers!

/Mike
Title: Re: Developing a Weather Plugin, videos
Post by: darkwizard864 on December 17, 2014, 04:33:49 am
cf

any luck with yahoo?
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on December 20, 2014, 02:11:47 pm
i make some progress  using  worldweatheronline.com

now i need to fix  some records from  install table 
Title: Re: Developing a Weather Plugin, videos
Post by: darkwizard864 on December 21, 2014, 03:49:34 am
nice
I can test it after your done if you like.
Title: Re: Developing a Weather Plugin, videos
Post by: mkbrown69 on December 22, 2014, 04:10:19 am
Thom,

Looks like there's a missing graphic file that's causing the proxy orbitor to crash when selecting the radar button, if there isn't a radar graphic in the feed.  I would've filed it into Trac, but it doesn't seem to use the same credentials as the forum.

In the file here:  http://svn.linuxmce.org/trac/browser/trunk/src/Weather_PlugIn/Weather_PlugIn.cpp

Line 54 references #define FILE_NO_RADAR_DATA "/usr/pluto/share/weather_no_radar_data.jpg"

That file is not present in the latest packages.  Everything else seems to be working fine though!

I've got current conditions going from the ISY driver to the weather plugin, and it's working well. Just working on getting all the forecast stuff parsing properly from the ISY subscription feed, and then that'll be straight forward to feed into your weather plugin.

Excellent work!  Thanks!

/Mike
Title: Re: Developing a Weather Plugin, videos
Post by: phenigma on December 22, 2014, 11:51:50 pm
tschak, ill as he is today, has provided an image and the Weather_Plugin package will be updated in the next 24-48hrs and will include the missing image.  Thanks mkbrown69!

J.
Title: Re: Developing a Weather Plugin, videos
Post by: mkbrown69 on December 23, 2014, 05:17:23 am
Thanks Thom and Phenigma! 

Much appreciated!  I hope Thom's feeling better soon, so he can enjoy the holidays!

(Unfortunately, you have to get used to it;  when you have young kids, they pretty much get sick every winter for the first 6 years.  Been there, done that twice; now dealing with the "tween" stage  ;) )

Happy Holidays to the LMCE community!

/Mike
Title: Re: Developing a Weather Plugin, videos
Post by: SBCC on February 04, 2015, 02:30:22 am
Hi

Is someone working on a device template for the USA here? I was thinking of starting something but if someone is working on it already it would make more sense to wait. Let me know and let me know if I can help.

Thanks

Jim
Title: Re: Developing a Weather Plugin, videos
Post by: phenigma on February 04, 2015, 02:42:48 am
And...  If anyone has anything near functional I am happy to work to help integrate that functionality into the system.  :-)

J.
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on February 04, 2015, 10:45:10 am
Hi J.

ig you hame  some  free time we can talk to make my script more efficient

Cfernandes
Title: Re: Developing a Weather Plugin, videos
Post by: phenigma on February 04, 2015, 05:58:47 pm
If you want to post your most recent version I can have a look at how it might integrate into the system and into webadmin for configuration.

J.
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on February 05, 2015, 03:26:48 pm
for now I am seeking information regarding the location in the installation table.
and seeking weather information at:
www.worldweatheronline.com

Title: Re: Developing a Weather Plugin, videos
Post by: phenigma on February 05, 2015, 05:56:56 pm
Are these meant to run from the webadmin?  And as far as the installation table... are you referring to the InstallWizard tables in the database?  I'm not sure what information you're looking for.

J.
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on February 05, 2015, 06:09:02 pm
i need   to know  the city  and state  to find  weather info

i use this query
 "select LC.City,State,Country_code,CC.City as C2,Region FROM Installation LC left join Country C on (LC.FK_Country=C.PK_Country) left join City CC on (LC.FK_city=CC.PK_CITY) left join Region R on (LC.State=R.Code and LC.FK_Country=R.FK_Country"

Title: Re: Developing a Weather Plugin, videos
Post by: SBCC on February 08, 2015, 05:17:18 pm
I took a quick look at this and the API and you can use Lat/Lon, Zipcode, etc. Also this is not free or it is free with complications.
Title: Re: Developing a Weather Plugin, videos
Post by: phenigma on February 08, 2015, 06:59:56 pm
It looks to me like there is a free and premium api.  A user could create a free account which will give full access to local weather data with up to 4000 requests per day.  There is a key generation portion of some kind.  I haven't gone through it all yet. 

http://www.worldweatheronline.com/api/compare.aspx compares the free vs. premium.

Looks like a good world wide source (read: should work everywhere that I can tell) that can use postal codes (here is Canada) or Zip Codes (US) or lat/long.

I have not yet been able to try it.  I am still wondering if the php script is meant to run standalone or within webadmin.

J.
Title: Re: Developing a Weather Plugin, videos
Post by: SBCC on February 08, 2015, 09:37:14 pm
I looked into this a bit more. Looks pretty promising. Each user would have to get their own key, which seems pretty painless. Just give them an email address. I don't see any radar data and looks like only 5 days forecast.

Is the intent with the PHP script to do a call to that from device?
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on February 09, 2015, 11:54:03 am

the api does not have the radar option, however the site has the following animation that I think I can capture it


http://www.worldweatheronline.com/weather-map/6/USA.aspx
Title: Re: Developing a Weather Plugin, videos
Post by: tschak909 on February 09, 2015, 04:43:21 pm
Guys, you can capture all the radar data from weather.com.

If you look in MythWeather's source tree, there is an XML file (maps.xml), that contains all the known radar imagery.

It just needs to be mapped.

-Thom
Title: Re: Developing a Weather Plugin, videos
Post by: SBCC on February 11, 2015, 03:08:09 pm
I'm not real happy with the accuracy of the data coming from WorldWideWeather.com or other world wide weather APIs. The USA has a free accurate service with NOAA.
Title: Re: Developing a Weather Plugin, videos
Post by: posde on February 11, 2015, 05:33:18 pm
Does NOAA cover only the US? I prefer a not perfect weather service that covers my location over a weather service that does accurately cover only other locations. ;)
Title: Re: Developing a Weather Plugin, videos
Post by: phenigma on February 11, 2015, 05:39:56 pm
As posde mentions, our users are worldwide and a service that presents data worldwide is the goal.  If someone wishes to extend that to permit multiple data providers that would be even better  ;D

J.
Title: Re: Developing a Weather Plugin, videos
Post by: SBCC on February 11, 2015, 05:48:44 pm
Only the US. I suppose there could be more than 1.

For accuracy right now World weather had me at "Partly Cloudy, 19F" and it is overcast moderate snow and 27F. Also there is no detailed forecast.

Accuweather looks better but cost $$.

I'm working on a NOAA version now but could easily be modified to any API.
Title: Re: Developing a Weather Plugin, videos
Post by: SBCC on February 11, 2015, 05:54:06 pm
Sorry J didn't see your post. I'm not sure I could do multiple data sources as it may be beyond me. Each service references data differently.
Title: Re: Developing a Weather Plugin, videos
Post by: phenigma on February 11, 2015, 10:19:17 pm
Right now, I envisions something simple, like a webadmin page that allows the user to select an appropriate source.  Perhaps each source is a different script, say.  Then the webadmin selection activates/deactivates the appropriate scripts.  Others may have input into this, but atm that seems the easiest.  Otherwise a source that covers everyone would be ideal.  My $0.02.

J.
Title: Re: Developing a Weather Plugin, videos
Post by: SBCC on February 12, 2015, 10:22:20 pm
Hi J

I am putting together a NOAA addition to your Weather device. I can also do a Open World wide something version as well with maybe an option to select the version. The problem with most of the good, free APIs is they want their logo showing. Any suggestions for that?  I know it is selfish but for the USA the NOAA data is the best so I think having options is looking like the way to go. Thoughts there?

I am almost done with the code and will send it to you if that's ok?

Thanks

Jim
Title: Re: Developing a Weather Plugin, videos
Post by: phenigma on February 13, 2015, 12:10:42 am
SBCC: Yes please!  :D  I'd rather have (than have not).

cfernandes: I'm still looking for some guidance on how I use the script you provided.  I'm not sure what I should do with it/where it should be put.  Is it a standalone script that runs?  Or is it a part of webadmin?

I'm happy to help incorporate this into the system.  I expect we can work out a way to deal with multiple data sources easily.

How do each of your methods work?  Do they poll for weather?  If so at what interval?  Is the interval selectable?  How do we set our locations?  Or can we yet?

If we need a webadmin page to help configure then that can be worked on as well.

You guys tell me what is required and I'll work with you to make it happen/alter requirements as needed, etc...

J.
Title: Re: Developing a Weather Plugin, videos
Post by: SBCC on February 13, 2015, 01:23:28 am
Hi Jason

Right now I am creating the methods to load the data. I suppose we could have the user select a polling interval. Locations I was getting from "SELECT `Zip` FROM `Installation`" but I'm thinking that should be confirmed or having that as default but then can be changed.

Methods can be selected with a user selection like
Code: [Select]
if(NOAA) {
 Get_NOAA_DATA();
} else...
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on February 14, 2015, 12:46:06 pm
Hi J.

I think we could have a script for each data source, and one page in webadmin to configure which we would like, and include your own key api when needed, and also the time interval.

 I believe that the information in the table pluto_main.installation covers all data necessary for the pursuit of climate data.

in my case I can not use the zip. not all sites are located just by zip

 I'm running in cron with every 8 hours
Title: Re: Developing a Weather Plugin, videos
Post by: SBCC on February 16, 2015, 09:50:41 pm
Hi

I have a working device in C++ for NOAA only right now. Other APIs can be added as well and I will probalby start looking into others. It does use curl and jsoncpp. I made use of the Configuration Script data already on the template. Uses are "API:??,lat:??,lon:??,units:??,lang:??". Right now only "API:NOAA" works for API. "units:0" is imperial of deg F. "units:1" is metric but right now the text add "F" to the unit. I will fix that. "lang:english" is english, not sure about others but worth trying whatever. I am still testing but if anyone is interested I could get you the code or binary.

Is there any way to add a "Info By" area to the orbiter so APIs that require that can be used?

Thanks

Jim
 
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on February 17, 2015, 12:39:33 pm
Hi jim,
you can share the code with me, i can help integrate other api.

Carlos Fernandes
Title: Re: Developing a Weather Plugin, videos
Post by: SBCC on February 17, 2015, 11:57:21 pm
Hi Carlos

I am making some changes. I'm trying to add some mutexes and I'm working through how LMCE handles those. I need one for curl and one for the the message sender. Give me a little bit.

Thanks for helping

Jim
Title: Re: Developing a Weather Plugin, videos
Post by: phenigma on February 18, 2015, 02:04:57 am
Sounds like great stuff so far guys!  Keep up the great work!

J.
Title: Re: Developing a Weather Plugin, videos
Post by: SBCC on February 19, 2015, 01:12:19 pm
Hi

Below is a link to the current Weather project folder. This depends on libcurl and libjsoncpp. I still want to add some notes and radar is still not implemented but otherwise works fine for NOAA only. I'm still not sure how the pluto_mutexes work and if they are working but it's been running for a day and no crashes yet. In script in the device web admin page Configuration Data I've added a timer to affect the data update time as "timer:'min'". So "timer:10" would get the web data every 10 minutes. This defaults to 5 minutes. I've added defaults for everything. Feedback is appreciated.

https://www.dropbox.com/sh/nd2jtf4eg2jl8pw/AAB9-De03ogqI3AqRbw4VNIza?dl=0

Thanks

Jim
Title: Re: Developing a Weather Plugin, videos
Post by: totallymaxed on February 20, 2015, 03:14:45 pm
Hello everybody.

I am doing a series of videos detailing the creation of a Weather Plugin, as an example of how to use Plugins to add whole house functionality to Orbiter.

The first video can be viewed here: https://vimeo.com/70533158

-Thom

Nice Video Thom...loving the spaced out soundtrack :-)

Andy
Title: Re: Developing a Weather Plugin, videos
Post by: SBCC on February 21, 2015, 12:13:43 am
Open Weather Map allowed us to use their API for free without adding their name on the orbiter. They only requested that we mention them on the website and any wiki page for the weather screen. If this is OK and can be done I will go ahead and add that API as it works for global weather.
Title: Re: Developing a Weather Plugin, videos
Post by: posde on February 21, 2015, 10:51:50 am
Fine with me.
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on February 24, 2015, 07:28:56 pm
Hi Jim

i made some change  on code, now  is working  with NOAA  and  Word Weather online.
I'll leave running for a few days at home to see if everything is ok!


Carlos
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on February 26, 2015, 11:57:27 am
Jim,

my changes   is:  change NOAA and WWO (word Weather Online) to read  configuration parameter on  web admin.

for NOAA  Configuration is   API:NOAA:language:units:lat:lon 
                            example API:NOAA:english:0:28.53833355:-81.37923649
for WWO  Configuration is   API:WWO:language:apikey:units:city 
                             example API:WWO:pt:0b6d39679dabe54e9749209aa2e54:C:belo_horizonte

my code https://www.dropbox.com/s/3qmrdmo84cfv9gg/weather.tar?dl=0
Title: Re: Developing a Weather Plugin, videos
Post by: phenigma on March 01, 2015, 04:43:30 pm
Hey guys, I've been distracted.  How are things going?  Is there anything I can do to help right now?

J(ason).
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on March 04, 2015, 02:37:57 pm
Hi ,

i finished the code  and resolve some issues 100% use off cpu .

Feedback is appreciated.

https://www.dropbox.com/s/3qmrdmo84cfv9gg/weather.tar?dl=0
Title: Re: Developing a Weather Plugin, videos
Post by: phenigma on March 09, 2015, 11:06:12 pm
Awesome!  I'll check this out over the next couple of days!

J.
Title: Re: Developing a Weather Plugin, videos
Post by: phenigma on March 09, 2015, 11:29:48 pm
Code: [Select]
Weather.cpp: In member function 'virtual bool DCE::Weather::GetConfig()':
Weather.cpp:92:39: error: 'DATA_Get_Configuration' was not declared in this scope
make: *** [Weather.o] Error 1

Looks like I need to run dcegen to populate the base class with the data accessors.

J.
Title: Re: Developing a Weather Plugin, videos
Post by: phenigma on March 09, 2015, 11:48:42 pm
So after DCEGen run I now get a new error.  Looks like an issue with the mutex calls.

Code: [Select]
(1204)root@1404builder:/var/lmce-build/svn/trunk/src/Weather# make clean
for dir in ; do cd $dir; make clean; cd ..; done
rm -f Main.o Weather.o ../Gen_Devices/WeatherBase.o NOAA.o WWO.o Main.d Weather.d ../Gen_Devices/WeatherBase.d NOAA.d WWO.d Weather Weather.so >/dev/null
(1204)root@1404builder:/var/lmce-build/svn/trunk/src/Weather# make bin | tee buildlog.txt
Computing dependencies for WWO.cpp done
Computing dependencies for NOAA.cpp done
Computing dependencies for ../Gen_Devices/WeatherBase.cpp done
Computing dependencies for Weather.cpp done
Computing dependencies for Main.cpp done
g++ -c -I.. -I../DCE -I/usr/include/mysql -DKDE_LMCE -DDEBUG -DTHREAD_LOG -DLOG_ALL_QUERIES  -Wall -fPIC -ggdb3  Main.cpp -o Main.o
g++ -c -I.. -I../DCE -I/usr/include/mysql -DKDE_LMCE -DDEBUG -DTHREAD_LOG -DLOG_ALL_QUERIES  -Wall -fPIC -ggdb3  Weather.cpp -o Weather.o
Weather.cpp: In constructor 'DCE::Weather::Weather(int, std::string, bool, bool, DCE::Router*)':
Weather.cpp:45:83: error: no matching function for call to 'pluto_pthread_mutex_t::pluto_pthread_mutex_t()'
Weather.cpp:45:83: note: candidates are:
../PlutoUtils/MultiThreadIncludes.h:112:2: note: pluto_pthread_mutex_t::pluto_pthread_mutex_t(std::string, bool)
../PlutoUtils/MultiThreadIncludes.h:112:2: note:   candidate expects 2 arguments, 0 provided
../PlutoUtils/MultiThreadIncludes.h:101:7: note: pluto_pthread_mutex_t::pluto_pthread_mutex_t(const pluto_pthread_mutex_t&)
../PlutoUtils/MultiThreadIncludes.h:101:7: note:   candidate expects 1 argument, 0 provided
Weather.cpp:45:83: error: no matching function for call to 'pluto_pthread_mutex_t::pluto_pthread_mutex_t()'
Weather.cpp:45:83: note: candidates are:
../PlutoUtils/MultiThreadIncludes.h:112:2: note: pluto_pthread_mutex_t::pluto_pthread_mutex_t(std::string, bool)
../PlutoUtils/MultiThreadIncludes.h:112:2: note:   candidate expects 2 arguments, 0 provided
../PlutoUtils/MultiThreadIncludes.h:101:7: note: pluto_pthread_mutex_t::pluto_pthread_mutex_t(const pluto_pthread_mutex_t&)
../PlutoUtils/MultiThreadIncludes.h:101:7: note:   candidate expects 1 argument, 0 provided
Weather.cpp: In constructor 'DCE::Weather::Weather(DCE::Command_Impl*, DCE::DeviceData_Impl*, DCE::Event_Impl*, DCE::Router*)':
Weather.cpp:55:65: error: no matching function for call to 'pluto_pthread_mutex_t::pluto_pthread_mutex_t()'
Weather.cpp:55:65: note: candidates are:
../PlutoUtils/MultiThreadIncludes.h:112:2: note: pluto_pthread_mutex_t::pluto_pthread_mutex_t(std::string, bool)
../PlutoUtils/MultiThreadIncludes.h:112:2: note:   candidate expects 2 arguments, 0 provided
../PlutoUtils/MultiThreadIncludes.h:101:7: note: pluto_pthread_mutex_t::pluto_pthread_mutex_t(const pluto_pthread_mutex_t&)
../PlutoUtils/MultiThreadIncludes.h:101:7: note:   candidate expects 1 argument, 0 provided
Weather.cpp:55:65: error: no matching function for call to 'pluto_pthread_mutex_t::pluto_pthread_mutex_t()'
Weather.cpp:55:65: note: candidates are:
../PlutoUtils/MultiThreadIncludes.h:112:2: note: pluto_pthread_mutex_t::pluto_pthread_mutex_t(std::string, bool)
../PlutoUtils/MultiThreadIncludes.h:112:2: note:   candidate expects 2 arguments, 0 provided
../PlutoUtils/MultiThreadIncludes.h:101:7: note: pluto_pthread_mutex_t::pluto_pthread_mutex_t(const pluto_pthread_mutex_t&)
../PlutoUtils/MultiThreadIncludes.h:101:7: note:   candidate expects 1 argument, 0 provided
make: *** [Weather.o] Error 1
Title: Re: Developing a Weather Plugin, videos
Post by: phenigma on March 10, 2015, 11:15:19 pm
Code: [Select]
========== NEW LOG SECTION ==========
1       03/10/15 18:13:03       193 (spawning-device)   Starting... 2
1       03/10/15 18:13:03       193 (spawning-device)   Found /usr/pluto/bin/Weather
05      03/10/15 18:13:13.683           Weather: Config: NOAA <0xb6677700>
05      03/10/15 18:13:13.684           Weather: Use NOAA <0xb6677700>
05      03/10/15 18:13:13.684           Weather: Use NOAA language english <0xb6677700>
05      03/10/15 18:13:13.684           Weather: Use NOAA units 0 <0xb6677700>
05      03/10/15 18:13:13.684           Weather: Use NOAA Lat xx.xxx <0xb6677700>
05      03/10/15 18:13:13.684           Weather: Use NOAA Lon -xx.xxx <0xb6677700>
05      03/10/15 18:13:13.685           Weather: Starting Init Thread <0xb6677700>
05      03/10/15 18:13:13.686           Weather: Timer is set to: 3.000000 minutes <0xb6675b40>
05      03/10/15 18:13:13.690           Weather: Getting Weather Data using: NOAA <0xb54ffb40>
05      03/10/15 18:13:13.690           Weather: Inside use_NOAA <0xb54ffb40>
01      03/10/15 18:13:14.119           Get_NOAA: Failed to parse configuration <0xb54ffb40>

cfernandes this is the log output I am getting from Weather (lat/long removed).

J.
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on March 11, 2015, 11:17:43 am
J.

you can check with this url if you can get NOAA data 


http://forecast.weather.gov/MapClick.php?lat=xxxx&lon=xxxxx&unit=0&lg=English&FcstType=json

Title: Re: Developing a Weather Plugin, videos
Post by: SBCC on March 18, 2015, 12:14:50 am
Hi Guys

Sorry I've been distracted.

Carlos I did not have a chance to look at your code but I made some substantial changes to the code. It dose have an Open Weather Map option now.

I removed the mutexes and used the pluto mutexes... though I'm not completely sure how they work. There is a lot of code to look at there. I have 2 classes. 1 for NOAA and one for OWM (Open Weather Map). I will look at your code now Carlos and see how we can merge the two. Thanks for all your help!!

Here is the link to my code;

https://www.dropbox.com/sh/45peimybwaxyg74/AADVuE1L9x07A_5uif4yhSsqa?dl=0

Jim

Title: Re: Developing a Weather Plugin, videos
Post by: phenigma on March 21, 2015, 01:43:55 am
 :D  You guys rock!  Let me know when things are tested enough for me to package it all up.  I've been super busy and haven't had a chance to do much testing with it beyond the earlier posts.

J.
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on March 21, 2015, 01:00:44 pm
Guys ,

i propose do add to  more weather icons  to cover   night conditions 

night moderate cloudy
night partly cloudy


i using this set of icons !
https://www.dropbox.com/s/y92s4gyhs6o2kkq/Weather%20icons.zip?dl=0
Title: Re: Developing a Weather Plugin, videos
Post by: phenigma on March 22, 2015, 02:04:43 am
If the icons will provide better information about weather conditions then I am happy to look at adding them to the skin pkgs. :D  Watch http://wiki.linuxmce.org/index.php/LinuxMCE-1204_pre-alpha and you'll know when things are ready.  Thanks guys!

J.
Title: Re: Developing a Weather Plugin, videos
Post by: SBCC on March 22, 2015, 02:23:10 pm
I agree with Carlos. This will add a better visual to night time weather. Along that thought the more icons the better just not sure where the limit should be for that and why.

Thanks for all the hard work Carlos!

I'm having an issue with testing for WWO as they are having server issues on the development side and cannot issue API keys. Other than that it seems to be running very stable for the last week or so. I see no reason why WWO class should not run the same.

I need to make a "feels like" function as Open Weather Map does not offer that. I was thinking of leaving that in the Weather class so any other weather API class can make use of it if needed.

Also thinking about radar. NOAA uses multiple jpg images that overlay. Would it be best to have the Weather class except multiple images and create 1 from that?

Thanks

Jim
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on March 22, 2015, 03:35:26 pm
jim.

i merged your  last update  with my  and work very well.

my version  include noaa  radar  and wwo.

i will post on   dropbox the last version

Carlos.
Title: Re: Developing a Weather Plugin, videos
Post by: phenigma on March 23, 2015, 05:55:25 am
Ok, becuase I'm doing a billion things at the moment.  Can one of you create a ticket?  Attach the ican pack that needs updating and attach the source when you both agree that its' functional to your satisfaction.  Tag phenigma as the owner of the ticket and I'll be sure to act on it then.  SVN is really the only way I can keep track of anything these days.

Thanks for everything you guys have been (and still are) doing!  I know I'm not the only one who appreciates the work you're doing!

J.
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on March 23, 2015, 11:43:07 am
Jim


this is your  version  merged  with my  changes  ,  include  radar  for  noaa  and  World weather online .

the WWO  is using the  2 more icons "night moderate cloudy  night partly cloudy"



https://www.dropbox.com/s/3qmrdmo84cfv9gg/weather.tar?dl=0
Title: Re: Developing a Weather Plugin, videos
Post by: SBCC on March 29, 2015, 06:22:01 pm
Hi Carlos

I made some changes to the NOAA class. Added the Radar to the wrap and changes the radar image sequence to oldest 1st and limited it to just 3.

Great job with this!!

I will add the night icons to NOAA as well once they are included.

Here is the link
https://www.dropbox.com/sh/o9frlgoybvv1twe/AADffJefSW5pd6KNV87LOoYsa?dl=0

Thanks for all your effort!

Jim
Title: Re: Developing a Weather Plugin, videos
Post by: phenigma on March 31, 2015, 09:29:08 pm
Create me a ticket at http://svn.linuxmce.org/ with the required images attached in a tar/zip/whatever and tell me where they need to go.  Then I'll put the images into the skin packages so you guys can continue.

Great work guys!  I'm really excited!

J.

ps.  If you need svn credentials: http://forum.linuxmce.org/index.php?topic=13696.0
Title: Re: Developing a Weather Plugin, videos
Post by: darkwizard864 on June 07, 2015, 05:49:43 am
open weather
tells me current temp is 279 f ..
if that right damn it is hot out there.
here is ticket
http://svn.linuxmce.org/trac/ticket/2363
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on June 07, 2015, 01:55:00 pm
the temperature  is represented  in kelvin's  is a default  for  open weather.

check  the parameter  for units

For temperature in Fahrenheit use imperial
For temperature in Celsius use metric
For temperature in Kelvin no need to use units parameter in API call
Title: Re: Developing a Weather Plugin, videos
Post by: darkwizard864 on June 07, 2015, 08:06:17 pm
how do i go about that?
Title: Re: Developing a Weather Plugin, videos
Post by: RayBe on June 07, 2015, 10:00:33 pm
Hi guys,

Thanks for your awesome work on this.
I installed the weather stain through webadmin in the core section.
On my orbiters i see a Weather icon, when i press it the values all show a "??"
I did set my longitude and latitude, i live in the Netherlands.
I searched the webadmin to see if i must set anything else somewhere, but was unable to find something.
Could someone point me in the right direction?
Thanks in advance,

br,
Raymond

Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on June 07, 2015, 10:23:40 pm

for NOAA  Configuration is   API:NOAA:language:units:lat:lon 
                            example API:NOAA:english:0:28.53833355:-81.37923649
for WWO  Configuration is   API:WWO:language:apikey:units:city 
                             example API:WWO:pt:0b6d39679dabe54e9749209aa2e54:C:belo_horizonte
for openweahter  Configuration is   API:OWM:language:apikey:units:city 
                                    example API:OWM:en:xxxxxxxxxxxx:imperial:belo_horizonte
Title: Re: Developing a Weather Plugin, videos
Post by: RayBe on June 07, 2015, 10:33:20 pm
cfernandes, you are quick, thanks :)
I must apologize, i *thought* i had read every post in this topic, when i looked again i saw your configuration data format. Thanks for your answer, makes things very clear. :)
Keep up the great work.

br,
Raymond
Title: Re: Developing a Weather Plugin, videos
Post by: posde on June 08, 2015, 12:41:56 am
cfernandes or RayBe,

would one of you please be so kind and add the configuration information to the Weather Plugin wiki page, so others have it easier in the future.

Thank you.

http://wiki.linuxmce.org/index.php/Weather_Plugin
Title: Re: Developing a Weather Plugin, videos
Post by: darkwizard864 on June 08, 2015, 01:59:50 am
cfernandes
i still get access diened for noaa..
Title: Re: Developing a Weather Plugin, videos
Post by: RayBe on June 08, 2015, 12:25:39 pm
Hi, i got a free account with WWO and used the following syntax for the configuration data in webadmin

Code: [Select]
API:WWO:nl:<myapikey>:C:maastricht
The log shows (snipet):
Code: [Select]
Mon Jun  8 12:02:34 CEST 2015 Restart
1 06/08/15 12:02:42 394 (spawning-device) Starting... 1
1 06/08/15 12:02:42 394 (spawning-device) Found /usr/pluto/bin/Weather
05 06/08/15 12:02:50.682 Weather: Use World Weather Online <0xb669e700>
Return code: 139
3 06/08/15 12:02:50 394 (spawning-device) Device died... count=1/50 dev=394
Mon Jun  8 12:02:50 CEST 2015 died
1 06/08/15 12:03:00 394 (spawning-device) Starting... 2
1 06/08/15 12:03:00 394 (spawning-device) Found /usr/pluto/bin/Weather
05 06/08/15 12:03:00.925 Weather: Config: WWO <0xb65f8700>
05 06/08/15 12:03:00.926 Weather: Use World Weather Online <0xb65f8700>
Return code: 139
3 06/08/15 12:03:00 394 (spawning-device) Device died... count=2/50 dev=394
Mon Jun  8 12:03:00 CEST 2015 died
1 06/08/15 12:03:11 394 (spawning-device) Starting... 3
1 06/08/15 12:03:11 394 (spawning-device) Found /usr/pluto/bin/Weather
05 06/08/15 12:03:11.149 Weather: Config: WWO <0xb65e6700>
05 06/08/15 12:03:11.150 Weather: Use World Weather Online <0xb65e6700>
Return code: 139
3 06/08/15 12:03:11 394 (spawning-device) Device died... count=3/50 dev=394
Mon Jun  8 12:03:11 CEST 2015 died
1 06/08/15 12:03:21 394 (spawning-device) Starting... 4
1 06/08/15 12:03:21 394 (spawning-device) Found /usr/pluto/bin/Weather
05 06/08/15 12:03:21.367 Weather: Config: WWO <0xb6611700>
05 06/08/15 12:03:21.367 Weather: Use World Weather Online <0xb6611700>
Return code: 139
3 06/08/15 12:03:21 394 (spawning-device) Device died... count=4/50 dev=394
Mon Jun  8 12:03:21 CEST 2015 died
1 06/08/15 12:03:31 394 (spawning-device) Starting... 5
1 06/08/15 12:03:31 394 (spawning-device) Found /usr/pluto/bin/Weather
05 06/08/15 12:03:31.572 Weather: Config: WWO <0xb662c700>
05 06/08/15 12:03:31.572 Weather: Use World Weather Online <0xb662c700>
Return code: 139
3 06/08/15 12:03:31 394 (spawning-device) Device died... count=5/50 dev=394
Mon Jun  8 12:03:31 CEST 2015 died
1 06/08/15 12:03:41 394 (spawning-device) Starting... 6
 

Is there something wrong with my syntax?

br,
Raymond

p.s. @posde, if i get this working i will add the info to the wiki
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on June 08, 2015, 12:53:29 pm
you can try   this  url   and  post  the  results ?

api2.worldweatheronline.com/free/v2/weather.ashx?q=maastricht&format=json&num_of_days=5&lang=nl&key=0b6d39679dabe54e9749209aa2e54
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on June 08, 2015, 01:15:22 pm
darkwizard864 

there is no much to do as the NOAA site is blocking you, I think you should try to ask your provider if he can check with the NOAA.

and also do not put the timer for a very short period, here I use every two hours.

Carlos
Title: Re: Developing a Weather Plugin, videos
Post by: SBCC on June 08, 2015, 01:38:35 pm
i still get access diened for noaa..
Hi darkwizard864 

They are requiring a user agent in the curl call. I have that update. Give me a little bit and I will post that here.

Thanks
Title: Re: Developing a Weather Plugin, videos
Post by: RayBe on June 08, 2015, 04:37:08 pm
you can try   this  url   and  post  the  results ?

api2.worldweatheronline.com/free/v2/weather.ashx?q=maastricht&format=json&num_of_days=5&lang=nl&key=0b6d39679dabe54e9749209aa2e54

Hi cfernandes i did as you suggested and pasted the above link in the device data configuration field of webadmin.
After that i hit save and reloaded the router, my log shows:

Code: [Select]
05 06/08/15 16:30:09.633 void ClientSocket::Disconnect() on this socket: 0x92f57b8 (m_Socket: 6) <0xb6655700>
Return code: 2
2 06/08/15 16:30:09 394 (spawning-device) Device requests restart... count=42/50 dev=394
Mon Jun  8 16:30:09 CEST 2015 Restart
1 06/08/15 16:30:17 394 (spawning-device) Starting... 42
1 06/08/15 16:30:17 394 (spawning-device) Found /usr/pluto/bin/Weather
05 06/08/15 16:30:24.878 Weather: Getting Weather Data using: ?? <0xb53ffb40>

And there are showing "??" on my orbiters.

br,
Raymond
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on June 09, 2015, 12:30:05 pm
Sorry I was not clear,
try the url in your browser and see if it will bring the correct information

http://api2.worldweatheronline.com/free/v2/weather.ashx?q=maastricht&format=json&num_of_days=5&lang=nl&key=0b6d39679dabe54e9749209aa2e54
Title: Re: Developing a Weather Plugin, videos
Post by: RayBe on June 09, 2015, 03:55:26 pm
this is what the browser returns:
[code]
{ "data": { "current_condition": [ {"cloudcover": "50", "FeelsLikeC": "16", "FeelsLikeF": "61", "humidity": "45",  "lang_nl": [ {"value": "Gedeeltelijk bewolkt" } ], "observation_time": "01:52 PM", "precipMM": "0.1", "pressure": "1028", "temp_C": "16", "temp_F": "61", "visibility": "10", "weatherCode": "116",  "weatherDesc": [ {"value": "Partly Cloudy" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0002_sunny_intervals.png" } ], "winddir16Point": "NNE", "winddirDegree": "20", "windspeedKmph": "24", "windspeedMiles": "15" } ],  "request": [ {"query": "Maastricht, Netherlands", "type": "City" } ],  "weather": [ { "astronomy": [ {"moonrise": "01:38 AM", "moonset": "01:12 PM", "sunrise": "05:25 AM", "sunset": "09:49 PM" } ], "date": "2015-06-09",  "hourly": [ {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "100", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "3", "DewPointC": "6", "DewPointF": "42", "FeelsLikeC": "5", "FeelsLikeF": "41", "HeatIndexC": "8", "HeatIndexF": "46", "humidity": "84",  "lang_nl": [ {"value": "Helder" } ], "precipMM": "0.0", "pressure": "1029", "tempC": "8", "tempF": "46", "time": "100", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Clear" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0008_clear_sky_night.png" } ], "WindChillC": "5", "WindChillF": "41", "winddir16Point": "NNE", "winddirDegree": "33", "WindGustKmph": "33", "WindGustMiles": "21", "windspeedKmph": "19", "windspeedMiles": "12" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "48", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "70", "DewPointC": "6", "DewPointF": "42", "FeelsLikeC": "3", "FeelsLikeF": "37", "HeatIndexC": "6", "HeatIndexF": "43", "humidity": "97",  "lang_nl": [ {"value": "Bewolkt" } ], "precipMM": "0.0", "pressure": "1029", "tempC": "6", "tempF": "43", "time": "400", "visibility": "10", "weatherCode": "119",  "weatherDesc": [ {"value": "Cloudy" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0004_black_low_cloud.png" } ], "WindChillC": "3", "WindChillF": "37", "winddir16Point": "NNE", "winddirDegree": "32", "WindGustKmph": "29", "WindGustMiles": "18", "windspeedKmph": "17", "windspeedMiles": "10" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "19", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "0", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "84", "DewPointC": "7", "DewPointF": "45", "FeelsLikeC": "7", "FeelsLikeF": "45", "HeatIndexC": "10", "HeatIndexF": "50", "humidity": "82",  "lang_nl": [ {"value": "Bewolkt" } ], "precipMM": "0.0", "pressure": "1029", "tempC": "10", "tempF": "50", "time": "700", "visibility": "10", "weatherCode": "119",  "weatherDesc": [ {"value": "Cloudy" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0003_white_cloud.png" } ], "WindChillC": "7", "WindChillF": "45", "winddir16Point": "NE", "winddirDegree": "40", "WindGustKmph": "28", "WindGustMiles": "17", "windspeedKmph": "24", "windspeedMiles": "15" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "0", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "74", "DewPointC": "7", "DewPointF": "45", "FeelsLikeC": "11", "FeelsLikeF": "52", "HeatIndexC": "13", "HeatIndexF": "56", "humidity": "68",  "lang_nl": [ {"value": "Bewolkt" } ], "precipMM": "0.0", "pressure": "1029", "tempC": "13", "tempF": "56", "time": "1000", "visibility": "10", "weatherCode": "119",  "weatherDesc": [ {"value": "Cloudy" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0003_white_cloud.png" } ], "WindChillC": "11", "WindChillF": "52", "winddir16Point": "NE", "winddirDegree": "42", "WindGustKmph": "30", "WindGustMiles": "19", "windspeedKmph": "26", "windspeedMiles": "16" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "1", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "100", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "18", "DewPointC": "7", "DewPointF": "45", "FeelsLikeC": "16", "FeelsLikeF": "61", "HeatIndexC": "16", "HeatIndexF": "61", "humidity": "56",  "lang_nl": [ {"value": "Zonnig" } ], "precipMM": "0.1", "pressure": "1028", "tempC": "16", "tempF": "61", "time": "1300", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Sunny" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "16", "WindChillF": "61", "winddir16Point": "NE", "winddirDegree": "38", "WindGustKmph": "33", "WindGustMiles": "21", "windspeedKmph": "29", "windspeedMiles": "18" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "97", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "3", "DewPointC": "8", "DewPointF": "46", "FeelsLikeC": "17", "FeelsLikeF": "63", "HeatIndexC": "17", "HeatIndexF": "63", "humidity": "54",  "lang_nl": [ {"value": "Zonnig" } ], "precipMM": "0.0", "pressure": "1027", "tempC": "17", "tempF": "63", "time": "1600", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Sunny" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "17", "WindChillF": "63", "winddir16Point": "NE", "winddirDegree": "42", "WindGustKmph": "31", "WindGustMiles": "19", "windspeedKmph": "27", "windspeedMiles": "17" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "100", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "16", "DewPointC": "7", "DewPointF": "45", "FeelsLikeC": "13", "FeelsLikeF": "55", "HeatIndexC": "14", "HeatIndexF": "58", "humidity": "62",  "lang_nl": [ {"value": "Zonnig" } ], "precipMM": "0.0", "pressure": "1027", "tempC": "14", "tempF": "58", "time": "1900", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Sunny" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "13", "WindChillF": "55", "winddir16Point": "NE", "winddirDegree": "36", "WindGustKmph": "37", "WindGustMiles": "23", "windspeedKmph": "25", "windspeedMiles": "15" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "95", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "5", "DewPointC": "6", "DewPointF": "43", "FeelsLikeC": "10", "FeelsLikeF": "51", "HeatIndexC": "13", "HeatIndexF": "56", "humidity": "82",  "lang_nl": [ {"value": "Helder" } ], "precipMM": "0.0", "pressure": "1028", "tempC": "10", "tempF": "51", "time": "2200", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Clear" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0008_clear_sky_night.png" } ], "WindChillC": "10", "WindChillF": "51", "winddir16Point": "NNE", "winddirDegree": "30", "WindGustKmph": "35", "WindGustMiles": "22", "windspeedKmph": "17", "windspeedMiles": "10" } ], "maxtempC": "17", "maxtempF": "63", "mintempC": "8", "mintempF": "46", "uvIndex": "6" }, { "astronomy": [ {"moonrise": "02:07 AM", "moonset": "02:27 PM", "sunrise": "05:24 AM", "sunset": "09:50 PM" } ], "date": "2015-06-10",  "hourly": [ {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "100", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "24", "DewPointC": "7", "DewPointF": "45", "FeelsLikeC": "6", "FeelsLikeF": "42", "HeatIndexC": "8", "HeatIndexF": "47", "humidity": "94",  "lang_nl": [ {"value": "Helder" } ], "precipMM": "0.0", "pressure": "1028", "tempC": "8", "tempF": "47", "time": "100", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Clear" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0008_clear_sky_night.png" } ], "WindChillC": "6", "WindChillF": "42", "winddir16Point": "NE", "winddirDegree": "36", "WindGustKmph": "31", "WindGustMiles": "19", "windspeedKmph": "16", "windspeedMiles": "10" }, {"chanceoffog": "1", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "8", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "56", "DewPointC": "7", "DewPointF": "45", "FeelsLikeC": "5", "FeelsLikeF": "41", "HeatIndexC": "8", "HeatIndexF": "46", "humidity": "97",  "lang_nl": [ {"value": "Gedeeltelijk bewolkt" } ], "precipMM": "0.0", "pressure": "1027", "tempC": "8", "tempF": "46", "time": "400", "visibility": "10", "weatherCode": "116",  "weatherDesc": [ {"value": "Partly Cloudy" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0004_black_low_cloud.png" } ], "WindChillC": "5", "WindChillF": "41", "winddir16Point": "NE", "winddirDegree": "45", "WindGustKmph": "28", "WindGustMiles": "17", "windspeedKmph": "15", "windspeedMiles": "9" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "100", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "3", "DewPointC": "10", "DewPointF": "49", "FeelsLikeC": "11", "FeelsLikeF": "51", "HeatIndexC": "13", "HeatIndexF": "55", "humidity": "81",  "lang_nl": [ {"value": "Zonnig" } ], "precipMM": "0.0", "pressure": "1027", "tempC": "13", "tempF": "55", "time": "700", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Sunny" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "11", "WindChillF": "51", "winddir16Point": "ENE", "winddirDegree": "62", "WindGustKmph": "22", "WindGustMiles": "14", "windspeedKmph": "19", "windspeedMiles": "12" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "91", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "5", "DewPointC": "10", "DewPointF": "49", "FeelsLikeC": "19", "FeelsLikeF": "65", "HeatIndexC": "19", "HeatIndexF": "65", "humidity": "56",  "lang_nl": [ {"value": "Zonnig" } ], "precipMM": "0.0", "pressure": "1026", "tempC": "19", "tempF": "65", "time": "1000", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Sunny" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "19", "WindChillF": "65", "winddir16Point": "NE", "winddirDegree": "55", "WindGustKmph": "28", "WindGustMiles": "18", "windspeedKmph": "25", "windspeedMiles": "15" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "100", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "2", "DewPointC": "11", "DewPointF": "51", "FeelsLikeC": "21", "FeelsLikeF": "70", "HeatIndexC": "24", "HeatIndexF": "76", "humidity": "50",  "lang_nl": [ {"value": "Zonnig" } ], "precipMM": "0.0", "pressure": "1024", "tempC": "21", "tempF": "70", "time": "1300", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Sunny" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "21", "WindChillF": "70", "winddir16Point": "NE", "winddirDegree": "53", "WindGustKmph": "31", "WindGustMiles": "19", "windspeedKmph": "27", "windspeedMiles": "17" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "100", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "9", "DewPointC": "12", "DewPointF": "53", "FeelsLikeC": "25", "FeelsLikeF": "76", "HeatIndexC": "25", "HeatIndexF": "76", "humidity": "50",  "lang_nl": [ {"value": "Zonnig" } ], "precipMM": "0.0", "pressure": "1023", "tempC": "23", "tempF": "73", "time": "1600", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Sunny" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "23", "WindChillF": "73", "winddir16Point": "NE", "winddirDegree": "51", "WindGustKmph": "31", "WindGustMiles": "19", "windspeedKmph": "27", "windspeedMiles": "17" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "97", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "3", "DewPointC": "10", "DewPointF": "50", "FeelsLikeC": "19", "FeelsLikeF": "65", "HeatIndexC": "19", "HeatIndexF": "65", "humidity": "58",  "lang_nl": [ {"value": "Zonnig" } ], "precipMM": "0.0", "pressure": "1022", "tempC": "19", "tempF": "65", "time": "1900", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Sunny" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "19", "WindChillF": "65", "winddir16Point": "NE", "winddirDegree": "47", "WindGustKmph": "39", "WindGustMiles": "24", "windspeedKmph": "24", "windspeedMiles": "15" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "87", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "2", "DewPointC": "7", "DewPointF": "44", "FeelsLikeC": "12", "FeelsLikeF": "54", "HeatIndexC": "14", "HeatIndexF": "57", "humidity": "62",  "lang_nl": [ {"value": "Helder" } ], "precipMM": "0.0", "pressure": "1023", "tempC": "14", "tempF": "57", "time": "2200", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Clear" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0008_clear_sky_night.png" } ], "WindChillC": "12", "WindChillF": "54", "winddir16Point": "NE", "winddirDegree": "51", "WindGustKmph": "47", "WindGustMiles": "29", "windspeedKmph": "23", "windspeedMiles": "15" } ], "maxtempC": "23", "maxtempF": "73", "mintempC": "10", "mintempF": "49", "uvIndex": "7" }, { "astronomy": [ {"moonrise": "02:35 AM", "moonset": "03:44 PM", "sunrise": "05:24 AM", "sunset": "09:50 PM" } ], "date": "2015-06-11",  "hourly": [ {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "100", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "5", "DewPointC": "8", "DewPointF": "46", "FeelsLikeC": "9", "FeelsLikeF": "48", "HeatIndexC": "11", "HeatIndexF": "52", "humidity": "79",  "lang_nl": [ {"value": "Helder" } ], "precipMM": "0.0", "pressure": "1023", "tempC": "11", "tempF": "52", "time": "100", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Clear" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0008_clear_sky_night.png" } ], "WindChillC": "9", "WindChillF": "48", "winddir16Point": "ENE", "winddirDegree": "58", "WindGustKmph": "40", "WindGustMiles": "25", "windspeedKmph": "22", "windspeedMiles": "14" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "84", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "12", "DewPointC": "8", "DewPointF": "46", "FeelsLikeC": "7", "FeelsLikeF": "45", "HeatIndexC": "10", "HeatIndexF": "49", "humidity": "87",  "lang_nl": [ {"value": "Helder" } ], "precipMM": "0.0", "pressure": "1023", "tempC": "10", "tempF": "49", "time": "400", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Clear" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0008_clear_sky_night.png" } ], "WindChillC": "7", "WindChillF": "45", "winddir16Point": "ENE", "winddirDegree": "66", "WindGustKmph": "38", "WindGustMiles": "23", "windspeedKmph": "18", "windspeedMiles": "11" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "95", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "15", "DewPointC": "10", "DewPointF": "50", "FeelsLikeC": "15", "FeelsLikeF": "60", "HeatIndexC": "15", "HeatIndexF": "60", "humidity": "71",  "lang_nl": [ {"value": "Zonnig" } ], "precipMM": "0.0", "pressure": "1022", "tempC": "15", "tempF": "60", "time": "700", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Sunny" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "15", "WindChillF": "60", "winddir16Point": "E", "winddirDegree": "82", "WindGustKmph": "28", "WindGustMiles": "18", "windspeedKmph": "24", "windspeedMiles": "15" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "100", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "14", "DewPointC": "13", "DewPointF": "55", "FeelsLikeC": "22", "FeelsLikeF": "71", "HeatIndexC": "25", "HeatIndexF": "76", "humidity": "56",  "lang_nl": [ {"value": "Zonnig" } ], "precipMM": "0.0", "pressure": "1020", "tempC": "22", "tempF": "71", "time": "1000", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Sunny" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "22", "WindChillF": "71", "winddir16Point": "E", "winddirDegree": "86", "WindGustKmph": "31", "WindGustMiles": "19", "windspeedKmph": "27", "windspeedMiles": "17" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "82", "chanceofovercast": "0", "chanceofrain": "4", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "92", "chanceofthunder": "3", "chanceofwindy": "0", "cloudcover": "6", "DewPointC": "14", "DewPointF": "57", "FeelsLikeC": "26", "FeelsLikeF": "79", "HeatIndexC": "26", "HeatIndexF": "79", "humidity": "49",  "lang_nl": [ {"value": "Zonnig" } ], "precipMM": "0.0", "pressure": "1018", "tempC": "25", "tempF": "78", "time": "1300", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Sunny" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "25", "WindChillF": "78", "winddir16Point": "E", "winddirDegree": "89", "WindGustKmph": "28", "WindGustMiles": "17", "windspeedKmph": "24", "windspeedMiles": "15" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "80", "chanceofovercast": "0", "chanceofrain": "4", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "100", "chanceofthunder": "3", "chanceofwindy": "0", "cloudcover": "8", "DewPointC": "14", "DewPointF": "58", "FeelsLikeC": "27", "FeelsLikeF": "80", "HeatIndexC": "27", "HeatIndexF": "80", "humidity": "47",  "lang_nl": [ {"value": "Zonnig" } ], "precipMM": "0.0", "pressure": "1016", "tempC": "26", "tempF": "80", "time": "1600", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Sunny" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "26", "WindChillF": "80", "winddir16Point": "E", "winddirDegree": "89", "WindGustKmph": "23", "WindGustMiles": "14", "windspeedKmph": "20", "windspeedMiles": "13" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "3", "chanceofovercast": "0", "chanceofrain": "7", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "99", "chanceofthunder": "3", "chanceofwindy": "0", "cloudcover": "4", "DewPointC": "15", "DewPointF": "58", "FeelsLikeC": "25", "FeelsLikeF": "77", "HeatIndexC": "25", "HeatIndexF": "77", "humidity": "60",  "lang_nl": [ {"value": "Zonnig" } ], "precipMM": "0.0", "pressure": "1015", "tempC": "23", "tempF": "73", "time": "1900", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Sunny" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "23", "WindChillF": "73", "winddir16Point": "ENE", "winddirDegree": "76", "WindGustKmph": "31", "WindGustMiles": "19", "windspeedKmph": "18", "windspeedMiles": "11" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "13", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "78", "chanceofthunder": "5", "chanceofwindy": "0", "cloudcover": "6", "DewPointC": "13", "DewPointF": "55", "FeelsLikeC": "20", "FeelsLikeF": "68", "HeatIndexC": "24", "HeatIndexF": "75", "humidity": "73",  "lang_nl": [ {"value": "Helder" } ], "precipMM": "0.0", "pressure": "1015", "tempC": "20", "tempF": "68", "time": "2200", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Clear" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0008_clear_sky_night.png" } ], "WindChillC": "20", "WindChillF": "68", "winddir16Point": "E", "winddirDegree": "94", "WindGustKmph": "36", "WindGustMiles": "22", "windspeedKmph": "17", "windspeedMiles": "11" } ], "maxtempC": "26", "maxtempF": "80", "mintempC": "16", "mintempF": "61", "uvIndex": "7" }, { "astronomy": [ {"moonrise": "03:05 AM", "moonset": "04:58 PM", "sunrise": "05:24 AM", "sunset": "09:51 PM" } ], "date": "2015-06-12",  "hourly": [ {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "10", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "91", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "10", "DewPointC": "13", "DewPointF": "55", "FeelsLikeC": "16", "FeelsLikeF": "62", "HeatIndexC": "16", "HeatIndexF": "62", "humidity": "78",  "lang_nl": [ {"value": "Helder" } ], "precipMM": "0.0", "pressure": "1014", "tempC": "16", "tempF": "62", "time": "100", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Clear" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0008_clear_sky_night.png" } ], "WindChillC": "16", "WindChillF": "62", "winddir16Point": "ESE", "winddirDegree": "108", "WindGustKmph": "35", "WindGustMiles": "22", "windspeedKmph": "17", "windspeedMiles": "10" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "5", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "76", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "8", "DewPointC": "13", "DewPointF": "56", "FeelsLikeC": "16", "FeelsLikeF": "61", "HeatIndexC": "16", "HeatIndexF": "61", "humidity": "82",  "lang_nl": [ {"value": "Helder" } ], "precipMM": "0.0", "pressure": "1012", "tempC": "16", "tempF": "61", "time": "400", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Clear" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0008_clear_sky_night.png" } ], "WindChillC": "16", "WindChillF": "61", "winddir16Point": "ESE", "winddirDegree": "116", "WindGustKmph": "27", "WindGustMiles": "17", "windspeedKmph": "13", "windspeedMiles": "8" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "2", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "99", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "6", "DewPointC": "17", "DewPointF": "63", "FeelsLikeC": "25", "FeelsLikeF": "76", "HeatIndexC": "25", "HeatIndexF": "76", "humidity": "74",  "lang_nl": [ {"value": "Zonnig" } ], "precipMM": "0.0", "pressure": "1011", "tempC": "22", "tempF": "72", "time": "700", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Sunny" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "22", "WindChillF": "72", "winddir16Point": "ESE", "winddirDegree": "115", "WindGustKmph": "15", "WindGustMiles": "9", "windspeedKmph": "13", "windspeedMiles": "8" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "84", "chanceofovercast": "0", "chanceofrain": "4", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "100", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "7", "DewPointC": "19", "DewPointF": "67", "FeelsLikeC": "30", "FeelsLikeF": "86", "HeatIndexC": "30", "HeatIndexF": "86", "humidity": "59",  "lang_nl": [ {"value": "Zonnig" } ], "precipMM": "0.0", "pressure": "1011", "tempC": "28", "tempF": "83", "time": "1000", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Sunny" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "28", "WindChillF": "83", "winddir16Point": "SSE", "winddirDegree": "150", "WindGustKmph": "17", "WindGustMiles": "10", "windspeedKmph": "14", "windspeedMiles": "9" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "99", "chanceofovercast": "0", "chanceofrain": "3", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "96", "chanceofthunder": "4", "chanceofwindy": "0", "cloudcover": "17", "DewPointC": "19", "DewPointF": "65", "FeelsLikeC": "32", "FeelsLikeF": "90", "HeatIndexC": "32", "HeatIndexF": "90", "humidity": "49",  "lang_nl": [ {"value": "Zonnig" } ], "precipMM": "0.0", "pressure": "1009", "tempC": "31", "tempF": "87", "time": "1300", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Sunny" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "31", "WindChillF": "87", "winddir16Point": "SSW", "winddirDegree": "203", "WindGustKmph": "22", "WindGustMiles": "14", "windspeedKmph": "19", "windspeedMiles": "12" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "83", "chanceofovercast": "0", "chanceofrain": "11", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "72", "chanceofthunder": "19", "chanceofwindy": "0", "cloudcover": "32", "DewPointC": "19", "DewPointF": "66", "FeelsLikeC": "30", "FeelsLikeF": "86", "HeatIndexC": "30", "HeatIndexF": "86", "humidity": "56",  "lang_nl": [ {"value": "Gedeeltelijk bewolkt" } ], "precipMM": "0.0", "pressure": "1007", "tempC": "28", "tempF": "83", "time": "1600", "visibility": "10", "weatherCode": "116",  "weatherDesc": [ {"value": "Partly Cloudy" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0002_sunny_intervals.png" } ], "WindChillC": "28", "WindChillF": "83", "winddir16Point": "SSW", "winddirDegree": "200", "WindGustKmph": "16", "WindGustMiles": "10", "windspeedKmph": "14", "windspeedMiles": "9" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "82", "chanceofovercast": "0", "chanceofrain": "11", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "25", "chanceofthunder": "18", "chanceofwindy": "0", "cloudcover": "51", "DewPointC": "17", "DewPointF": "62", "FeelsLikeC": "27", "FeelsLikeF": "81", "HeatIndexC": "27", "HeatIndexF": "81", "humidity": "57",  "lang_nl": [ {"value": "Gedeeltelijk bewolkt" } ], "precipMM": "0.0", "pressure": "1007", "tempC": "26", "tempF": "79", "time": "1900", "visibility": "10", "weatherCode": "116",  "weatherDesc": [ {"value": "Partly Cloudy" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0002_sunny_intervals.png" } ], "WindChillC": "26", "WindChillF": "79", "winddir16Point": "SSW", "winddirDegree": "200", "WindGustKmph": "19", "WindGustMiles": "12", "windspeedKmph": "12", "windspeedMiles": "8" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "70", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "3", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "84", "DewPointC": "17", "DewPointF": "63", "FeelsLikeC": "27", "FeelsLikeF": "81", "HeatIndexC": "27", "HeatIndexF": "81", "humidity": "85",  "lang_nl": [ {"value": "Lichte regenbui" } ], "precipMM": "1.9", "pressure": "1008", "tempC": "23", "tempF": "73", "time": "2200", "visibility": "10", "weatherCode": "353",  "weatherDesc": [ {"value": "Light rain shower" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0025_light_rain_showers_night.png" } ], "WindChillC": "23", "WindChillF": "73", "winddir16Point": "SSW", "winddirDegree": "199", "WindGustKmph": "39", "WindGustMiles": "24", "windspeedKmph": "21", "windspeedMiles": "13" } ], "maxtempC": "31", "maxtempF": "87", "mintempC": "17", "mintempF": "62", "uvIndex": "7" }, { "astronomy": [ {"moonrise": "03:37 AM", "moonset": "06:12 PM", "sunrise": "05:24 AM", "sunset": "09:52 PM" } ], "date": "2015-06-13",  "hourly": [ {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "91", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "65", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "7", "DewPointC": "17", "DewPointF": "62", "FeelsLikeC": "18", "FeelsLikeF": "65", "HeatIndexC": "18", "HeatIndexF": "65", "humidity": "90",  "lang_nl": [ {"value": "Plaatselijke regen in de omgeving" } ], "precipMM": "1.2", "pressure": "1009", "tempC": "18", "tempF": "65", "time": "100", "visibility": "9", "weatherCode": "176",  "weatherDesc": [ {"value": "Patchy rain nearby" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0025_light_rain_showers_night.png" } ], "WindChillC": "18", "WindChillF": "65", "winddir16Point": "SSW", "winddirDegree": "212", "WindGustKmph": "42", "WindGustMiles": "26", "windspeedKmph": "23", "windspeedMiles": "14" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "0", "chanceofrain": "25", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "32", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "62", "DewPointC": "16", "DewPointF": "61", "FeelsLikeC": "17", "FeelsLikeF": "62", "HeatIndexC": "17", "HeatIndexF": "62", "humidity": "95",  "lang_nl": [ {"value": "Plaatselijke regen in de omgeving" } ], "precipMM": "0.1", "pressure": "1009", "tempC": "17", "tempF": "62", "time": "400", "visibility": "10", "weatherCode": "176",  "weatherDesc": [ {"value": "Patchy rain nearby" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0025_light_rain_showers_night.png" } ], "WindChillC": "17", "WindChillF": "62", "winddir16Point": "WSW", "winddirDegree": "239", "WindGustKmph": "33", "WindGustMiles": "20", "windspeedKmph": "22", "windspeedMiles": "13" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "0", "chanceofovercast": "1", "chanceofrain": "0", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "100", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "8", "DewPointC": "14", "DewPointF": "57", "FeelsLikeC": "17", "FeelsLikeF": "62", "HeatIndexC": "17", "HeatIndexF": "62", "humidity": "84",  "lang_nl": [ {"value": "Zonnig" } ], "precipMM": "0.0", "pressure": "1010", "tempC": "17", "tempF": "62", "time": "700", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Sunny" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "17", "WindChillF": "62", "winddir16Point": "SW", "winddirDegree": "236", "WindGustKmph": "27", "WindGustMiles": "17", "windspeedKmph": "24", "windspeedMiles": "15" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "9", "chanceofovercast": "1", "chanceofrain": "17", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "100", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "3", "DewPointC": "14", "DewPointF": "57", "FeelsLikeC": "21", "FeelsLikeF": "70", "HeatIndexC": "25", "HeatIndexF": "76", "humidity": "63",  "lang_nl": [ {"value": "Zonnig" } ], "precipMM": "0.0", "pressure": "1011", "tempC": "21", "tempF": "70", "time": "1000", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Sunny" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "21", "WindChillF": "70", "winddir16Point": "WSW", "winddirDegree": "237", "WindGustKmph": "27", "WindGustMiles": "17", "windspeedKmph": "24", "windspeedMiles": "15" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "90", "chanceofovercast": "0", "chanceofrain": "13", "chanceofremdry": "0", "chanceofsnow": "0", "chanceofsunshine": "100", "chanceofthunder": "0", "chanceofwindy": "0", "cloudcover": "4", "DewPointC": "15", "DewPointF": "59", "FeelsLikeC": "26", "FeelsLikeF": "79", "HeatIndexC": "26", "HeatIndexF": "79", "humidity": "53",  "lang_nl": [ {"value": "Zonnig" } ], "precipMM": "0.0", "pressure": "1010", "tempC": "25", "tempF": "78", "time": "1300", "visibility": "10", "weatherCode": "113",  "weatherDesc": [ {"value": "Sunny" } ],  "weatherIconUrl": [ {"value": "http:\/\/cdn.worldweatheronline.net\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" } ], "WindChillC": "25", "WindChillF": "78", "winddir16Point": "WSW", "winddirDegree": "243", "WindGustKmph": "28", "WindGustMiles": "17", "windspeedKmph": "24", "windspeedMiles": "15" }, {"chanceoffog": "0", "chanceoffrost": "0", "chanceofhightemp": "63", "chanceofovercast": "0", "chanceofrain": "5", "chanceofremdry": "0", "chanceofsnow": "0&
Title: Re: Developing a Weather Plugin, videos
Post by: phenigma on June 09, 2015, 07:24:25 pm
Thanks for continuing to work on this guys!  Please do an update from the svn code as others have pushed bug fixes into svn and we don't want those overwritten.  The most recent code and graphics (icons) should all be active at this time.

J.
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on June 10, 2015, 12:34:57 pm
please  use this bynary   

https://www.dropbox.com/s/k3j5fce8xiy0jp0/Weather?dl=0

i need  to talk with SBCC  to merge  my updates o wwo   .
Title: Re: Developing a Weather Plugin, videos
Post by: darkwizard864 on June 11, 2015, 05:27:38 am
cfernandes
I tried binary and core dumped
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on June 15, 2015, 12:53:44 pm
sorry !

some weather codes is missing.  i update   de binary   please try again

https://www.dropbox.com/s/k3j5fce8xiy0jp0/Weather?dl=0
Title: Re: Developing a Weather Plugin, videos
Post by: darkwizard864 on June 27, 2015, 04:55:32 pm
10      06/27/15 10:54:09.249           Weather: at download after curl <0xb56ffb40>
{
   "base" : "stations",
   "clouds" : {
      "all" : 90
   },
   "cod" : 200,
   "coord" : {
      "lat" : 40.280,
      "lon" : -75.390
   },
   "dt" : 1435416564,
   "id" : 5192662,
   "main" : {
      "humidity" : 88,
      "pressure" : 1018,
      "temp" : 66.420,
      "temp_max" : 69.80,
      "temp_min" : 64
   },
   "name" : "Harleysville",
   "rain" : {
      "1h" : 0.370
   },
   "sys" : {
      "country" : "US",
      "id" : 2367,
      "message" : 0.28220,
      "sunrise" : 1435397635,
      "sunset" : 1435451730,
      "type" : 1
   },
   "visibility" : 16093,
   "weather" : [
      {
         "description" : "light rain",
         "icon" : "10d",
         "id" : 500,
         "main" : "Rain"
      }
   ],
   "wind" : {
      "deg" : 90,
      "speed" : 6.70
   }
}

terminate called after throwing an instance of 'std::runtime_error'
  what():  Type is not convertible to string
Aborted (core dumped)
Title: Re: Developing a Weather Plugin, videos
Post by: phenigma on June 28, 2015, 04:26:35 am
mhm, yes.  That bug is fixed in svn, but it has not filtered down to those doing the legwork.

Guys, can you please update your source from svn to pick up bug fixes from others and then post your new source to the ticket in svn again please?  Providing binaries can be very counter-productive.

I'm happy to help amalgamate code changes.

J.
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on June 28, 2015, 03:20:47 pm
Sorry J.

How can I send the changes I made in part of the code ?


Carlos
Title: Re: Developing a Weather Plugin, videos
Post by: posde on June 28, 2015, 04:35:15 pm
Make a diff and attach it to a ticket.
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on July 06, 2015, 12:30:50 pm
Hi Posde ,

i need user to create  a ticket

i have two corections one  is to correct a cpu usage
and other is to add some  missing icons on Word Wether Online 
Title: Re: Developing a Weather Plugin, videos
Post by: posde on July 06, 2015, 03:27:59 pm
I've applied your diffs. Please send me the output of htpasswd -mn cfernandes so I can set you up with an account in trac.

When doing diff's, please make sure to make svn diffs. Those are easier to apply, as they already contain the file names.
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on July 06, 2015, 04:20:25 pm
ok   i will  make  svn diffs


cfernandes:$apr1$GzCyqH7T$x9Hwwuj8bHLAnStYSbMVO/
Title: Re: Developing a Weather Plugin, videos
Post by: posde on July 06, 2015, 06:18:02 pm
cfernandes,

thanks for the info. Your trac login has been created. And just to clarify: The above diff has been committed already. svn diff would be nice for the future.

Thanks for all your help!
Title: Re: Developing a Weather Plugin, videos
Post by: RayBe on July 20, 2015, 09:47:20 pm
hi cfernandes,

I just updated and upgraded to the latest and greatest.
I deleted and reinstalled the weather devices in my tree.
I am using:
Code: [Select]
API:WWO:nl:<myapicode>:C:maastricht

and my log shows:
Code: [Select]
== ATTEMPT FRESH START ==
1 07/20/15 20:38:17 /usr/pluto/bin/Spawn_Device.sh 416 (spawning-device) 15696 Dev: 416; Already Running list: 15,18,30,51,55,16,19,57,148,232,53,29,394,219,
== FRESH START ==
1 07/20/15 20:38:17 /usr/pluto/bin/Spawn_Device.sh 416 (spawning-device) device: 416 ip: localhost cmd_line: Weather
0 07/20/15 20:38:17 416 (spawning-device) Entering 416
========== NEW LOG SECTION ==========
1 07/20/15 20:38:17 416 (spawning-device) Starting... 1
1 07/20/15 20:38:17 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 20:38:17.072 Connection for client socket reported NEED RELOAD IP=::ffff:127.0.0.1, device 416 last error 2 <0xb6670700>
05 07/20/15 20:38:17.072 The router must be reloaded before this device is fully functional <0xb6670700>
05 07/20/15 20:38:17.074 void ClientSocket::Disconnect() on this socket: 0x913ba98 (m_Socket: 5) <0xb6670700>
05 07/20/15 20:38:17.083 Connection for client socket reported NEED RELOAD IP=::ffff:127.0.0.1, device 416 last error 2 <0xb6670700>
05 07/20/15 20:38:17.124 Weather: Timer is set to: 15.000000 minutes <0xb666eb40>
05 07/20/15 20:38:17.125 Weather: Getting Weather Data using: ?? <0xb52ffb40>
05 07/20/15 20:53:17.125 Weather: Getting Weather Data using: ?? <0xb42fdb40>
05 07/20/15 21:08:17.125 Weather: Getting Weather Data using: ?? <0xb3afcb40>
05 07/20/15 21:13:31.475 Got a reload command from 0  <0xb4afeb40>
05 07/20/15 21:13:31.733 void ClientSocket::Disconnect() on this socket: 0x913c7b8 (m_Socket: 6) <0xb6670700>
Return code: 2
2 07/20/15 21:13:31 416 (spawning-device) Device requests restart... count=1/50 dev=416
Mon Jul 20 21:13:31 CEST 2015 Restart
========== NEW LOG SECTION ==========
1 07/20/15 21:13:39 416 (spawning-device) Starting... 1
1 07/20/15 21:13:39 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:13:40.858 Connect() failed, Error Code 111 (Connection refused)) <0xb66bc700>
05 07/20/15 21:13:48.882 Weather: Timer is set to: 15.000000 minutes <0xb66bab40>
05 07/20/15 21:13:48.882 Weather: Getting Weather Data using: ?? <0xb52ffb40>
05 07/20/15 21:20:23.507 Got a reload command from 0  <0xb4afeb40>
05 07/20/15 21:20:23.766 void ClientSocket::Disconnect() on this socket: 0xa0267b8 (m_Socket: 6) <0xb66bc700>
Return code: 2
2 07/20/15 21:20:23 416 (spawning-device) Device requests restart... count=1/50 dev=416
Mon Jul 20 21:20:23 CEST 2015 Restart
========== NEW LOG SECTION ==========
1 07/20/15 21:20:31 416 (spawning-device) Starting... 1
1 07/20/15 21:20:31 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:20:32.888 Connect() failed, Error Code 111 (Connection refused)) <0xb6601700>
05 07/20/15 21:20:33.889 Connect() failed, Error Code 111 (Connection refused)) <0xb6601700>
05 07/20/15 21:20:40.912 Weather: Config: WWO <0xb6601700>
05 07/20/15 21:20:40.912 Weather: Use World Weather Online <0xb6601700>
Return code: 139
3 07/20/15 21:20:40 416 (spawning-device) Device died... count=1/50 dev=416
Mon Jul 20 21:20:40 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:20:50 416 (spawning-device) Starting... 2
1 07/20/15 21:20:50 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:20:51.082 Weather: Config: WWO <0xb663d700>
05 07/20/15 21:20:51.082 Weather: Use World Weather Online <0xb663d700>
Return code: 139
3 07/20/15 21:20:51 416 (spawning-device) Device died... count=2/50 dev=416
Mon Jul 20 21:20:51 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:21:01 416 (spawning-device) Starting... 3
1 07/20/15 21:21:01 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:21:01.231 Weather: Config: WWO <0xb6684700>
05 07/20/15 21:21:01.231 Weather: Use World Weather Online <0xb6684700>
Return code: 139
3 07/20/15 21:21:01 416 (spawning-device) Device died... count=3/50 dev=416
Mon Jul 20 21:21:01 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:21:11 416 (spawning-device) Starting... 4
1 07/20/15 21:21:11 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:21:11.395 Weather: Config: WWO <0xb65ed700>
05 07/20/15 21:21:11.395 Weather: Use World Weather Online <0xb65ed700>
Return code: 139
3 07/20/15 21:21:11 416 (spawning-device) Device died... count=4/50 dev=416
Mon Jul 20 21:21:11 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:21:21 416 (spawning-device) Starting... 5
1 07/20/15 21:21:21 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:21:21.567 Weather: Config: WWO <0xb65eb700>
05 07/20/15 21:21:21.567 Weather: Use World Weather Online <0xb65eb700>
Return code: 139
3 07/20/15 21:21:21 416 (spawning-device) Device died... count=5/50 dev=416
Mon Jul 20 21:21:21 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:21:31 416 (spawning-device) Starting... 6
1 07/20/15 21:21:31 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:21:31.770 Weather: Config: WWO <0xb6668700>
05 07/20/15 21:21:31.771 Weather: Use World Weather Online <0xb6668700>
Return code: 139
3 07/20/15 21:21:31 416 (spawning-device) Device died... count=6/50 dev=416
Mon Jul 20 21:21:31 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:21:41 416 (spawning-device) Starting... 7
1 07/20/15 21:21:41 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:21:41.963 Weather: Config: WWO <0xb6604700>
05 07/20/15 21:21:41.963 Weather: Use World Weather Online <0xb6604700>
Return code: 139
3 07/20/15 21:21:41 416 (spawning-device) Device died... count=7/50 dev=416
Mon Jul 20 21:21:41 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:21:52 416 (spawning-device) Starting... 8
1 07/20/15 21:21:52 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:21:52.095 Weather: Config: WWO <0xb6621700>
05 07/20/15 21:21:52.096 Weather: Use World Weather Online <0xb6621700>
Return code: 139
3 07/20/15 21:21:52 416 (spawning-device) Device died... count=8/50 dev=416
Mon Jul 20 21:21:52 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:22:02 416 (spawning-device) Starting... 9
1 07/20/15 21:22:02 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:22:02.290 Weather: Config: WWO <0xb6650700>
05 07/20/15 21:22:02.290 Weather: Use World Weather Online <0xb6650700>
Return code: 139
3 07/20/15 21:22:02 416 (spawning-device) Device died... count=9/50 dev=416
Mon Jul 20 21:22:02 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:22:12 416 (spawning-device) Starting... 10
1 07/20/15 21:22:12 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:22:12.454 Weather: Config: WWO <0xb6613700>
05 07/20/15 21:22:12.454 Weather: Use World Weather Online <0xb6613700>
Return code: 139
3 07/20/15 21:22:12 416 (spawning-device) Device died... count=10/50 dev=416
Mon Jul 20 21:22:12 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:22:22 416 (spawning-device) Starting... 11
1 07/20/15 21:22:22 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:22:22.629 Weather: Config: WWO <0xb66a7700>
05 07/20/15 21:22:22.630 Weather: Use World Weather Online <0xb66a7700>
Return code: 139
3 07/20/15 21:22:22 416 (spawning-device) Device died... count=11/50 dev=416
Mon Jul 20 21:22:22 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:22:32 416 (spawning-device) Starting... 12
1 07/20/15 21:22:32 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:22:32.804 Weather: Config: WWO <0xb66af700>
05 07/20/15 21:22:32.805 Weather: Use World Weather Online <0xb66af700>
Return code: 139
3 07/20/15 21:22:32 416 (spawning-device) Device died... count=12/50 dev=416
Mon Jul 20 21:22:32 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:22:42 416 (spawning-device) Starting... 13
1 07/20/15 21:22:42 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:22:42.992 Weather: Config: WWO <0xb6615700>
05 07/20/15 21:22:42.993 Weather: Use World Weather Online <0xb6615700>
Return code: 139
3 07/20/15 21:22:43 416 (spawning-device) Device died... count=13/50 dev=416
Mon Jul 20 21:22:43 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:22:53 416 (spawning-device) Starting... 14
1 07/20/15 21:22:53 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:22:53.123 Weather: Config: WWO <0xb668c700>
05 07/20/15 21:22:53.123 Weather: Use World Weather Online <0xb668c700>
Return code: 139
3 07/20/15 21:22:53 416 (spawning-device) Device died... count=14/50 dev=416
Mon Jul 20 21:22:53 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:23:03 416 (spawning-device) Starting... 15
1 07/20/15 21:23:03 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:23:03.260 Weather: Config: WWO <0xb65dc700>
05 07/20/15 21:23:03.260 Weather: Use World Weather Online <0xb65dc700>
Return code: 139
3 07/20/15 21:23:03 416 (spawning-device) Device died... count=15/50 dev=416
Mon Jul 20 21:23:03 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:23:13 416 (spawning-device) Starting... 16
1 07/20/15 21:23:13 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:23:13.448 Weather: Config: WWO <0xb669e700>
05 07/20/15 21:23:13.448 Weather: Use World Weather Online <0xb669e700>
Return code: 139
3 07/20/15 21:23:13 416 (spawning-device) Device died... count=16/50 dev=416
Mon Jul 20 21:23:13 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:23:23 416 (spawning-device) Starting... 17
1 07/20/15 21:23:23 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:23:23.624 Weather: Config: WWO <0xb66b7700>
05 07/20/15 21:23:23.624 Weather: Use World Weather Online <0xb66b7700>
Return code: 139
3 07/20/15 21:23:23 416 (spawning-device) Device died... count=17/50 dev=416
Mon Jul 20 21:23:23 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:23:33 416 (spawning-device) Starting... 18
1 07/20/15 21:23:33 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:23:33.804 Weather: Config: WWO <0xb66be700>
05 07/20/15 21:23:33.804 Weather: Use World Weather Online <0xb66be700>
Return code: 139
3 07/20/15 21:23:33 416 (spawning-device) Device died... count=18/50 dev=416
Mon Jul 20 21:23:33 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:23:43 416 (spawning-device) Starting... 19
1 07/20/15 21:23:43 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:23:43.987 Weather: Config: WWO <0xb6689700>
05 07/20/15 21:23:43.988 Weather: Use World Weather Online <0xb6689700>
Return code: 139
3 07/20/15 21:23:44 416 (spawning-device) Device died... count=19/50 dev=416
Mon Jul 20 21:23:44 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:23:54 416 (spawning-device) Starting... 20
1 07/20/15 21:23:54 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:23:54.103 Weather: Config: WWO <0xb66a2700>
05 07/20/15 21:23:54.103 Weather: Use World Weather Online <0xb66a2700>
Return code: 139
3 07/20/15 21:23:54 416 (spawning-device) Device died... count=20/50 dev=416
Mon Jul 20 21:23:54 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:24:04 416 (spawning-device) Starting... 21
1 07/20/15 21:24:04 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:24:04.270 Weather: Config: WWO <0xb6674700>
05 07/20/15 21:24:04.270 Weather: Use World Weather Online <0xb6674700>
Return code: 139
3 07/20/15 21:24:04 416 (spawning-device) Device died... count=21/50 dev=416
Mon Jul 20 21:24:04 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:24:14 416 (spawning-device) Starting... 22
1 07/20/15 21:24:14 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:24:14.454 Weather: Config: WWO <0xb65d8700>
05 07/20/15 21:24:14.455 Weather: Use World Weather Online <0xb65d8700>
Return code: 139
3 07/20/15 21:24:14 416 (spawning-device) Device died... count=22/50 dev=416
Mon Jul 20 21:24:14 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:24:24 416 (spawning-device) Starting... 23
1 07/20/15 21:24:24 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:24:24.645 Weather: Config: WWO <0xb65d4700>
05 07/20/15 21:24:24.645 Weather: Use World Weather Online <0xb65d4700>
Return code: 139
3 07/20/15 21:24:24 416 (spawning-device) Device died... count=23/50 dev=416
Mon Jul 20 21:24:24 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:24:34 416 (spawning-device) Starting... 24
1 07/20/15 21:24:34 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:24:34.821 Weather: Config: WWO <0xb6650700>
05 07/20/15 21:24:34.822 Weather: Use World Weather Online <0xb6650700>
Return code: 139
3 07/20/15 21:24:34 416 (spawning-device) Device died... count=24/50 dev=416
Mon Jul 20 21:24:34 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:24:44 416 (spawning-device) Starting... 25
1 07/20/15 21:24:44 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:24:44.998 Weather: Config: WWO <0xb6649700>
05 07/20/15 21:24:44.998 Weather: Use World Weather Online <0xb6649700>
Return code: 139
3 07/20/15 21:24:45 416 (spawning-device) Device died... count=25/50 dev=416
Mon Jul 20 21:24:45 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:24:55 416 (spawning-device) Starting... 26
1 07/20/15 21:24:55 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:24:55.172 Weather: Config: WWO <0xb65f2700>
05 07/20/15 21:24:55.172 Weather: Use World Weather Online <0xb65f2700>
Return code: 139
3 07/20/15 21:24:55 416 (spawning-device) Device died... count=26/50 dev=416
Mon Jul 20 21:24:55 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:25:05 416 (spawning-device) Starting... 27
1 07/20/15 21:25:05 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:25:05.348 Weather: Config: WWO <0xb65d9700>
05 07/20/15 21:25:05.348 Weather: Use World Weather Online <0xb65d9700>
Return code: 139
3 07/20/15 21:25:05 416 (spawning-device) Device died... count=27/50 dev=416
Mon Jul 20 21:25:05 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:25:15 416 (spawning-device) Starting... 28
1 07/20/15 21:25:15 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:25:15.524 Weather: Config: WWO <0xb6657700>
05 07/20/15 21:25:15.525 Weather: Use World Weather Online <0xb6657700>
Return code: 139
3 07/20/15 21:25:15 416 (spawning-device) Device died... count=28/50 dev=416
Mon Jul 20 21:25:15 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:25:25 416 (spawning-device) Starting... 29
1 07/20/15 21:25:25 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:25:25.715 Weather: Config: WWO <0xb65f0700>
05 07/20/15 21:25:25.715 Weather: Use World Weather Online <0xb65f0700>
Return code: 139
3 07/20/15 21:25:25 416 (spawning-device) Device died... count=29/50 dev=416
Mon Jul 20 21:25:25 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:25:35 416 (spawning-device) Starting... 30
1 07/20/15 21:25:35 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:25:35.899 Weather: Config: WWO <0xb6693700>
05 07/20/15 21:25:35.899 Weather: Use World Weather Online <0xb6693700>
Return code: 139
3 07/20/15 21:25:35 416 (spawning-device) Device died... count=30/50 dev=416
Mon Jul 20 21:25:35 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:25:45 416 (spawning-device) Starting... 31
1 07/20/15 21:25:46 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:25:46.086 Weather: Config: WWO <0xb6648700>
05 07/20/15 21:25:46.087 Weather: Use World Weather Online <0xb6648700>
Return code: 139
3 07/20/15 21:25:46 416 (spawning-device) Device died... count=31/50 dev=416
Mon Jul 20 21:25:46 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:25:56 416 (spawning-device) Starting... 32
1 07/20/15 21:25:56 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:25:56.290 Weather: Config: WWO <0xb65e2700>
05 07/20/15 21:25:56.290 Weather: Use World Weather Online <0xb65e2700>
Return code: 139
3 07/20/15 21:25:56 416 (spawning-device) Device died... count=32/50 dev=416
Mon Jul 20 21:25:56 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:26:06 416 (spawning-device) Starting... 33
1 07/20/15 21:26:06 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:26:06.464 Weather: Config: WWO <0xb66a2700>
05 07/20/15 21:26:06.464 Weather: Use World Weather Online <0xb66a2700>
Return code: 139
3 07/20/15 21:26:06 416 (spawning-device) Device died... count=33/50 dev=416
Mon Jul 20 21:26:06 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:26:16 416 (spawning-device) Starting... 34
1 07/20/15 21:26:16 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:26:16.642 Weather: Config: WWO <0xb6635700>
05 07/20/15 21:26:16.642 Weather: Use World Weather Online <0xb6635700>
Return code: 139
3 07/20/15 21:26:16 416 (spawning-device) Device died... count=34/50 dev=416
Mon Jul 20 21:26:16 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:26:26 416 (spawning-device) Starting... 35
1 07/20/15 21:26:26 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:26:26.817 Weather: Config: WWO <0xb6628700>
05 07/20/15 21:26:26.818 Weather: Use World Weather Online <0xb6628700>
Return code: 139
3 07/20/15 21:26:26 416 (spawning-device) Device died... count=35/50 dev=416
Mon Jul 20 21:26:26 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:26:36 416 (spawning-device) Starting... 36
1 07/20/15 21:26:36 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:26:36.992 Weather: Config: WWO <0xb667f700>
05 07/20/15 21:26:36.992 Weather: Use World Weather Online <0xb667f700>
Return code: 139
3 07/20/15 21:26:37 416 (spawning-device) Device died... count=36/50 dev=416
Mon Jul 20 21:26:37 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:26:47 416 (spawning-device) Starting... 37
1 07/20/15 21:26:47 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:26:47.112 Weather: Config: WWO <0xb665b700>
05 07/20/15 21:26:47.112 Weather: Use World Weather Online <0xb665b700>
Return code: 139
3 07/20/15 21:26:47 416 (spawning-device) Device died... count=37/50 dev=416
Mon Jul 20 21:26:47 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:26:57 416 (spawning-device) Starting... 38
1 07/20/15 21:26:57 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:26:57.272 Weather: Config: WWO <0xb65cb700>
05 07/20/15 21:26:57.272 Weather: Use World Weather Online <0xb65cb700>
Return code: 139
3 07/20/15 21:26:57 416 (spawning-device) Device died... count=38/50 dev=416
Mon Jul 20 21:26:57 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:27:07 416 (spawning-device) Starting... 39
1 07/20/15 21:27:07 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:27:07.448 Weather: Config: WWO <0xb667e700>
05 07/20/15 21:27:07.448 Weather: Use World Weather Online <0xb667e700>
Return code: 139
3 07/20/15 21:27:07 416 (spawning-device) Device died... count=39/50 dev=416
Mon Jul 20 21:27:07 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:27:17 416 (spawning-device) Starting... 40
1 07/20/15 21:27:17 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:27:17.622 Weather: Config: WWO <0xb66af700>
05 07/20/15 21:27:17.623 Weather: Use World Weather Online <0xb66af700>
Return code: 139
3 07/20/15 21:27:17 416 (spawning-device) Device died... count=40/50 dev=416
Mon Jul 20 21:27:17 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:27:27 416 (spawning-device) Starting... 41
1 07/20/15 21:27:27 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:27:27.826 Weather: Config: WWO <0xb6661700>
05 07/20/15 21:27:27.826 Weather: Use World Weather Online <0xb6661700>
Return code: 139
3 07/20/15 21:27:27 416 (spawning-device) Device died... count=41/50 dev=416
Mon Jul 20 21:27:27 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:27:37 416 (spawning-device) Starting... 42
1 07/20/15 21:27:37 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:27:37.999 Weather: Config: WWO <0xb6681700>
05 07/20/15 21:27:37.999 Weather: Use World Weather Online <0xb6681700>
Return code: 139
3 07/20/15 21:27:38 416 (spawning-device) Device died... count=42/50 dev=416
Mon Jul 20 21:27:38 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:27:48 416 (spawning-device) Starting... 43
1 07/20/15 21:27:48 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:27:48.190 Weather: Config: WWO <0xb6691700>
05 07/20/15 21:27:48.190 Weather: Use World Weather Online <0xb6691700>
Return code: 139
3 07/20/15 21:27:48 416 (spawning-device) Device died... count=43/50 dev=416
Mon Jul 20 21:27:48 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:27:58 416 (spawning-device) Starting... 44
1 07/20/15 21:27:58 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:27:58.365 Weather: Config: WWO <0xb667f700>
05 07/20/15 21:27:58.366 Weather: Use World Weather Online <0xb667f700>
Return code: 139
3 07/20/15 21:27:58 416 (spawning-device) Device died... count=44/50 dev=416
Mon Jul 20 21:27:58 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:28:08 416 (spawning-device) Starting... 45
1 07/20/15 21:28:08 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:28:08.539 Weather: Config: WWO <0xb6608700>
05 07/20/15 21:28:08.539 Weather: Use World Weather Online <0xb6608700>
Return code: 139
3 07/20/15 21:28:08 416 (spawning-device) Device died... count=45/50 dev=416
Mon Jul 20 21:28:08 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:28:18 416 (spawning-device) Starting... 46
1 07/20/15 21:28:18 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:28:18.690 Weather: Config: WWO <0xb6656700>
05 07/20/15 21:28:18.690 Weather: Use World Weather Online <0xb6656700>
Return code: 139
3 07/20/15 21:28:18 416 (spawning-device) Device died... count=46/50 dev=416
Mon Jul 20 21:28:18 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:28:28 416 (spawning-device) Starting... 47
1 07/20/15 21:28:28 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:28:28.806 Weather: Config: WWO <0xb6624700>
05 07/20/15 21:28:28.806 Weather: Use World Weather Online <0xb6624700>
Return code: 139
3 07/20/15 21:28:28 416 (spawning-device) Device died... count=47/50 dev=416
Mon Jul 20 21:28:28 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:28:38 416 (spawning-device) Starting... 48
1 07/20/15 21:28:38 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:28:38.926 Weather: Config: WWO <0xb6677700>
05 07/20/15 21:28:38.926 Weather: Use World Weather Online <0xb6677700>
Return code: 139
3 07/20/15 21:28:38 416 (spawning-device) Device died... count=48/50 dev=416
Mon Jul 20 21:28:38 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:28:48 416 (spawning-device) Starting... 49
1 07/20/15 21:28:48 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:28:49.040 Weather: Config: WWO <0xb6646700>
05 07/20/15 21:28:49.040 Weather: Use World Weather Online <0xb6646700>
Return code: 139
3 07/20/15 21:28:49 416 (spawning-device) Device died... count=49/50 dev=416
Mon Jul 20 21:28:49 CEST 2015 died
========== NEW LOG SECTION ==========
1 07/20/15 21:28:59 416 (spawning-device) Starting... 50
1 07/20/15 21:28:59 416 (spawning-device) Found /usr/pluto/bin/Weather
05 07/20/15 21:28:59.158 Weather: Config: WWO <0xb65fb700>
05 07/20/15 21:28:59.158 Weather: Use World Weather Online <0xb65fb700>
Return code: 139
3 07/20/15 21:28:59 416 (spawning-device) Device died... count=50/50 dev=416
Mon Jul 20 21:28:59 CEST 2015 died
3 07/20/15 21:29:09 416 (spawning-device) Aborting restart of device 416...

any thoughts on how to get it going,
thanks in advance,

br,
Raymond
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on July 21, 2015, 12:28:50 pm
use this configuration

API:WWO:nl:<myapicode>:C:maastricht:18,timer:25
                !           !           !     !             !    !--timer parameter = 25 minutes
                !           !           !     !             !------Map code (get from http://www.worldweatheronline.com/weather-map)
                !           !           !     !------------------City Name
                !           !           !----------------------- C  for Celsius  F for  fahrenheit
                !           !----------------------------------Api code
                !-------------------------------------------- Language
Title: Re: Developing a Weather Plugin, videos
Post by: RayBe on July 21, 2015, 03:38:22 pm
cfernandes, succes!
That did the trick!
With great help from posde i got it running.
My log now shows:
Code: [Select]
== FRESH START ==
1 07/21/15 15:06:34 /usr/pluto/bin/Spawn_Device.sh 416 (spawning-device) device: 416 ip: localhost cmd_line: Weather
0 07/21/15 15:06:34 416 (spawning-device) Entering 416
========== NEW LOG SECTION ==========
1 07/21/15 15:06:34 416 (spawning-device) Starting... 1
1 07/21/15 15:06:34 416 (spawning-device) Found ./Weather
05 07/21/15 15:06:34.335 Weather: Config: WWO <0xb6647700>
05 07/21/15 15:06:34.335 Weather: Use World Weather Online <0xb6647700>
05 07/21/15 15:06:34.335 Weather: Use World Weather Online language nl <0xb6647700>
05 07/21/15 15:06:34.335 Weather: Use World Weather Online api key 56953ad2c43c07b2cb4d126da6640 <0xb6647700>
05 07/21/15 15:06:34.335 Weather: Use World Weather Online units C <0xb6647700>
05 07/21/15 15:06:34.335 Weather: Use World Weather Online city maastricht <0xb6647700>
05 07/21/15 15:06:34.335 Weather: Use World Weather Online Radaar 18 <0xb6647700>
05 07/21/15 15:06:34.335 Weather: Timer is set to: 25.000000 minutes <0xb6645b40>
05 07/21/15 15:06:34.335 Weather: Getting Weather Data using: ?? <0xb52ffb40>
05 07/21/15 15:06:34.335 Weather: Inside WWO <0xb52ffb40>
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on July 26, 2015, 02:58:20 pm
the World Weather Online  does not provide  text Forecast

swapped values is corrected.

i upload svn diff  for this correction on trac.



Title: Re: Developing a Weather Plugin, videos
Post by: tschak909 on August 17, 2015, 11:33:22 pm
Hey guys, have rewritten the Configuration device data parser in the Weather device to use cleaner parsing methods, invalid data should no longer cause a segfault, but print an error, and exit the device.

Commit is here:

http://svn.linuxmce.org/trac/changeset/31086

-Thom
Title: Re: Developing a Weather Plugin, videos
Post by: posde on August 18, 2015, 04:27:49 am
And the package has been created and is in the repository for 1204.
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on September 13, 2015, 04:22:48 pm
Hey Thom,

I'm working on a better api to fetch the weather data,
but encountered a problem and would like to check with you.
when sending the temp_current and temp_tonight, the orbiter appears temp_current in right_now and also in the forecast. the forecast should show temp_tonight ?

Title: Re: Developing a Weather Plugin, videos
Post by: tschak909 on September 13, 2015, 05:16:56 pm
I'll take a look, and make any needed changes to the plugin or the designer data. Keep trucking on. :)

-Thom
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on September 13, 2015, 05:23:57 pm
Thom

not wanting to abuse, but already abusing, I would like to add more icons to show all the possibilities

[Light/Heavy] Drizzle
[Light/Heavy] Rain
[Light/Heavy] Snow
[Light/Heavy] Snow Grains
[Light/Heavy] Ice Crystals
[Light/Heavy] Ice Pellets
[Light/Heavy] Hail
[Light/Heavy] Mist
[Light/Heavy] Fog
[Light/Heavy] Fog Patches
[Light/Heavy] Smoke
[Light/Heavy] Volcanic Ash
[Light/Heavy] Widespread Dust
[Light/Heavy] Sand
[Light/Heavy] Haze
[Light/Heavy] Spray
[Light/Heavy] Dust Whirls
[Light/Heavy] Sandstorm
[Light/Heavy] Low Drifting Snow
[Light/Heavy] Low Drifting Widespread Dust
[Light/Heavy] Low Drifting Sand
[Light/Heavy] Blowing Snow
[Light/Heavy] Blowing Widespread Dust
[Light/Heavy] Blowing Sand
[Light/Heavy] Rain Mist
[Light/Heavy] Rain Showers
[Light/Heavy] Snow Showers
[Light/Heavy] Snow Blowing Snow Mist
[Light/Heavy] Ice Pellet Showers
[Light/Heavy] Hail Showers
[Light/Heavy] Small Hail Showers
[Light/Heavy] Thunderstorm
[Light/Heavy] Thunderstorms and Rain
[Light/Heavy] Thunderstorms and Snow
[Light/Heavy] Thunderstorms and Ice Pellets
[Light/Heavy] Thunderstorms with Hail
[Light/Heavy] Thunderstorms with Small Hail
[Light/Heavy] Freezing Drizzle
[Light/Heavy] Freezing Rain
[Light/Heavy] Freezing Fog
Patches of Fog
Shallow Fog
Partial Fog
Overcast
Clear
Partly Cloudy
Mostly Cloudy
Scattered Clouds
Small Hail
Squalls
Funnel Cloud
Unknown Precipitation
Unknown
Title: Re: Developing a Weather Plugin, videos
Post by: tschak909 on September 13, 2015, 07:10:31 pm
The code has been changed to add a couple of variables, ending in _tonight, for the tonight's forecast page, bringing the variables available, to:

Code: [Select]
      UpdateBoundIcon(sDeviceIDs, "cond_current", "weather");
      UpdateBoundIcon(sDeviceIDs, "cond_tonight", "weather_tonight");
      UpdateBoundIcon(sDeviceIDs, "cond_day1", "weather_day1");
      UpdateBoundIcon(sDeviceIDs, "cond_day2", "weather_day2");
      UpdateBoundIcon(sDeviceIDs, "cond_day3", "weather_day3");
      UpdateBoundIcon(sDeviceIDs, "cond_day1", "weather_day16");
      UpdateBoundIcon(sDeviceIDs, "cond_day2", "weather_day26");
      UpdateBoundIcon(sDeviceIDs, "cond_day3", "weather_day36");
      UpdateBoundIcon(sDeviceIDs, "cond_day4", "weather_day4");
      UpdateBoundIcon(sDeviceIDs, "cond_day5", "weather_day5");
      UpdateBoundIcon(sDeviceIDs, "cond_day6", "weather_day6");
 
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherNow_CONST),TEXT_Current_Description_CONST,"cond_current");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherNow_CONST),TEXT_Current_Temperature_CONST,"temp_current");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherNow_CONST),TEXT_Current_Humidity_Data_CONST,"humidity_current");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherNow_CONST),TEXT_Current_Pressure_Data_CONST,"pressure_current");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherNow_CONST),TEXT_Current_Wind_Data_CONST,"wind_current");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherNow_CONST),TEXT_Current_Direction_Data_CONST,"direction_current");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherNow_CONST),TEXT_Current_Visibility_Data_CONST,"visibility_current");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherNow_CONST),TEXT_Current_Feels_Like_Data_CONST,"feelslike_current");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherNow_CONST),TEXT_City_Data_CONST,"location");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherNowDesc_CONST),TEXT_City_Data_CONST,"location");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast3_CONST),TEXT_City_Data_CONST,"location");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast6_CONST),TEXT_City_Data_CONST,"location");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherNowDesc_CONST),TEXT_Current_Description_CONST,"cond_tonight");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherNowDesc_CONST),TEXT_Current_Temperature_CONST,"temp_tonight");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherNowDesc_CONST),TEXT_Tomorrow_Weather_Forecast_CONST,"forecast_tonight");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherNow_CONST),TEXT_Age_of_Data_CONST,"data_age");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherNowDesc_CONST),TEXT_Age_of_Data_CONST,"data_age");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast3_CONST),TEXT_Age_of_Data_CONST,"data_age");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast6_CONST),TEXT_Age_of_Data_CONST,"data_age");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast3_CONST),TEXT_Day_1_Condition_CONST,"cond_day1");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast3_CONST),TEXT_Day_2_Condition_CONST,"cond_day2");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast3_CONST),TEXT_Day_3_Condition_CONST,"cond_day3");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast3_CONST),TEXT_3day_Hi_Data_1_CONST,"temp_hi_day1");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast3_CONST),TEXT_3day_Lo_Data_1_CONST,"temp_lo_day1");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast3_CONST),TEXT_3day_Hi_Data_2_CONST,"temp_hi_day2");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast3_CONST),TEXT_3day_Lo_Data_2_CONST,"temp_lo_day2");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast3_CONST),TEXT_3day_Hi_Data_3_CONST,"temp_hi_day3");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast3_CONST),TEXT_3day_Lo_Data_3_CONST,"temp_lo_day3");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast3_CONST),TEXT_3day_dow1_CONST,"dow_day1");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast3_CONST),TEXT_3day_dow2_CONST,"dow_day2");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast3_CONST),TEXT_3day_dow3_CONST,"dow_day3");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast6_CONST),TEXT_3day_dow1_CONST,"dow_day1");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast6_CONST),TEXT_3day_dow2_CONST,"dow_day2");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast6_CONST),TEXT_3day_dow3_CONST,"dow_day3");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast6_CONST),TEXT_6day_dow4_CONST,"dow_day4");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast6_CONST),TEXT_6day_dow5_CONST,"dow_day5");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast6_CONST),TEXT_6day_dow6_CONST,"dow_day6");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast6_CONST),TEXT_3day_Hi_Data_1_CONST,"temp_hi_day1");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast6_CONST),TEXT_3day_Lo_Data_1_CONST,"temp_lo_day1");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast6_CONST),TEXT_3day_Hi_Data_2_CONST,"temp_hi_day2");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast6_CONST),TEXT_3day_Lo_Data_2_CONST,"temp_lo_day2");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast6_CONST),TEXT_3day_Hi_Data_3_CONST,"temp_hi_day3");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast6_CONST),TEXT_3day_Lo_Data_3_CONST,"temp_lo_day3");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast6_CONST),TEXT_6day_Hi_Data4_CONST,"temp_hi_day4");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast6_CONST),TEXT_6day_Lo_Data4_CONST,"temp_lo_day4");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast6_CONST),TEXT_6day_Hi_Data5_CONST,"temp_hi_day5");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast6_CONST),TEXT_6day_Lo_Data5_CONST,"temp_lo_day5");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast6_CONST),TEXT_6day_Hi_Data6_CONST,"temp_hi_day6");
      UpdateText(sDeviceIDs,TOSTRING(DESIGNOBJ_mnuWeatherForecast6_CONST),TEXT_6day_Lo_Data6_CONST,"temp_lo_day6");

If you want this before a package is built, please build the weather plugin and install it.

We can do icons a bit later, as it may need to increase the size of the alternate images text field to accomodate them (I have to literally do a field for each.)

Not to mention ,that every single skin has to have icons to match. We need to be sure about this.

Also, it seems that Hi and Lo on my system are being shown backwards.

-Thom
Title: Re: Developing a Weather Plugin, videos
Post by: tschak909 on September 13, 2015, 07:11:14 pm
If you want to understand how the bound icons for weather are being handled, please watch my Plugin video.

-Thom
Title: Re: Developing a Weather Plugin, videos
Post by: Dap-P on December 19, 2016, 11:45:21 pm
I dont know if someone is still working on this, but for me the Hi and Lo values are also reversed
Title: Re: Developing a Weather Plugin, videos
Post by: posde on December 20, 2016, 06:40:58 am
Tschak is taking a sabbatical, so nobody is currently working on it. Feel free to dive in :)
Title: Re: Developing a Weather Plugin, videos
Post by: cfernandes on December 23, 2016, 07:05:03 pm
Hello,
after the holidays I will return to the development, this past year I had some problems at work and I could not dedicate myself to Linuxmce

Carlos.
Title: Re: Developing a Weather Plugin, videos
Post by: posde on December 23, 2016, 11:16:34 pm
2016 seems to have been something to get rid of asap - luckily, it is only a bit over two weeks, and it is over :)