Widget - Weather Radar Widget

Note: WUradar Widget is now known as Weather Radar Widget!

I got approval for a widget to display a Weather Radar image based on the device GPS coordinates.  Use the following link to download the widget.

https://apps.garmin.com/en-US/apps/9c692f27-57d6-4488-91ae-5dd846a4ad26

Sep 27, 2021 - Added Weather Radar App to the store

https://apps.garmin.com/en-US/apps/bddf48af-bbdb-425c-bc7f-34309e529a2e

The Weather Radar App is essentially version 4.33 of the widget released as a full device app.  This version allows for full screen images on all supported devices.  Enables animations on a few additional devices than supported by the widget.  Lastly, the radar image will auto update every 5 minutes and will not time out and return to the watch face.  Both the widget and the app share a common registration, so if you subscribe to either the widget or the app, you get access to unlock both versions.

App Setup:
Version 4.0 represents a major overhaul in the Weather Radar Widget.  It no longer requires any configuration and should work from initial download.  The radar data being used does cost each month, so this widget has switched to a trial/subscription model.  To start out every new device gets a 21 day free trial that is fully functional.  After the trial is over, you need to sign up for a nominal annual subscription.  After completing your subscription, go into the settings and and your email address used for from the PayPal transaction.  The next time the widget is run, the widget will remain unlocked for 1 year.  After which, you will need to renew again.

Follow these step in order to enter your email address into the settings.  https://ciq.sabeard.net/wrw4/registered.php

Using the widget:
This widget will show up in the widget loop on the device.  How you access that loop will depend on the device.
Button Watches - Press the up or down buttons on the watch until you see the Weather Radar Widget
Touchscreen Watches - Swipe up or down until you see the Weather Radar Widget
Edge devices with Buttons - Use up or down button until you see the Weather Radar Widget
Touchscreen Handheld and Edge devices - Swipe down from the top of the screen to show status page, then swipe right or left until you see the Weather Radar Widget

Acknowledgements:
I decided to write this widget because I recently upgraded my edge 810 to an edge 1000. After setting it up, I noticed the accuweather widget could tell me if it was expected to rain, but there was no way to view the radar map without pulling over to take out the phone. I keep my phone in the saddle bag while riding, so not really convenient. I was surprised that there was not already a radar app in the store. Last week I decided to download eclipse and the SDK plugin and try to write my own app. Armed with the ConnectIQ programming guide and SDK samples, PETERDECKER's tutorials and links to source code examples, and jim_m_58?s tutorials and ideas based on WU Weather Widget, I came up with WUradar. Thanks guys for the inspiration.

The original plan was to release this only for the edge family of devices, however after playing with the configurations I was able to determine fairly simple method to scale the images to work on all the watches also. While the edge devices are better suited for this type of widget due to the always on GPS, there is no harm in including the watches too.

Let the questions and feedback begin.

Starting with version 4.9 the following devices support radar animation:
D2 Charlie, D2 Delta Series, Decent MK1, Edge 520 Plus, Edge 530, Edge 820, Edge830, Edge 1000, Edge 1030, Edge Explorer, Fenix 5X, Fenix 5Plus Series, Fenix 6 Pro Series, FR245m, FR645m, FR945, GPSMap66/86, Captain Marvel, First Avenger, Darth Vader, Rey, Marq Series, Oregon 7xx, Rino 7xx, Vivoactive 3 Music, Vivoactive 4, Vivoactive 4s

Any device not listed does not have enough available memory to display more than a single image.


REQUESTED FEATURES:
Option to zoom map size +/- scale - implemented - Added the ability to change the default zoom level in settings in 1.4, changes on device in 2.4
Option to display rain speed and direction - Direction can now be determined when using animated images on supported devices with version 4.8.
Set color of position dot based on GPS status (Last, Poor, Good) - implemented in version 1.14
Ability to save location for future use - implemented in version 4.17 for watch devices
Ability to load radar current radar image first in animations - Updated in Version 4.33
Add on screen button to enable animations - Added in version 4.33 for Edge and touchscreen handheld devices.

Change Log

