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 

  • Yes, you can specify also the initial speed by adding a Speed filter:

  • Sure, here is the same configuration for Edge 1040, Varia UT800 and Varia RTL515:

    1,1!:1H]0#4587520,196641::1#4,3!NIGHT:1:2:0:0Es0,r0!DAY:2:62:0:0Er0,s0C]4.16667!:1:0:0:0D=1#0,73535488::1#5,4!NIGHT:1:4:0:0Es0,r0!BRAKE:2:4:0:0C]1.94444A[-10!RADAR:1:7:0:0I]-1]0!:1:0:0:0D=1#7,6:Ion 800 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,5:Varia 515:0:16777215!2,:-1,Off:0!1,Solid:4!1,Peloton:5!1,Day Flash:7!1,Night Flash:6#0::#1:1#123!:123!#0#B3843#9#3#0#0

  • hello maca88, maybe I have two questions.

    1) i'm surprised the big widget doesn't display the group name, it's such a big widget but the current mode information is missing.  It's also not on the small widget. I think it's only on the medium size widget.

    2) I can't load working configuration (Invalid configuration) to the editor (maca88.github.io/.../): The config works except the pause activates later than 30sec if ever:


    #4587520,196641::1#6,5!STOP:1:0:5:0H{1!PAUSE:1:0:5:30H{2!NIGHT:2:2:5:0B[5Es0,r0!DAY:1:63:5:0Er0,s0!:1:5:0:0D=1#6291461,1409482753::1#8,6!STOP:1:0:5:0H{1!BRAKE:2:1:2:0C}5.55556A{-30!PAUSE:1:0:5:30H{2!NIGHT:1:63:5:0Es0,r0!DAY:2:8:5:0B[5Er0,s0!:1:5:0:0D=1#7,6:Ion Pro RT:0:16777215!2,:-1,Off:0!1,High:1!1,Medium:2!1,Low:5!1,Day Flash:63!1,Night Flash:62#7,6:Flare RT:0:16777215!2,:-1,Off:0!1,Day Steady:1!1,Night Steady:5!1,Day Flash:7!1,All-Day Flash:8!1,Night Flash:63#1:99999:88888#0:0#13!:13!#0#B3122#2#1#0#0

    Best wishes.

  • Hi,

    The group name is part of the Smart control mode which is available only for Smart Bike Lights. You cannot load the provided configuration because it is not meant to be used by Bike Lights Control widget. CIQ widgets have a different life cycle than data fields, which prevents the Smart mode to work after the widget is closed (not displayed on the screen). So in short, if you want to use filters with group names, you need to switch to Smart Bike Lights data field.

  • Thank you. I totally missed there are two web pages. Of course, it loads now (maca88.github.io/.../). I don't use Bike Lights at all. I'm using data fields (sorry for wrong naming) like on the picture on the top. On the left part of that picture there's small data field but it displays the group name only if the data field part of the screen is quite big. That is ok, but i'm puzzled the full screen data field doesn't show it.

    In light of this, do you still see reason why would SLEEP action work with big delay? Could STOP and SLEEP action both checking timer collide?

  • I never felt the need to add the group name on the light panel, as I used it only for switching the light or control mode. After that, I switch back to the primary data screen, where I have the data field on a small field. In my case (Edge 1000/1040), the group name is displayed even in the smallest field (10 fields layout). But for smaller devices like Edge 830, it would makes sense to have the ability to display the group name, as it is not displayed when using a 10 fields layout. Therefore, I will add an option to display also the group name inside the S button. Here is an example how it will look like:

    I don't quite understand what you mean by SLEEP and STOP actions. Are you referring to the STOP and PAUSE group names in your provided configuration? If yes, you have a delay because you set "Deactivation delay in seconds" to 5 for both STOP and PAUSE groups, which will delay the DAY or NIGHT group for five seconds after the activity is resumed.

  • That's brilliant. That will allow 830 users to see their modes too. Thank you.

    I removed unnecessary delays from the config. I think it's too much. All I wanted is turn off asap when timer stopped, and  turn off with big delay when paused (because timer can pause when driving in traffic jam). Hence, 30 seconds delay which often resulted in 2min delay.

  • All I wanted is turn off asap when timer stopped, and  turn off with big delay when paused (because timer can pause when driving in traffic jam)

    Then you need to set the "Activation delay in seconds" for PAUSE group and remove all other delays:

    #4587520,196641::1#6,5!STOP:1:0:0:0H{1!PAUSE:1:0:0:30H{2!NIGHT:2:2:0:0B[5Es0,r0!DAY:1:63:0:0Er0,s0!:1:5:0:0D=1#6291461,1409482753::1#8,6!STOP:1:0:0:0H{1!BRAKE:2:1:2:0C}5.55556A{-30!PAUSE:1:0:0:30H{2!NIGHT:1:63:0:0Es0,r0!DAY:2:8:0:0B[5Er0,s0!:1:5:0:0D=1#7,6:Ion Pro RT:0:16777215!2,:-1,Off:0!1,High:1!1,Medium:2!1,Low:5!1,Day Flash:63!1,Night Flash:62#7,6:Flare RT:0:16777215!2,:-1,Off:0!1,Day Steady:1!1,Night Steady:5!1,Day Flash:7!1,All-Day Flash:8!1,Night Flash:63#1:99999:88888#0:0#13!:13!#0#B3122#2#1#0#0

    Hence, 30 seconds delay which often resulted in 2min delay.

    This could happen in case the timer was resumed for a short time within 30 seconds. If that happens, the delay will be reset, meaning you will need to wait another 30 seconds to activate the PAUSE group. 

  • Hi !

    Thanks for great app! I have one question. RTL510 + Fenix 7. Is there any possibility to configure it to be always off and only blinks while detects car? BUT I MEAN THE DEFAULT DETECTION BLINKING, the chaotic one. Or I only should choose one of the the modes like steady on, day blink, night pulsing?