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,

    Codes for the Giant Recon HL1800 Headlight

    2 - High steady beam

    3 - Medium steady beam

    4 - low steady beam

    8 - Day flash

    also using the Garmin Varia RTL501

  • Hi,

    Codes for the Giant Recon HL1800 Headlight

    2 - High steady beam

    3 - Medium steady beam

    4 - low steady beam

    8 - Day flash

    also using the Garmin Varia RTL501

  • Hi, thanks for the light modes, I've added them to the Lights Configurator. In case you own a Varia RTL501, can you please post the light modes also for it so that I can add them to the Lights Configurator.

  • Sure! Only one mode available:

    1 - On

    Thanks!!

  • Thanks again! I've added them to the Lights Configurator.

  • I would like to run three or perhaps even four tail lights and one or maybe two handlebar lights. Will I ever be able to control more than two lights with your most excellent app? 

  • I am currently working on adding support for controlling more than two lights which hopefully will be released in the following days. You will be able to control more than two lights by installing additional "Smart Bike Lights" data fields similar to "HMs DIY" data field. So in your case, for controlling four taillights you would need to install four data fields. Could you clarify the following:
    - Do you plan to control all four taillights at once or they will be installed on different bikes?
    - Are all taillights the same model (e.g. Varia RTL515) or they are different models/brands?
    - How would you plan to configure them, will they have the same configuration (e.g. turned on in the night and off in daylight) or will the configuration be different per each light?

  • All lights on the same bike. All lights set to high bright flash mode. Three back facing lights: Bontrager Flare RT's One handlebar light facing forward: Bontrager Ion 200 RT. Generally the idea is, turn them on when I'm street driving, turn them off when I'm on a bike trail free of automobile traffic. Need to keep an eye on charge level. Thanks for asking.  

  • Thanks for the clarification, so basically in your case it would be ideal to have one data field that is able to change the light modes for all three Flare RT at once. As with one data field it is possible to display only one taillight battery status, one solution would be to display the lowest battery level of all of them. This is something that would be possible to add but it would be available only for Garmin devices with more than 32KB of memory due to memory constraints.

  • Smart Bike Lights version 0.14.0 was released, which includes the following requested features:
    - Support multiple configurations (only for devices with more than 32KB of memory)
    - Support light networks with more than two lights

    For multiple configuration, you should see two additional inputs were you can set different light configurations and with the setting "Current Configuration", you can choose which configuration to use.

    The second feature is about controlling two lights of the same type (e.g. two headlights). In order to do that, you will need to install an additional Smart Bike Lights data field, which will be called "Smart Bike Lights #2" (https://apps.garmin.com/en-EN/apps/2e27525f-3847-4e49-89af-673970692df6 - not yet approved), where you could configure the additional lights. For example, in case we want to control two headlights, one that will be turned on during the day and the other during night time, we need to do the following:
    1. Install "Smart Bike Lights" and "Smart Bike Lights #2" data fields
    2. For "Smart Bike Lights" data field configure the first headlight to be turned on during the day. In the Lights Configurator you need to set the "Serial number" for the light so that the data field will know which light to control, otherwise "Error 2" will appear.
    Example for ION 200 RT:
    #4587520,196641:0,11111111#2,2|DAY:1:63:1Er0,s0|:1:0:1D=1#:0,32424##7,6:Ion 200 RT|2,:-1,Off:0|1,High:1|1,Medium:2|1,Low:5|1,Day Flash:63|1,Night Flash:62##0::#0:0#B1836#2##0#0

    3. For "Smart Bike Lights #2" data field configure the second headlight to be turned on during the night. As in the previous point, we need to set the "Serial number" for the light in the Lights Configurator, otherwise it won't work.
    Example for HL500:
    #0,67121681:0,2222222#2,2|NIGHT:1:2:1Es0,r0|:1:0:1D=1#:0,32424##7,6:Varia 500|2,:-1,Off:0|1,Overdrive:1|1,High:2|1,Medium:3|1,Low:4|1,Flash:7##0::#0:0#B1836#3##0#0

    "Smart Bike Lights #2" data field should be reviewed and approved sometime this week.