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

  • Can you clear the configuration and tell me if you see the same numbers for both lights.

    If I clear configurator, I see the same picture for AT1600.
    BUT for FlareRT I See: 4,5,6,7. Hmm,, Why they changed? (but this is I guess is Varia 515
    Yes, they are Varia 515 - I can see when I press buttons.

    I have two SmartBikeLights pages:
    1 - AT1600 & FlareRT
    2 - Varia 515

    What I'm doing wrong here?

  • I did not know that you can customize also the non-custom modes.

    Correct, in Magene application, you have 10 Presets - which you can modify (sort/move, edit, delete, create new).
    And when you press button on the Light - it will cycle throw these modes.
    ID: 51-60 <- 10 Custom mode.
    ID: 1-7, & 61 <- Hardcoded modes

    My assumption is that most users will not modify much the factory settings, so having the configuration to be setup for factory settings make sense to me

    Yeah, just it will be hard to understand new user which preset is for example: "Low" - correspond to which Preset on Magene Application.
    Maybe, it could be "Mode"=Preset N, and "Button"=Low - which you can change (if you change configuration on Magene app)

    Hmm, you are right on this one. I re-added the Garmin modes to the list

    It would be good, to have these at least in the list of available buttons (when you add custom button), no need I guess to have these by default. But, just in case if you would like to have default hardcoded mode - you have possibility.

  • The S/N (serial number) should be unique per light, so it is quite odd that Magene decided to use the same S/N for multiple lights.

    The interesting part is that on Magene Application S/N are different for each light (I can see them on the app).
    I send to Magene support this issue, but I never got response.
    But Garmin report it with the same S/N (which is totally incorrect for both lights), I guess they send to Ant+ some hardcoded S/N which is always the same and totally incorrect Disappointed

    I hope one day they will fix that bug

  • Thank you 

    I tried setting again.

    but, I can't test it.

    Networking is not working.

    Data Field is only "no network".

    I'm confused because I don't know what the problem is.

  • Correct, in Magene application, you have 10 Presets - which you can modify (sort/move, edit, delete, create new).
    And when you press button on the Light - it will cycle throw these modes.
    ID: 51-60 <- 10 Custom mode.
    ID: 1-7, & 61 <- Hardcoded modes

    Well, this is not 100% accurate.

    AT1200/AT1600 Standard Preset Modes (Low / Medium, etc.) cannot be edited or customized.
    They can be deleted, though. The AT1200/AT1600 has space for 10 modes in total, so you can delete Standard Presets to make room for additional custom presets.

    You can always restore the Standard Presets (which are non-editable) at any time see my screenshots below.

    Pics attached.



    Screenshot

    Screenshot 2

    That being said - Maca, please keep the names as the factory settings.

    Cheers

  • AT1200/AT1600 Standard Preset Modes (Low / Medium, etc.) cannot be edited or customized.

    This is not 100% accurate Slight smile
    You can sort predefined presets, and you can delete them, right?
    I can make Preset 1 - Breathing, and Preset 10 - Low, and Preset 2 - my Custom mode. etc.


    What ever you name it - You can sort them, delete them, and create your own, correct.

    AT1200/AT1600 - have 10 Preset Modes - these button naming only match if you do not touch Modes (will not move, delete, or create your own).

    So, names only valid if it will be static! - and they are not - whole point of Magene app - so you can customise modes like you want.
    For example - for me they do not make any sense - because they are incorrect, and it will be incorrect for anyone who will change modes.


    We need to keep generic names for Mode, for Button you can add default value :

    "Mode"=Preset 1
    "Button"=Low

    Button name you can change, but from the list of modes I need to find easy which Preset Mode match Magene App Preset number.

  • Don’t get me wrong — I get your point, and I mostly agree.

    However, the factory settings serve as a reference point, and I’d keep them that way. Most users won’t change the Standard Preset Modes anyway.

    You can always see the mode numbers in Magene’s Onelap Fit App:

    1. ID 51 – Factory Low

    2. ID 52 – Factory Medium

    3. ID 53 – Factory High

    4. ID 54 – Factory Day Flash

    5. ID 55 – Factory Night Flash

    6. ID 56 – Factory Breathing

    7. ID 57

    8. ID 58

    9. ID 59

    10. ID 60

    And that’s correct — if you swap positions in the Magene App, for example:

    1. ID 51 (Factory Low)
       Left right arrow

    2. ID 52 (Factory Medium)

    You’ll get:

    1. ID 51 (Factory Medium)

    2. ID 52 (Factory Low)

    So, the numbers in the Onelap Fit App never change — they’re fixed IDs.

    That being said, I agree with the proposal to change the Mode name in the Light Configurator, but please don’t change the Button Name. It should stay consistent with the factory configuration.

    Example:

    • Mode = Preset 1 → Button = Low

    • Mode = Preset 2 → Button = Medium

    • Mode = Preset 3 → Button = High

    • Mode = Preset 4 → Button = Day Flash

    • Mode = Preset 5 → Button = Night Flash

    • Mode = Preset 6 → Button = Breathing

    • Mode = Preset 7 → Button = Custom 1

    • Mode = Preset 8 → Button = Custom 2

    • Mode = Preset 9 → Button = Custom 3

    • Mode = Preset 10 → Button = Custom 4

  • I bought new Ravemen FR300 Ant+, but don't know how to add it to my settings together with garmin varia 510 on my Garmin Edge 850. I have already configured Smart Bike Lights via configurator to correctly set my taillight. I want to extend configuration with data for headlight. I downloaded BIke Light Control widget and it shows me only 2, 4, 6, 7 and 63, but the light has 6 modes. Does anybody knows how to configure together? I prefer fast blinking, resp. stroboscope mode on headlight. Thanks 

  • Most users won’t change the Standard Preset Modes anyway.

    Well, this where you wrong - or you are going to run statistics and check how many of users will change modes, good luck Slight smile 
    From UI and Application architecture perspective this is totally wrong - this is the same like to say: ohh let's not handle this error - it will never happen, because nobody press this configuration Slight smile 

    You should expect it will be changed - because it's possible, it's so simple.
    I'm not sure why we argue on obvious things?

    So, the numbers in the Onelap Fit App never change — they’re fixed IDs.

    Are we on the same page? Slight smile
    ANT+ ID's are fixed to POSITION of the PRESET - not to the names.
    Names are just default state from the factory - it's like your new mobile phone have default set of applications sorted on your home screen - you expect that nobody will change them also?

    That being said, I agree with the proposal to change the Mode name in the Light Configurator, but please don’t change the Button Name.

    Yes, we can agree on this Slight smile.

    Mode = Preset 1 <- Hardcoded
    Button = Low <- Default Text, which you can optionally change on configurator when you change Modes on Magene app

  • “Are we on the same page?

    ANT+ IDs are fixed to the position of the preset — not to the names.”

    I literally said the same thing — that ANT+ IDs are fixed to the mode number in the Onelap Fit App (the number shown before the mode name), which is basically what you’re saying. So I’m not sure what your point was there.

    I think you might have misunderstood my perspective, but that’s fine. Let me clarify:

    In Onelap Fit App There are two ways to add a mode:

    1. Add Preset Mode

    2. Add Custom Mode

    Add Preset Mode – These are the factory modes that come preinstalled with the headlight.

    They cannot be edited — you can’t change their name, power, or interval.

    They’re predefined, out-of-the-box modes.

    The only things you can do are:

    • Sort them (which changes their mode number and ANT+ ID)
    • Delete them to make room for custom presets.

    Add Custom Mode – These are your own custom modes.

    Here you can adjust everything — power, name, intervals, etc.

    You can even recreate your own Low / Medium / High modes with full configurability, unlike the fixed Preset Modes.

    So why is there even an option to add Standard Preset Modes?

    I asked Magene about that — besides the fact that these modes are listed in every spec sheet, manual, and on the packaging, they also serve as a backup.

    If something goes wrong, or you delete your modes by mistake, or you just want to start fresh — you can simply re-add them one by one, and your setup will be as good as new.