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,

    you already have a global filter that will turn off the lights when the activity is stopped, so the only thing missing is setting the "Default mode" for both lights. With the following configuration:

    1,1!:1H]1#0,73413136:1,1194496973:1#1,1!:1:3:0:0D=1#0,73535488::1#3,3!CAR:1:7:1:0I]-1]0!BRAKE:1:4:0:0A[-10!:1:5:0:0D=1#7,6:Varia 800:43775:16777215!2,:-1,Off:0!1,Day Flash:7!1,High:2!1,Medium:3!1,Low:4!1,Night Flash:6#6,5:Varia 515:16711680:16777215!2,:-1,Off:0!1,Day Flash:7!1,Solid:4!1,Peleton:5!1,Night Flash:6#0::#0:0#123!:123!#1#B3122#4#3#0#0

    the UT800 will be on "Medium" and RTL515 on "Peloton" when the activity is running or paused, otherwise the lights will be off (e.g. activity stopped or not started).

  • My Edge is on "Individual" light mode so that is not the cause.
    In the network settings of the Varia UT800 I found another setting: "Auto Beam Adjustment" that was set "on". When set "on" the headlight intensity is automatically adjusted from 'low' to 'max' based on the rate of speed.
    I have switched that setting 'off' and expect that that was causing my 'issues' (and conclude that my speed was measured as 'high' by my UT800 ;-)

  • Nice finding! I didn't know that such setting exists for Varia UT800 as I don't see it for my Bontrager Ion Pro RT. Thanks for letting me know.

  • See
    https://www8.garmin.com/manuals/webhelp/variaut/EN-US/GUID-D7C51746-9CAD-4048-9E81-97CCD60DFB2A.html

    and
    https://www8.garmin.com/manuals/webhelp/variaut/EN-US/GUID-6A8AA63D-B263-4BD8-B54B-123F76862BA0.html

    It would be nice if there were an API that would cause that the "Auto Beam Adjustment" when set "on" overrides the headlight intensity setting in S-mode or follows the S-mode setting when the "Auto Beam Adjustment" is set "off". 

    Anyway, I set my "Auto Beam Adjustment" manually "off" to avoid in S-mode milli second switching between "Low" and "High" and linked 'flickering' of mu UT800.

  • Hey folks, new user here hoping to get my rear light to be off except when it detects a car coming. I've gotten the widget installed on my Edge 830 but it will only show "error 4"

    I have a front ion 200 RT and rear Varia 515

    Using the following config inputting in coeect IQ:

    #4587520,196641::1##0,73535488::1#3,2!ON:2:7:1:0H]1I]-1]0!:1:0:0:0D=1#7,6:Ion 200 RT:0:16777215!2,:-1,Off:0!1,High:1!1,Medium:2!1,Low:5!1,Day Flash:63!1,Night Flash:62#6,6:Varia 515:0:16777215!1,:-1!1,OFF:0!1,DAY FLASH:7!1,NIGHT FLASH:6!1,SOLID:4!1,Peloton:5#0::#0:0#B3122#2#3#0#0

  • Hi,

    Your configuration is fine, but it will work only for Smart Bike Lights data field. Bike Lights Control widget does not support the smart mode and has to be configured with a different configurator (https://maca88.github.io/BikeLightsControl/). So you need to install and setup Smart Bike Lights data field in order the configuration to work. 

  • Use it for the first time today and I love it. I made it so it turns off lights when I’m in my local park loop and it’s great to not have to worry about annoying people without doing anything. 

    I did have a question, it recommends not doing something like threat level “greater than none”. Is that just because there are levels between 0 and medium that garmin doesn’t tell me about or is it that the light will flash all times? 

    I would like it to flash at any chance of a car being behind me, no matter if it gets some false negatives - I just don’t want it on 100% of the time if I don’t need to. 

    also, I’m curious what the trade off of the functionality here is. Is my head unit battery going to suffer since the data screen is constantly checking for these filters?

  • I did have a question, it recommends not doing something like threat level “greater than none”. Is that just because there are levels between 0 and medium that garmin doesn’t tell me about or is it that the light will flash all times? 

    Setting threat filter to "Greater than None" IS recommended to avoid turning on the light for targets that have "None" as a threat. "None" targets don't represent a real vehicle, they most likely represent random objects (e.g. trees, road signs...) that the radar also detects and such targets are ignored by Garmin devices.

    I would like it to flash at any chance of a car being behind me, no matter if it gets some false negatives - I just don’t want it on 100% of the time if I don’t need to. 

    The current configuration will do exactly that, you don't need to change anything.

    I’m curious what the trade off of the functionality here is. Is my head unit battery going to suffer since the data screen is constantly checking for these filters?

    The filters are checked by the data field every second, but as the filters logic is not complex, it should not affect the battery that much (I didn't notice any difference in terms of battery life on my Edge). The battery will be more affected when displaying the light panel (full screen mode with buttons), so I would suggest you to use the non full screen mode most of the time and use the light panel only when you want to manually change the light mode. You can set the data field on two data screens, on the first set it on a small field and on the other data screen set it to be full screen (1 field layout).

  • Re: threat level, I guess I misunderstood. I changed it to the medium setting so I’ll move it back. 

    thanks for your support, do you have anything setup for tips - this is so much good work!