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! :)
  • Former Member
    Former Member over 9 years ago
    It is now available here : https://apps.garmin.com/en-US/apps/6c5d1aaa-74f6-4e87-88d7-079c52426fc1


    Thanks, just installed it. Couple questions, is it supposed to say Brighton at the top all the time? Also sunrise and sunset are showing as being 12:51 and 3:16 respectively. Maybe that is Brighton time?:cool: I did try connecting to GPS through another app first just in case.
  • you also need a working network bluetooth connection...

    update:also Brighton on FR920xt FW5.25
    with GPS and working bluetooth on watch and Location activated on phone
    restarted watch...still Brighton 21C 42% 4 m/s


    Will fix, give me 2 hours!!
  • Will fix, give me 2 hours!!


    I posted in the other thread - if you use
    Position.enableLocationEvents(Position.LOCATION_ONE_SHOT, method(:onPosition));

    in onPosition, you'll get the current location. It fires up GPS just long enough to get it, and only takes a few seconds in a widget.
  • and what happens if the listener function isn't called then I have no position

    in the onPosition function I was calling the json request but if the positon isn't found then I cannot use the last position and make the json request
  • and what happens if the listener function isn't called then I have no position

    in the onPosition function I was calling the json request but if the positon isn't found then I cannot use the last position and make the json request



    I've never seen that case. onPosition() (worst case) will have a location with a quality of "last known". if onPosition doesn't occur, the widget will simply time out and return to the watchface.

    What I do is this. Call the oneshot, put a message "waiting for GPS" on the screen, then when doing the makeJsonRequest(), put up a message "waiting for data". If there is a timeout, the user will see why it's waiting.. On the va at least, it works very reliably.

    The one time I don't see onPosition getting called is in the simulator, and I'm not playing back or simulating .fit data (that's where it gets the GPS info from)

    See the weather sample in the SDK
  • Hard to test this on the mac but I have it like this

    in onShow it calls...

    Position.enableLocationEvents(Position.LOCATION_ONE_SHOT, method(:onPosition));

    in onPosition it calls

    Comm.makeJsonRequest("api.openweathermap.org/.../weather",
    {"lat"=>latlon[0].toFloat(), "lon"=>latlon[1].toFloat(), "units"=>units}, {}, method(:onReceive));

    but all I'm seeing now is it returning to the watch face :-(

    Seems to work in the simulator but on the watch it doesn't seem to work, but hard to diagnose why
  • Hard to test this on the mac but I have it like this

    in onShow it calls...

    Position.enableLocationEvents(Position.LOCATION_ONE_SHOT, method(:onPosition));

    in onPosition it calls

    Comm.makeJsonRequest("api.openweathermap.org/.../weather",
    {"lat"=>latlon[0].toFloat(), "lon"=>latlon[1].toFloat(), "units"=>units}, {}, method(:onReceive));

    but all I'm seeing now is it returning to the watch face :-(

    Seems to work in the simulator but on the watch it doesn't seem to work, but hard to diagnose why


    I'd do the one shot in initialize() and not onShow... onShow can be called more than once. Look at the weather sample in the SDK, and try that in the simulator and your watch.

    Again, in the simulator, make sure you are simulating or playing back fit data. (if you simulate, you'll get GPS around the Garmin building in Kansas, BTW...)

    Having FIT data is the key to testing something like this in the suimulator.
  • seems to kinda work on the watch the first time run then does
  • I think it really needs to show dew point instead of humidity.
  • Jim,

    works on simulator in the following conditions:

    gps not available, gps last know and gps good etc
    bluetooth unavailable and bluetooth available

    when I say works, it reports behaves correctly, i.e. displays the correct status, i.e. not bluetooth, gps etc etc

    but I stick on the watch and sometimes it work, sometimes it just does seem to get past the initialise phase, how annoying!