Skip to content

Instantly share code, notes, and snippets.

@darox
Created March 27, 2023 18:08
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save darox/1efb30a59cbebab3bdb06c8b56899baf to your computer and use it in GitHub Desktop.
Save darox/1efb30a59cbebab3bdb06c8b56899baf to your computer and use it in GitHub Desktop.
single-value-home-assistant
let widget = await createWidget();
if (!config.runsInWidget) {
await widget.presentSmall();
}
Script.setWidget(widget);
Script.complete();
async function createWidget(items) {
let req = new Request("<url>/api/states")
req.headers = {"Authorization": "Bearer <token>", "content-type": "application/json"}
let json = await req.loadJSON();
let data = { balkon: {} }
data.balkon = addData(json, data.balkon, ['sensor.balkon_solar_energie']);
const widget = new ListWidget();
widget.backgroundColor = new Color("#0E1111", 1.0);
const bodyStack = widget.addStack();
const solarStack = bodyStack.addStack();
solarStack.layoutVertically();
addSolar(solarStack, data.balkon)
return widget;
}
async function addSolar(solarStack, data) {
const mytext = solarStack.addText("☀️" + data.solar + "W");
mytext.textColor = Color.white()
mytext.font = Font.semiboldSystemFont(25)
}
function addData(json, room, sensors) {
room.solar = "N/A";
var i;
for (i =0; i < json.length; i++){
if (json[i]['entity_id'] == sensors[0]) {
room.solar = json[i]['state'];
}
}
log(room)
return room
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment