LinuxMCE Forums
General => Developers => Topic started 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
-
Hi Thom
Great stuff, thank you.
Would it be possible to link a Davis weather station to lmce?
Dries
-
bushtech,
every device that has an open protocol can be linked to LinuxMCE.
-
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)
-
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
-
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
-
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
-
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
-
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
-
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.
-
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
-
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
-
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
-
Is anyone watching these? should I keep making them?
It's an apt and honest question.
-Thom
-
They are always appreciated, even if not watched right away.
-
Yep, watching with bated breath :)
-
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
-
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.
-
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.
-
Yes, and YES.
Excellent video. Darn, if only I'd watched this before I mucked about with sqlCVS the first time.
+1 ;)
-
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!
-
Dude, you realize you can come on IRC, in the -devel channel, and just ASK me questions, right? ;)
-Thom
-
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.
-
It's an apt and honest question.
-Thom
Thom,
You've put your finger right on the problem...
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
-
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
-
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
-
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)
-
This is the test harness script, that I am using to test the Weather Plugin, as you see, it's just MessageSends:
/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"
-
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
-
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.
-
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
-
8) Great stuff there.
-Coley.
-
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
-
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.
-
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.
-
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
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
-
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
-
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
-
If you want to see the code, it's here:
http://svn.linuxmce.org/trac.cgi/browser/trunk/src/Weather_PlugIn
:)
-Thom
-
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.
-
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
-
HI Thom
for my test i write a php script that grab info from worldweatheronline
and the condicon is changing but other values not !
-
cf
I couldn't get your test script to work at all.
could I get your help making one for weather.com based
-
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.
-
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
-
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
-
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 .
-
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";
-
all good but a few problems it Spanish or something.. I change the c to f nothing works right local cast say just f
-
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" ....
-
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.
-
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";
-
posde
this script is only one test that i build .
is simple to use php longname
a make the corrections .
-
:)
Isn't it nice that sometimes build-in functions save a lot of code AND improve internationalisation.
Thank you!
-
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.
-
yahoo does it?
-
i'll try
-
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.
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
-
cf
any luck with yahoo?
-
i make some progress using worldweatheronline.com
now i need to fix some records from install table
-
nice
I can test it after your done if you like.
-
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
-
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.
-
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
-
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
-
And... If anyone has anything near functional I am happy to work to help integrate that functionality into the system. :-)
J.
-
Hi J.
ig you hame some free time we can talk to make my script more efficient
Cfernandes
-
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.
-
for now I am seeking information regarding the location in the installation table.
and seeking weather information at:
www.worldweatheronline.com
-
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.
-
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"
-
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.
-
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.
-
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?
-
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
-
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
-
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.
-
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. ;)
-
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.
-
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.
-
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.
-
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.
-
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
-
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.
-
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 likeif(NOAA) {
Get_NOAA_DATA();
} else...
-
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
-
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
-
Hi jim,
you can share the code with me, i can help integrate other api.
Carlos Fernandes
-
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
-
Sounds like great stuff so far guys! Keep up the great work!
J.
-
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
-
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
-
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.
-
Fine with me.
-
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
-
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
-
Hey guys, I've been distracted. How are things going? Is there anything I can do to help right now?
J(ason).
-
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
-
Awesome! I'll check this out over the next couple of days!
J.
-
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.
-
So after DCEGen run I now get a new error. Looks like an issue with the mutex calls.
(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
-
========== 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.
-
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
-
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
-
: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.
-
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
-
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.
-
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
-
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.
-
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.
-
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
-
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
-
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
-
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
-
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
-
how do i go about that?
-
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
-
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
-
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
-
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
-
cfernandes
i still get access diened for noaa..
-
Hi, i got a free account with WWO and used the following syntax for the configuration data in webadmin
API:WWO:nl:<myapikey>:C:maastricht
The log shows (snipet):
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
-
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
-
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
-
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
-
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:
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
-
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
-
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&
-
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.
-
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 .
-
cfernandes
I tried binary and core dumped
-
sorry !
some weather codes is missing. i update de binary please try again
https://www.dropbox.com/s/k3j5fce8xiy0jp0/Weather?dl=0
-
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)
-
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.
-
Sorry J.
How can I send the changes I made in part of the code ?
Carlos
-
Make a diff and attach it to a ticket.
-
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
-
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.
-
ok i will make svn diffs
cfernandes:$apr1$GzCyqH7T$x9Hwwuj8bHLAnStYSbMVO/
-
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!
-
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:
API:WWO:nl:<myapicode>:C:maastricht
and my log shows:
== 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
-
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
-
cfernandes, succes!
That did the trick!
With great help from posde i got it running.
My log now shows:
== 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>
What do the question marks mean in the "Getting Weather Data using:" field?
If the other syntaxes, you posted a few posts ago, for getting the weather data are correct, i will add them to the wiki.
Just a few notes/feedback:
- When i select 'Forecast' i get 'no data' on my orbiter
- On the '3-day' view, the 'Hi' and 'Lo' values are swapped, in the 'Hi' field its showing the 'Lo' value and in the 'Lo' field its showing the 'Hi' value
- On the 'Right Now' screen, part of it is still in english
Awesome work!
Thanks a lot
br,
Raymond
-
the World Weather Online does not provide text Forecast
swapped values is corrected.
i upload svn diff for this correction on trac.
-
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
-
And the package has been created and is in the repository for 1204.
-
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 ?
-
I'll take a look, and make any needed changes to the plugin or the designer data. Keep trucking on. :)
-Thom
-
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
-
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:
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
-
If you want to understand how the bound icons for weather are being handled, please watch my Plugin video.
-Thom
-
I dont know if someone is still working on this, but for me the Hi and Lo values are also reversed
-
Tschak is taking a sabbatical, so nobody is currently working on it. Feel free to dive in :)
-
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.
-
2016 seems to have been something to get rid of asap - luckily, it is only a bit over two weeks, and it is over :)