Widget : BigWeather

Welcome to

BigWeather



INTRO!

* Features
Displays weather information based upon your current GPS location. Supports 12 and 24 hour. Support metric and imperial. Supports C / F temperatures. Shows weather condition (icon and text), temperature (plus min and max temperature), humidity %, cloudiness %, wind speed and direction, pressure, sunrise and sunset times. Also shows a 3 day forecast (min/max temparature and humidity %).

* Notes
1) I rely on the weather data returned from a 3rd party (Open Weather API) so I cannot vouch for it 100%. Please don't leave negative feedback if the weather is incorrect, tell Open Weather!

2) If you *REALLY* want more accurate data (and/or) more weather data then one option is for you to pay for an API key for the 3rd party Work Weather Online service. Once Garmin allow customisation of widgets then I'll be able to switch to the World Weather Online weather feed. Until then please don't ask for stuff like 'chance of snow' etc as the free API doesn't allow this. Bottom line is if you want BigWeather to be far, far better then you'll have to be prepared to help me to help you!

USER GUIDE & FAQ

Want to know how to get the best out of BigTime or have a question, why not take a look at the User Guide and FAQ here

BUG REPORTS AND FEATURE REQUESTS

Please don't leave bug reports and feature requests when leaving feedback, please visit the Issue Tracker here

VERSION HISTORY!

Full version history is available here

IN CONCLUSION!

I am an independent software developer. I'm also a dedicated runner, passionate about my health/fitness and been an owner of many Garmin devices over the years (305, 310, 910, vivofit to name a few). If you would like to learn more about BigWeather see here www.boiledsweets.com/garmin

Now go, go run...

