Smart Bike Lights (Data Field) / Bike Lights Control (Widget)

I've made two open source CIQ applications to control ANT+ lights:

- Smart Bike Lights (data field): https://apps.garmin.com/en-US/apps/0d9fd828-c932-4470-9c37-fd2828881888 

      Configurator: https://maca88.github.io/SmartBikeLights/ 

- Bike Lights Control (widget): https://apps.garmin.com/en-US/apps/fa3c2332-76e3-4ba1-8528-32a0fd617ab1 

     Configurator: https://maca88.github.io/BikeLightsControl/ 

Smart Bike Lights features:
- Automatic light control (Smart mode) based on the configured filters (sunset, sunlight, speed, ...)
- Manual light control (only for Edge devices with a touch screen or devices with CIQ 3.2 and more than 32KB memory)
- Records lights modes that are displayed in Garmin Connect

Bike Lights Control features:
- Manual light control (available to all devices)

Both applications can be installed on the same device, which can be useful for low end devices (e.g. Edge 520) where "Bike Lights Control" can be used to change light modes manually and "Smart Bike Lights" for automatic light control.

Currently registered ANT+ lights:
- Bontrager Ion Pro RT
- Bontrager Ion 200 RT
- Bontrager Flare RT
- Garmin Varia RTL500
- Garmin Varia RTL510
- Garmin Varia RTL515
- Garmin Varia HL500
- Garmin Varia UT800

in case your ANT+ light is not on the list you can help by doing the following:

1. Install Bike Lights Control
2. Pair your bike light with your Garmin device
3. Open the widget:
- Edge with a touch screen: post which numbers are displayed on the buttons and what mode each button represents when pressed
- Other devices: Select the "Light modes" menu and post which numbers are displayed in the menu and what mode each menu item represents when selected

Example for Bontrager Ion Pro RT:


1 -> High steady beam
2 -> Medium steady beam
5 -> Low steady beam
63 -> Day flash
62 -> Night flash

There are some features that could be possible to add in the future, but would require Garmin to add them to the CIQ api. In case you are interested in any of the below features, consider upvoting their feature request thread:

1. Control lights based on the ambient light sensor available on some devices:
https://forums.garmin.com/developer/connect-iq/i/bug-reports/ambient-light-sensor-api-access 

  • Hi,

    It is possible to configure it to turn on only when the radar detects a car, but you can only choose the light modes available on RTL510 (Solid, Day Flash, Night Flash). And even if you set it to Solid, the light will blink anyways, as this is how the Solid mode works on RTL510 and RTL515.

  • Thanks a lot! I'll try it at home. So if I understand it right, if the radar light is set to solid mode (with Your app) and car is detected, the radar hw overrides the solid mode with default car detection blinking. But this won't work in day or night flash mode. Am I right?

    I'm asking because while using it without the app, the radar starts blinking during detection in all modes. I'm using Your app for a year, but I realized this behaving only few days ago...Grin

    Thanks again and sorry for disturbing You.

  • So if I understand it right, if the radar light is set to solid mode (with Your app) and car is detected, the radar hw overrides the solid mode with default car detection blinking.

    That is correct. You can check the integrated behavior for each light mode here:

    https://www8.garmin.com/manuals/webhelp/GUID-C41F445D-457F-447D-88C8-FE286BF157E9/EN-US/GUID-4587F7D3-DEE0-422D-9450-D125E15C4EA0.html

    In short, the RTL515 fw overrides for each light mode the flash pattern (not just in Solid mode) when a vehicle is approaching.

  • Thanks a lot! Now it´s completely clear to me. I was wrong for two years, because I think, that my RTL510 flashes during car detection independently of light mode..

  • Thanks for your efforts developing this!

    Would it be possible to link lights to the bike alarm status i.e. flash lights if the alarm is triggered?

  • I have a daily problem with lights going to manual mode. I have no idea how, i don't press buttons, and don't touch the device. I'm at the point I wish the (small) data field could not be controlled via display.

    Can we for example have a checkbox to force a smart scenario in any (manual) mode? Or enforce global rules all the time? I'd like to turn off the device in any case when timer is stopped.

  • Currently this is not possible as there is no API available for getting the bike alarm status.

  • Can we for example have a checkbox to force a smart scenario in any (manual) mode?

    There is a checkbox for this in the configurator called "Force Smart mode". Modify your configuration by enabling "Force Smart mode" for both lights and then set the control mode to Smart (S). After that, it will never go back to manual mode by itself. The only way to move it back to manual is to tap on the light icon or using the light panel to switch the mode. You can also disable the icon light tap by clearing the "Light icon tap behavior" for each light in the configurator.

  • I know that option, but based on the description it won't help. In practice it doesn't help sadly. I'd like to double down, and suggest also startup mode forcing to Smart. E.g. on each boot.

    1) On Boot/Unsleep set all to "S". There's no reason to continue in manual day in next trip imho. Or enforce smart mode on global/specific rules.
    2) On Shutdown/Sleep/TimerOff set all to "M". Or enforce a smart mode on global/specific rules.

    I have now all rides with some light switched to "M" and I don't use screen at all.

  • I know that option, but based on the description it won't help. In practice it doesn't help sadly.

    Are you saying that even when using "Force Smart mode", the mode will change to manual without tapping on the light icon or a button on the light panel? If yes, then this is a bug as it should not happen.

    1) On Boot/Unsleep set all to "S". There's no reason to continue in manual day in next trip imho. Or enforce smart mode on global/specific rules.

    This is handled by "Force Smart mode". Even after a boot or unsleep the mode will still remain "S". If that does not work for you, can you share the configuration that you are using so that I can try to reproduce it?