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,

    What does really mean the Threat Operator in the "Bike Radar" filter?

    "Threat" represents the difference in speed between you and the vehicle that is approaching you, the bigger the difference is, the higher the "threat" is. Edge devices uses this information to color the screen, orange represents "Normal" thread and red represents "High" threat. Threat "None" will be assigned to vehicles that are driving at the same speed that you do and Edge devices do not display such vehicles on the screen.

    Will this change the behaviour of the Taillight(RTL515) when a car approaches?

    Yes it will, in case you will change it to "Greater than MEDIUM", then it will change the light mode only for very fast vehicles.

  • Is it possible to use multiple device IDs with config using Use Individual Light Network?

    Currently it is not possible. Are there any reasons why are you using "Individual Light Network"? If you have only RTL515 and would like to have the same configuration for both of them, I suggest the following:
    1. Connect both RTL515 by using the standard Garmin Sensors
    2. Update your configuration by unchecking "Use Individual Light Network" and leave the serial number empty
    3. In case you would like to control only one light with this data field, disable the other light in the Garmin Sensors menu before the ride. In case you would like to control both lights, just leave both enabled and the data field will combine both lights into one virtual light

    by doing so, you won't need to use your phone to change the config.

  • Thank you so much for quick answer.

    When iam going on ride with my father iam connected to his varia radar (father is using elemnt bolt and i have edge 830) sometimes on ride i go outside range of his radar when iam in a range again radar reconnect no problem but with forming garmin light network are always problems when constantly disconnecting that is only reason why Iam using "Individual Light Network" this way it works god when constant connect and reconnect.

    Then i have different config for my varia radar (when iam going on ride alone) where iam using standard garmin network.

  • Hello, 
    very well explained. Thank you very much for your quick answer.

  • Thanks for the clarification, it make sense. I am able to add support for multiple device ids, but only by combining both lights into one virtual light, which is not ideal in case you would like to setup the lights differently. In order to configure them differently, you would need to have two activities/profiles, one for solo riding and the other group riding, then you would be able to use the "Profile name" filter to create filters for each activity/profile within the same configuration. Here is a simple example how it would look like:

    ###0,73535488#5,3!NIGHT1:2:4:0:0K=SOLO:Es0,r0!NIGHT2:2:6:0:0K=GROUP:Es0,r0!:1:0:0:0D=1##6,5:Varia 515!2,:-1,Off:0!1,Solid:4!1,Peloton:5!1,Day Flash:7!1,Night Flash:6#1::123.123#0:0#B3122##3#0#0

    would that be ok for you?

  • Thank you so much for help.

    It is amazing how many options for config are there.

    If you can add support for multiple IDs and would not be much problem for you.

    For my personal use multiple id and one config would be perfect maybe just for my use case.

    Iam using only default turn off when detect car day flash, nothing fancy. I did not needed to change my config once i get it working. Works amazing.

    My simple config sample, same config for two devices is not problem for me.

    ###0,73535488#2,2!CAR:1:7:1I]-1]0!:1:0:1D=1##5,4:Varia Radar!2,:-1,Off:0!1,Solid:4!1,Day Flash:7!1,Night Flash:6#0::#0:0#B3122##3#0#0

  • After todays ride testing "Individual Light Network" config i have to say.

    It works perfect when radar is disconnect due to out of range and then connect again when come to range, but my father says when iam out of range with my garmin his elemnt bolt stop reporting cars all together (varia is on my fathers bike).

    So i have scrap my config when ride with father and just use no light network so my need for multiple ids not exist now so no worries with that.

    Thank you.

  • Hi - I've been using this great application as a data field for a year or so and it works fantastically, thank you.

    I've been trying to get the following configuration to work on the widget, but I keep getting error 4:

    ###0,73404416#3,2!ON:2:7:1:0H]1I]-1]0!:1:0:0:0D=1##5,5:Varia 510!1,:-1!1,OFF:0!1,DAY FLASH:7!1,NIGHT FLASH:6!1,SOLID:4#0::#0:0#B3570##2#0#0

    What am I doing wrong as this exact same configuration works as a datafield?

  • I'm new to this,trying to have my Varia 515 running with the light off and only turn on day flash when detect a car.

    I have standard setting for Varia 515 in Lights Configurator meaning that I have a data screen with the 4 modes working in manually mode on my edge 1030. Can I add an (extra key) to my data screen so it will only flash when detect a car? Do I have to copy some code in Light Configurator and where ?

  • Hi,

    you cannot use the same configuration for the widget as it does not have the Smart mode. You need to use the following configurator for configuring the widget:
    https://maca88.github.io/BikeLightsControl/ 

    here is a valid configuration:
    ###0,73404416###5,4:Varia 510!2,:-1,Off:0!1,Solid:4!1,Day Flash:7!1,Night Flash:6#0::#0:0#B3570##2#0#0