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 

Known issues:

1. Unable to use Tempe Visualizer or TyreWiz Data Field alongside Smart Bike Lights:
https://forums.garmin.com/developer/connect-iq/i/bug-reports/lightnetworklistener-onbikelightupdate-not-called-when-certain-data-fields-are-installed

  • Yes, I tried pressing all the buttons (48–62) to see if any of the missing modes would show up, but none of them worked — the light didn’t react to any of those numbers.

  • Then the only thing we can do now is report these issues to Ravemen and wait for them to fix them.

    Issues to Fix:

    1. Ensure the light mode change is correctly emitted via ANT when using the light physical button.

    2. Add Light Mode 1 to the capable mode list so it activates the "Steady 100%" mode.

    3. Fix Light Mode 63 so it correctly activates the "Flashing Slow" mode.

  • Then the only thing we can do now is report these issues to Ravemen and wait for them to fix them.

    Issues to Fix:

    1. Ensure the light mode change is correctly emitted via ANT when using the light physical button.

    2. Add Light Mode 1 to the capable mode list so it activates the "Steady 100%" mode.

    3. Fix Light Mode 63 so it correctly activates the "Flashing Slow" mode.

  • Hi maca88,

    I just got the new Lezyne Radar Drive taillight (see https://ride.lezyne.com/products/radar-drive-rear).
    Image with light modes see here.

    These are the light modes supported by this taillight:

    Lezyne Light Mode Name  ConnectIQ Light Mode    Value
    OFF                     LIGHT_MODE_OFF          0
    --                      LIGHT_MODE_ST_81_100    1
    HIGH                    LIGHT_MODE_ST_61_80     2
    MEDIUM                  LIGHT_MODE_ST_41_60     3
    LOW                     LIGHT_MODE_ST_21_40     4
    --                      LIGHT_MODE_ST_0_20      5
    NIGHT FLASH             LIGHT_MODE_SLOW_FLASH   6
    DAY FLASH               LIGHT_MODE_FAST_FLASH   7
    FLASH                   LIGHT_MODE_RANDOM_FLASH 8

    Note that the two "Car alert" modes of the device aren't set via ANT Plus. They correspond to a "increase intensity when car is detected" setting in a Lezyne companion app, which sends this setting to the device via BTLE. So these two "modes" aren't accessible in CIQ.

    PS: Kudos and thanks for this great CIQ app.

  • Hi,

    Thanks for the light modes. Now you can select Lezyne Radar Drive from the Lights Configurator

  • Hi maca88,

    thanks a lot for the ultra fast response and code change.
    Will give it a try.

    Thanks again

  • This is an issue that Ravemen has to fix

    I wouldn’t rely on that.
    I bought the FR300 ANT as soon as it was available. ANT was so messed up it crashed the Varia RTL515 as soon as it connected to the lights network. I had to delete and readd the Varia to get it working again, wich was only possible when the FR300 wasn’t connected.

    I contacted Ravemen and they wrote something about „Garmin changed the ANT stack…“. I got a replacement unit after a few months wich has a new firmware. It at least doesn’t crash the Varia, but it still can’t be controlled by the Garmin lights widget. Sometimes it connects on itself when the Edge starts but also that is a lucky hit if it happens.

    I didn’t need to send the old one back and sold it to a friend for half the price, so we now have two FR300 without ANT wich are nice daylight riding lights.

  • I have been using the following configuration of a while but wanted to update it so that I can use the custom Magene AT1200 modes instead of the standard modes + the two extra custom values, however, I cannot import the existing config into the config app. It fails with the error: "Invalid configuration." Is there a way to extract the existing config in order to reconfigure it using the new custom modes?

    Feature request: Is it possible to add new / customisable icons. Current it just shows a question mark when a custom mode is selected. It would be great if the custom modes had either customisable icons or a matching number value.

    AT 1200 & RT515

    Peloton config

    #16384,90382865::1:#8,5!DAY:1:59:0:0Er0,s0!NIGHTH:2:2:5:5Es0,r0C}11.11111!NIGHTM:2:3:5:0Es0,r0C}6.94444!NIGHTL:2:5:0:0C}0Es0,r0!:1:59:0:0D=1#0,73535488::1:#2,2!PELO:1:5:240:0C}1.38889!:1:5:0:0D=1#7:AT 1200!Off:0!High:2!Medium:3!Low:5!Flashing:61!Steady Lower:59!Slow Flash:60#4:RTL515!Off:0!Peloton:5!Day Flash:7!Night Flash:6#0::#1:1#0#0#B4061#11#3#0#1

    General config

    #16384,90382865::1:#10,6!DAYPEL:2:59:0:0Er0,s0K=PELOTON:!DAYFLS:1:60:0:0Er0,s0!NIGHTH:2:2:5:0Es0,r0C}11.11111!NIGHTM:2:3:5:0Es0,r0C}6.94444!NIGHTL:2:5:0:0C}0Es0,r0!:1:59:0:0D=1#0,73535488::1:#4,4!PELO:1:5:120:0K=PELOTON:!DAY:1:7:120:0Er0,s0!NIGHT:1:6:120:0Es0,r0!:1:6:0:0D=1#7:AT 1200!Off:0!High:2!Medium:3!Low:5!Flashing:61!Steady Lower:59!Slow Flash:60#4:RTL515!Off:0!Peloton:5!Day Flash:7!Night Flash:6#0::#1:1#0#0#B4061#11#3#0#1

  •   

    Hi maca88,

    regarding Lezyne Radar Drive

    Sorry for taking a while to respond.
    I reinstalled your CIQ app and configured my taillight as "Lezyne Radar Drive".
    Everything worked as ecpected:
    * the full screen view with buttons to switch mode
    * a small view with only the light mode symbol displayed
    * the battery gauge.
    Thanks again

    PS: I've tested with this configuration:
    ###0,1415590416::1:#5,3!Stop:2:3:0:0H]0C[0.83333!Ride:2:7:0:0H]0C]0.83333!:1:0:0:0D=1##8,7:Radar Drive:0:16777215:-1!2,:-1,Off:0!1,High:2!1,Medium:3!1,Low:4!1,Night Flash:6!1,Day Flash:7!1,Flash:8#0::#0:0#123!:123!0,2,3,4,6,7,8#0#0#B4062##22#0#0

  • Here is the converted peloton config:

    #1074,358879792::1:267911168,0#8,5!DAY:1:59:0:0Er0,s0!NIGHTH:2:2:5:5Es0,r0C}11.11111!NIGHTM:2:3:5:0Es0,r0C}6.94444!NIGHTL:2:5:0:0C}0Es0,r0!:1:59:0:0D=1#0,73535488::1:#2,2!PELO:1:5:240:0C}1.38889!:1:5:0:0D=1#7:AT 1200!Off:0!High:2!Medium:3!Low:5!Flashing:57!Steady Lower:59!Slow Flash:60#4:RTL515!Off:0!Peloton:5!Day Flash:7!Night Flash:6#0::#1:1#0#0#B4061#11#3#0#1 

    General config:

    #1074,358879792::1:267911168,0#10,6!DAYPEL:2:59:0:0Er0,s0K=PELOTON:!DAYFLS:1:60:0:0Er0,s0!NIGHTH:2:2:5:0Es0,r0C}11.11111!NIGHTM:2:3:5:0Es0,r0C}6.94444!NIGHTL:2:5:0:0C}0Es0,r0!:1:59:0:0D=1#0,73535488::1:#4,4!PELO:1:5:120:0K=PELOTON:!DAY:1:7:120:0Er0,s0!NIGHT:1:6:120:0Es0,r0!:1:6:0:0D=1#7:AT 1200!Off:0!High:2!Medium:3!Low:5!Flashing:57!Steady Lower:59!Slow Flash:60#4:RTL515!Off:0!Peloton:5!Day Flash:7!Night Flash:6#0::#1:1#0#0#B4061#11#3#0#1

    I changed mode 61 - Flashing to 57 - Custom 1, as 61 mode was removed from the configuration. You will need to update the flashing mode to the correct one.  

    Feature request: Is it possible to add new / customisable icons. Current it just shows a question mark when a custom mode is selected. It would be great if the custom modes had either customisable icons or a matching number value.

    AT 1200 & RT515

    Currently it is not possible, but the updated configurations should not have question marks anymore.