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.

  • Weather Underground has officially reported the errors with their Radar API have been fixed.

    If you previously had problems with Error Code 0 when using Weather Underground, you should start seeing much improved performance and more reliable image retrieval.

    Thanks for the feedback and use of the widget.
  • Version 2.4 has been released.

    This version adds the ability to use a menu on device to make settings adjustments. Your options are refresh the image, select the data source, and select the zoom level. The radar source and zoom level settings are stored for the next time the app is run, and changes made on the device are carried over into GCM or GE settings.

    This version also reduces the memory usage on round watches with limited memory. This allows me to maximize the image size while saving memory. Now all round watches should fill the full width of the screen.

    Enjoy the update.
  • Version 2.5 has been released.

    I realized that with the ability to change radar source and zoom level, it would be easier to know where you are if the current zoom level was also displayed on the screen Like I do the selected data source. This is a small but useful addition now that you have the menu on the device to make those changes.
  • It has been a while since the last update. Things were running pretty smoothly until WU had problems with their radar image servers around Christmas. It appears that they now have those issues resolved. After CIQ2.4.2 was released I did a quick build of Weather Radar version 2.6, to add support for the two new devices. I also spent some time with the latest SDK to see if I could further reduce the memory used for the downloaded images and was successful. So I released version 2.7 which now makes all devices able to display images on the full screen. Yeah, no more black bars on the top and bottom of round screens.

    Enjoy! As always feel free to let me know if you have any problems or questions about the app.
  • 2.8 has been released.

    I found some bugs with my menu implementation which would cause the app to initiate multiple image requests when refreshing the image, changing the source, or zoom level. While I want to work on the menu flow a little bit more, this version should minimize the load on the BLE channel making thing run a bit better.
  • 2.9 is now available.

    I finally figured out how to tweak the menu settings to now automatically refresh once a setting is selected. No more having to hit the back button to get the widget to refresh after making a selection. I removed the refresh menu option from watch devices where the widget times out quickly. If you need to refresh the image, it is usually faster to cycle to a different widget then come back. The option still exists in the menu on the edge, oregon, and rino devices. I also added a check to see if a download is currently in progress. This is to address some weird behavior I was seeing on my actual edge 1000 which did not behave the same way in the simulator or on my FR230. The physical device tried to download every image twice, where the simulator and the FR230 would only try to download the image once. Off to open a bug report to Garmin on the Edge 1000 FW.
  • 3.0 has just been released.

    This is a major overhaul of the basic structure of the code. No cosmetic changes, all under the hood, which should make it easier to troubleshoot and modify the code on future updates. This build does a better job of separating position and image retrieval from screen updates. This is intended to streamline the app workflow so the app should perform better. I have noticed it working more reliably on my FR230 already. Enjoy the update and let me know if you have any problems or questions.
  • 3.1 is now out.

    After the overhaul, I decided it was time to add zoom buttons to the touchscreen handhelds and Edge devices. Now you can zoom in or out right from the screen on those devices. I also adjusted the labeling of the zoom levels to match the direction of the zoom button. Now zoom level 5 is the most zoomed in, while zoom level 1 is the most zoomed out. Click on plus the zoom level number increased but the map gets a tighter view. Click on the minus the opposite happens. The behaviors are the same as what happens on the map page.

    Let me know if you have any feedback.
  • Former Member
    Former Member over 7 years ago
    Hi, a few suggestions for this widget. I have a Vivoactive 3.

    1. Could you cache the image for a bit so that accodentally stepping off the app does not cause a new data retrieval.

    2. The Vivoactive 3 has a scroll feature by dragging one's hand across the left side of the watch body. Perhaps you could tap into that for zoom.

    3. Could you let us enter a default location in case GPS is not available?

    Thanks,
    Ed Greenberg