4.33 - Officially added support for new devices released in 2021. Animation now download current radar image before starting into the image rotation, this has been requested a few times, finally figured out how to do it efficiently. On touchscreen Edge and handheld devices added an on-screen button to enable/disable animations. Under the hood optimizations to be more efficient with memory.
4.32 - Added support for Venu 2 series
4.31 - Added animation support for Descent MK2
4.30 - Officially added support for Enduro and VenuSq/SqMusic
4.29 - Fixed out of memory crashes on VA3 and FR23x devices
4.28 - Added a credits page to the about screen to acknowledge the active map and radar source being used. Added option on watch devices to hide zoom label and radar source from the radar screen. Fixed crash on CIQ1.x devices when viewing about screen.

4.27 - Added support for fr745 and fixed expiration date on about page to match the timezone set on the server.
4.26 - Optimized memory to reduce crashed on low memory devices while increasing the the viewable size on the image. Removed support for personal developer keys as AerisWeather has chanced their renewal policy.
4.25 - Added support for the newest devices Edge 1030 plus, Marq Golfer, and Mercedes Venu.
4.24 - More memory optimizations to prevent out of memory crashes on low memory devices while trying to access the menu.
4.23 - Fixed an out of memory error on Vivoactive 3 and a menu initialization bug which caused a crash on certain devices.
4.22 - Fixed an out of memory error on the Vivoactive watches.
4.21- Fixed a bug which could sometimes cause the widget to crash on startup on newer devices.
4.20 - Bug Fix
4.19 - Added RainViewer as a second radar data source. This will dramatically increase radar coverage options for all users. To use RainViewer, open the menu then choose Select Radar Source to choose between AerisWeather and RainViewer. AerisWeather provides a higher definition radar image, but RainViewer provides more coverage.
4.18 - Added support for new devices.
4.17 - Fix issue causing black image download on Venu devices. New feature on watches to save and use a previous location. If using a saved location, you can manually refresh to your current position.
4.16 - Fix for another cause of crashes after saving the registration email with the ConnectIQ app.
4.15 - Fixed a bug causing a crash for users trying to save registration after the trial or registration had expired. Until now the work around has been to reinstall the widget and save the registration email address prior to running the widget.
4.14 - Fixed an issue causing error -300 message on F3 devices. Fixed an issue causing some devices to crash after entering registration email in settings.
4.13 - Implemented fix for some devices which would always report phone not connected when it really was. i.e. Edge Explorer 1000.
4.11 - Fixed a bug causing radar images to be displayed in the reverse order.
4.9 - Fixed crash on VAHR and Epix.  Added support for all devices with enough memory to show radar loop.
4.8 - Added option on Map enabled devices to animate image loop. When enabled, the widget will show image loop of the past 30 minutes, 15 minutes, and current. If your device is supported, the option to "Enable animation" will appear in the menu. Supported devices for Animation include Edge devices (except Edge520), F5X, F5plus series, F6pro series, Marq Series, FR945. Still investigating how to support FR645m, FR245m, VA3M, VA4S, and VA4. All other devices I am at the memory limits for widgets and will not get support for animation.
4.7 - fixed more glance view implementation issues on the F6 and Marq
4.5 - Fixed a crash in Widget Glances on F6 and Marq devices. Customized Widget from system defaults.
4.4 - Released to fix bug in Garmin SDK affecting Fenix 6 devices.
4.3 - Added support for Fenix 6 Series, Venu, and Vivoactive 4 Series, fixed some bugs with entering Registration email in settings, and added vibration and background light notification on watch devices. Now you get alerted once the image has downloaded.
4.2 - Fixed some more crashes.
4.1 - Fixed some bugs causing crashes on some devices
4.0 - Major overhaul to the app.  Added registration checking and moved other options from settings to on device menu.  Added about screen to show version and registration status.
3.10 - Added support for new Forerunner and Edge devices.
3.9 - Decreased memory usage on high memory devices, i.e. F5+ series. Hopefully this will help improve image download time.
3.8 - Added support for MARQ and other new devices.
3.7 - Removed support for Weather Underground as the service finally shutdown all support for API keys. Aeris Weather is the only option now!
3.6 - Added support for GPSMAP® 66s / 66st
3.5 - Added support for the new D2 Delta series. Changed Global Satellite to use dark background and added option for color IR satellite view.
3.4 - Added support for Edge Explore, Set Aeris Weather as the default for new installs, Developed new method to use last known GPS position on watch devices based on Garmin fixing in new device FW that I was exploiting.
3.3 - Added support for new devices, VA3M, and F5 plus series.
3.2 - Improved key checking to ensure the key entered is the correct length. Fixed broken error reporting, app will once again report if the download failed, instead of hanging on "retrieving image". Enter key will now open menu on watch devices.
3.1 - Added zoom buttons to touchscreen handheld and Edge devices. Adjusted zoom level designation to match buttons, L5 is most zoomed in, L1 is most zoomed out.
3.0 - Complete rewrite of the code structure. Streamlined image retrieval and display update processes.

  • I have a vivoactive HR and it does not work. Keeps saying retrieving image and it never gets it. It just times out and goes back to the watch face.
  • Version 1.3 had just been released. It include some improved error checking to let you know if the required API key is missing or not functioning. I suspect that you mis-entered or did not enter an API key from weather underground in the app settings. Use the following link to login and set-up a free developer key.
    https://www.wunderground.com/weather/api

    Once you have the 16 digit code, follow the steps in this post to enter it into the settings on Garmin Express or Garmin Connect Mobile.

    https://forums.garmin.com/forum/deve...o-app-settings

    Let me know if you still have issues after adding the key an updating versions.
  • I have been getting some questions about why the Weather Underground developer key is required. The simple answer is to offer a free app, the key is needed for each user to be able to retrieve the data from Weather Underground. If I provide a key then I would need to charge monthly to cover the fees for the volume access to the radar data. If each individual has their on key, then the volume for each individual user says below the free access level.

    Here are the detailed steps to set up your key.
    • Go to https://www.wunderground.com/weather/api
    • You will be presented with page to join Weather Underground. If you already have an account, then click the link below the sign up for free button.
    • The next page will let you pick your plan type and level of access. The default settings are fine. Click on "Purchase Key". You will not be charged.
    • Now fill in the requested information on how you will use the key, and click "Purchase Key". Use something like WUradar or anything else to tell you what the key will be used for.
    • On the next screen look for Key ID. This is your 16 digit developer API key. Copy this code to enter into the widget settings.

    Once you have your Key follow the steps in this thread to enter the settings in GCM or Garmin Express.
    https://forums.garmin.com/forum/developers/connect-iq/connect-iq-showcase/115055-how-to-app-settings
  • Is there a way to zoom at all. I have a Very broad map view.
  • Not at this point in time. That is a feature I am investigating how to make available and work across devices well. From a widget standpoint it may get challenging to have zoom buttons or menu options because each time you change the view, a new image download has to occur which can take between 15-20 seconds on watches and 5-10 seconds on the non-watch devices.

    What I may investigate is creating a settings to allow you to choose the chosen zoom level. Right now it is set to 25 nautical miles. Perhaps I could add a setting for the user to choose from various choices, like say 5, 10, 15, 20, 25, 50, 75, 100. Then you could control the size you thought was most useful. Once I figure that out, then I may investigate how I could adapt a zoom option from the running widget. I am still pretty new to programming in CIQ so not sure how to or the best options to add the feature.

    I will add zooming options to my investigation list.
  • Version 1.4 has been released with the ability to select the zoom level and unit in the app settings.

    Enjoy!

    If you really like the app, please consider leaving a review. So far I only hear about troubles or enhancements people have. ;)
  • I have also wondered why there is no weather radar app. Thanks for creating this! I works on my fenix 5x. I have one suggestion, instead of a square image on a round display, could the radar image fill the display? thanks again for making this!
  • It was my original intent to have the app fill the entire display, but I ran into memory size issues when trying to make the app work on the semi-round and round watches. So I found a size that worked on all the displays and picked that size. I have not gone back yet and tried to see how much larger I can make still work on the round watches, but I know I am close to the size of image that the watches can support. I will do some more digging to find a lager image size limit.
  • Version 1.5 is now released.

    The focus of this release is to maximize the image size on round and semi-round screens. For both screen types just using the query for available screen width and depth would cause problems when trying to download an image that size. I was able to work out a reliable method which nearly fills the entire screen. On the round screens, I have to leave the black bars at the top and bottom if I want to fill the full width. In any case, this release makes the image as large as I can make it on each style of screen. One pixel more in either direction and the image will not load.

    I hope you enjoy the larger image on watch devices.
  • Version 1.6 is now out.

    I found an issue that images one pixel below the limit found in the simulator failed to download images on the watch. I had to decrease the size a couple more pixels to ensure it always works. If you have a round or semi-round watch which worked before, but gets a enter or check API key message let me know. I may need to drop the image size a couple more pixels.