Cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

display brightnessOverride not working

ANSWERED

On Fitbit Versa(oh men, how I remember Pebble watch) with latest firmware version 32.32.12.19, the display.brightnessOverride is not working, whatever value I put it simple does not change brightness level, it always stay at system value.

 

display.autoOff works ok for instance. Here is my testing code (you can guess I am trying to achieve the always on mode, I simple can't understand why it has no always on mode was Android wear devices):

 

 

import clock from "clock";
import document from "document";
import { preferences } from "user-settings";
import * as util from "../common/utils";
import { display } from "display";
import { battery } from "power";

display.brightnessOverride = 0.05;
display.autoOff = true;
display.on = true;

// Update the clock every minute
clock.granularity = "minutes";

// Get a handle on the <text> element
const time = document.getElementById("time");

// Get a handle on the <text> element
const batteryLevel = document.getElementById("batteryLevel");

// Update the <text> element every tick with the current time
clock.ontick = (evt) => {
let today = evt.date;
let hours = today.getHours();
if (preferences.clockDisplay === "12h") {
// 12h format
hours = hours % 12 || 12;
} else {
// 24h format
hours = util.zeroPad(hours);
}
let mins = util.zeroPad(today.getMinutes());
time.text = `${hours}:${mins}`;
batteryLevel.text = `${Math.floor(battery.chargeLevel)} %`;
}

 

Best Answer
0 Votes
1 BEST ANSWER

Accepted Solutions

After upgrade to new firmware on Versa (Fitbit OS 3.0) and select SDK 3.0 on Fitbit Studio, now it works!! I was expecting a lower brightness on the min value but seems to me that min value is equal to the value of "dim" brightness on the configurations of brightness on the Versa configurations.

View best answer in original post

Best Answer
0 Votes
10 REPLIES 10

I can't comment on the brightness level, but you can achieve always on by setting

 

display.autoOff = false;
display.on = true;

 

This code works in my clock face.

 

John

Best Answer
0 Votes

Thanks.

 

Yes, that works also for me to keep display always on but battery discharges at about 8% per hour which is a lot!! But brightness is higher than needed (even at lowest option on configurations) and I wish to lower brightness and maybe get 25 hours of battery - 1 full day.

Best Answer
0 Votes

Check out this thread: https://community.fitbit.com/t5/SDK-Development/Change-brightness-of-screen-by-App/m-p/2287309#M1357

 

In it @JonFitbit said that a new firmware version was needed to make this work.  But that was a year ago - not sure if was released.

 

If you are not running the latest firmware you might try a factory reset to force the upgrade and see if that helps.

 

John

Best Answer
0 Votes

Thanks. I just bought my Versa and it updated itself twice and is on firmware version 32.32.12.19 which is the latest version, so I think that should not be the reason.

Best Answer
0 Votes

It seems to be working for me here on my device.

 

import { display } from "display";

let counter = 0;

display.autoOff = false;
display.on = true;

setInterval(() => {
  counter += 1;
  if (counter > 100) counter = 0;
  display.brightnessOverride = counter / 100;
}, 100);
Best Answer
0 Votes

Thanks but still not working for me. I am using Versa with firmware 32.32.12.19 (I already did a factory reset, etc but still no working).

 

I used your code as a clock face or as an app, still do not work (as an app, I try selecting SDK 1.0 and 2.0 but still not works) -- I am using online studio.

 

In the end of tests I put a variable on display showing the value of display.brightnessOverride and it is changing as expected, but rest of screen is black but the display backlight do not change 😞

 

Can you please help me? -- how to debug this issue?

 

---

 

I remember you, from Pebble!!!!

 

I was a Fitbit user since long time but I got frustrated because I could not build any app or access the sensors to get my HR value, etc. Then I found Pebble and got in love with Pebble 2 with HR sensor, with always on display and that I could build app and access sensors, I was very happy and emotionally connected to what Pebble represented, with some "Open" information like blog messages about algorithms to detect steps, etc. BUT THEN, Fitbit bought Pebble and I was very sad.......... and after 2 years, were we are again and I am happy to see Fitbit Versa more or less as Pebble 2, at least from SDK side.

Best Answer
0 Votes

Thanks but still not working for me. I am using Versa with firmware 32.32.12.19 (I already did a factory reset, etc but still no working). Are you using Versa and with firmware 32.32.12.19?

 

I used your code as a clock face or as an app, still do not work (as an app, I try selecting SDK 1.0 and 2.0 but still not works) -- I am using online studio.

 

In the end of tests I put a variable on display showing the value of display.brightnessOverride and it is changing as expected, but rest of screen is black but the display backlight do not change 😞

 

Can you please help me? -- how to debug this issue?

 

---

 

I remember you, from Pebble!!!!

 

I was a Fitbit user since long time but I got frustrated because I could not build any app or access the sensors to get my HR value, etc. Then I found Pebble and got in love with Pebble 2 with HR sensor, with always on display and that I could build app and access sensors, I was very happy and emotionally connected to what Pebble represented, with some "Open" information like blog messages about algorithms to detect steps, etc. BUT THEN, Fitbit bought Pebble and I was very sad.......... and after 2 years, were we are again and I am happy to see Fitbit Versa more or less as Pebble 2, at least from SDK side.

Best Answer
0 Votes

My sample was just, this svg in index.gui

<svg viewport-fill="white"></svg>

Then my code above in the app/index.js

 

If it's an SDK2 app, disable the app timeout too:

import { me } from "appbit";
me.appTimeoutEnabled = false;
Best Answer
0 Votes

Still not working. This time I put the code on github (https://github.com/casainho/Fitbit_Versa_testing), it is the same code you suggested but I added:

console.log("Counter: " + counter + " : " + display.brightnessOverride);

I recorded a video showing the app running (phone camera was with light level blocked) as as you can see, it does not work 😞 😞

 

https://www.youtube.com/watch?v=GkQE4MZWR3A

Best Answer
0 Votes

After upgrade to new firmware on Versa (Fitbit OS 3.0) and select SDK 3.0 on Fitbit Studio, now it works!! I was expecting a lower brightness on the min value but seems to me that min value is equal to the value of "dim" brightness on the configurations of brightness on the Versa configurations.

Best Answer
0 Votes