04-27-2021 09:09
04-27-2021 09:09
I have a watch face that has a clock and some API data pulled from the web. I see that the following refreshes the clock every minute:
// Update the clock every minute
clock.granularity = "minutes";How would I set the fetched API data to update every minute as well? Should it be something like apiData.granularity = "minutes"; ?
Here is my app/index.js file:
import document from "document";
import * as messaging from "messaging";
import clock from "clock";
import { preferences } from "user-settings";
import * as util from "../common/utils";
// Update the clock every minute
clock.granularity = "minutes";
let demotext = document.getElementById("demotext");
// Listen for the onopen event
messaging.peerSocket.onopen = function() {
console.log('loading');
messaging.peerSocket.send("Hi!");
}
// Listen for the onmessage event
messaging.peerSocket.onmessage = function(evt) {
console.log('event', JSON.stringify(evt.data))
var dataTest = JSON.stringify(evt.data);
this.ui = document.getElementById("demotext")
this.ui.text = dataTest;
}
//Listen fo rthe onerror event
messaging.peerSocket.onerror = function(err) {
}
// Get a handle on the <text> element
const myLabel = document.getElementById("myLabel");
const apiData = document.getElementById("apiData")
// Update the <text> element every tick with the current time
clock.ontick = (evnt) => {
let today = evnt.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());
myLabel.text = `${hours}:${mins}`;
}
Best Answer04-27-2021 13:59
Gold Fitbit Product Experts share support knowledge on the forums and advocate for the betterment of Fitbit products and services. Learn more
04-27-2021 13:59
At a quick glance, I think your code will update the watch screen whenever a message is received. What you need to do is to ensure that messages are received as often as you want them. You'll have to do that in the companion.
Best Answer04-30-2021 06:28
Fitbit Developers oversee the SDK and API forums. We're here to answer questions about Fitbit developer tools, assist with projects, and make sure your voice is heard by the development team.
04-30-2021 06:28
Just to add to this... either use the companion wakeInterval to fetch new data, or when the screen wakes tell the companion to fetch data by sending it a message. Ideally, you only want to minimize impact on the battery by not requesting when the display is off.
Best Answer