Thanks! :)
  • in fact it loads and works the first three times on the watch then the 4th time just 'hangs'

    by hangs I mean does seem to get the onPosition event

    if I power off and on it just hangs. if I reinstall the widget then it works three times then hangs again

    but not always. WTF!

    any ideas?!

    its not memory usage as it's always showing used memory 52357.
  • in fact it loads and works the first three times on the watch then the 4th time just 'hangs'

    by hangs I mean does seem to get the onPosition event

    if I power off and on it just hangs. if I reinstall the widget then it works three times then hangs again

    any ideas?!

    its not memory usage as it's always showing used memory 52357.


    A widget with comm permissions will time out in something like 45 sec to 60 sec. Does this happen? Does "back" work? Is there anything in the (pre-created )CIQ_LOG.txt file in the logs directory on the device?

    Are you looking as used memory in the sim or in the device itself? (Sys.println() will output to (pre-created) <appname>.txt file in the logs directory. (52k is pretty big...)

    What happens when you run the weather sample on your watch?

    I'd suspect the images you're using are taking too much memory. In the program, do you load them all, or you only load the one you want to display? I'd suggest trying not loading/displaying the icons and see how it works.

    For my OW widget, a non-debug version of the .prg is 12k (simulator shows 15k), but it has only one 32x32 2-color image and no custom fonts, and only one view.
  • A widget with comm permissions will time out in something like 45 sec to 60 sec. Does this happen? Does "back" work? Is there anything in the (pre-created )CIQ_LOG.txt file in the logs directory on the device?


    doesn't time out. back works. ciq_log.txt =

    @PC = 0x1000036E
    @PC = 0x30000502
    @PC = 0x30000502
    @PC = 0x10000D53
    TVM ERROR:
    Unexpected Type Error
    Failed invoking <symbol>

    TVM ERROR:
    Unexpected Type Error
    Failed invoking <symbol>

    Are you looking as used memory in the sim or in the device itself? (Sys.println() will output to (pre-created) <appname>.txt file in the logs directory. (52k is pretty big...)


    this log shows...

    initialize()
    onShow()
    units=metric
    onUpdate()
    status = -99
    onUpdate()
    status = -99
    onUpdate()
    status = -99
    onPosition

    lat lon = 50.841145,-0.135602
    no GPS using last know position
    onUpdate()
    status = -99
    onPosition

    lat lon = 50.841145,-0.135602
    no GPS using last know position
    onUpdate()
    status = -99
    onPosition

    lat lon = 50.841145,-0.135602
    no GPS using last know position
    onUpdate()
    status = -99
    onPosition

    lat lon = 50.841145,-0.135602
    no GPS using last know position
    onUpdate()
    status = -99
    onPosition

    lat lon = 50.841145,-0.135602
    no GPS using last know position
    onReceive

    initialize()
    onShow()
    units=metric
    onUpdate()
    status = -99
    onUpdate()
    status = -99
    onUpdate()
    status = -99
    onPosition

    lat lon = 50.841145,-0.135602
    no GPS using last know position
    onUpdate()
    status = -99
    onReceive
    Response : 200
    {visibility=>10000, main=>{temp=>16.809999, humidity=>52, temp_min=>14, temp_max=>18, pressure=>1016}, weather=>[{main=>Clear, id=>800, description=>Sky is Clear, icon=>01n}], base=>stations, cod=>200, dt=>1439843384, sys=>{sunset=>1439838972, message=>0.014200, type=>1, sunrise=>1439787100, id=>5089, country=>GB}, id=>3333133, coord=>{lon=>-0.130000, lat=>50.830002}, wind=>{deg=>320, speed=>3.600000}, clouds=>{all=>0}, name=>Borough of Brighton and Hove}
    Code = 200
    status is now:0
    Aug 17 21:29
    5:51
    5:51
    onUpdate()
    status = 0

    all good!
    weather=01n
    wi=C
    icon=C
    onUpdate()
    status = 0

    all good!
    weather=01n
    wi=C
    icon=C

    initialize()
    onShow()
    units=metric
    onUpdate()
    status = -99
    onUpdate()
    status = -99
    onUpdate()
    status = -99

    you can see that the onPosition is called the first few times, then just isn't

    What happens when you run the weather sample on your watch?


    just shows, 'waiting for GPS'
  • if this can help :)

    anyway...
    after starting BW I got a screen showing an "IQ" icon with on the right upper side an exclamation mark
    my guess : because location was not activated on the phone



    No, the "iq!" is a crash of the widget. The location is from GPS on your device, and not your phone. The phone is no more than a "bridge" between the watch and the internet.
  • Jim,

    interesting, even though I have this

    function initialize()
    {
    Sys.println("\ninitialize()");
    status = -99;
    msg = "";
    Position.enableLocationEvents(Position.LOCATION_ONE_SHOT, method(:onPosition));
    }

    function onPosition()
    {
    Sys.println("onPosition");
    ....etc

    in my log I see this onPosition being called many many times!
  • even though I do a one shot call for on position I see it being called many times!

    function initialize()
    {
    Sys.println("\ninitialize()");
    status = -99;
    msg = "";
    Position.enableLocationEvents(Position.LOCATION_ONE_SHOT, method(:onPosition));
    }

    function onPosition()
    {
    Sys.println("onPosition");
    ..... etc


    but I see this


    initialize()
    onShow()
    units=metric
    onUpdate()
    status = -99
    onUpdate()
    status = -99
    onUpdate()
    status = -99
    onPosition

    lat lon = 50.841148,-0.135228
    no GPS using last know position
    onUpdate()
    status = -99
    onPosition

    lat lon = 50.841148,-0.135228
    no GPS using last know position
    onUpdate()
    status = -99
    onPosition

    lat lon = 50.841148,-0.135228
    no GPS using last know position
    onUpdate()
    status = -99
    onPosition

    lat lon = 50.841148,-0.135228
    no GPS using last know position
    onReceive
    Response : 200
    {visibility=>10000, main=>{temp=>16.809999, humidity=>52, temp_min=>14, temp_max=>18, pressure=>1016}, weather=>[{main=>Clear, id=>800, description=>Sky is Clear, icon=>01n}], base=>stations, cod=>200, dt=>1439843384, sys=>{sunset=>1439838972, message=>0.014200, type=>1, sunrise=>1439787100, id=>5089, country=>GB}, id=>3333133, coord=>{lon=>-0.130000, lat=>50.830002}, wind=>{deg=>320, speed=>3.600000}, clouds=>{all=>0}, name=>Borough of Brighton and Hove}
    Code = 200
    status is now:0
  • just shows, 'waiting for GPS'


    If this is what you see on the watch, which watch is is? If there is a GPS switch on the watch, is it on or off? (turn on if off)

    It will show the "waiting message for a few seconds, but under open sky should have no problem. I just tried it on my va (it's been a while since I used the sameple, and it took less than 2 seconds to get past "waiting for GPS". (with GPS turned off in the system settings)

    In the rest of you log, I don't understand why onPosition is called 4 times, when you do the one-shot in initialize. Are you looking specifically for "last known" and doing the one-shot again or something? From what I've seen, onPosition should only be called once for each time you do a one-shot.
  • If this is what you see on the watch, which watch is is? If there is a GPS switch on the watch, is it on or off? (turn on if off)

    It will show the "waiting message for a few seconds, but under open sky should have no problem. I just tried it on my va (it's been a while since I used the sameple, and it took less than 2 seconds to get past "waiting for GPS". (with GPS turned off in the system settings)


    It's a 920, the GPS is enabled but i'm indoors.

    What I'm trying to get is sensible, repeatable behaviour with and without the GPS / bluetooth available but there is no consistancy. Why does the onPosition function keep getting called even though it's a on off call?
  • Former Member
    Former Member over 10 years ago
    Downloaded the update and everything is working nicely here! Loaded it up about 6 times testing.
  • Try building the weather app and running it on the device three or four times. works fine but then just hangs there with 'waiting for gps'.

    I suspect this is a connectiq bug!!!!