Added action to HA

master
David Peer 2022-09-18 12:10:14 +02:00
parent aeb2ec5002
commit 2c1b29eb53
1 changed files with 38 additions and 17 deletions

View File

@ -249,7 +249,8 @@ var weatherItems = {
// ----ha_clock_info ------------------------------------------------------ // ----ha_clock_info ------------------------------------------------------
var triggers = require("ha.lib.js").getTriggers(); var ha = require("ha.lib.js");
var triggers = ha.getTriggers();
var haItems = { var haItems = {
name: "Home", name: "Home",
@ -269,7 +270,11 @@ triggers.forEach((trigger, i) => {
name: "haTrigger-" + i, name: "haTrigger-" + i,
get: () => ({ text: trigger.display, img: trigger.getIcon()}), get: () => ({ text: trigger.display, img: trigger.getIcon()}),
show: function() { haItems.items[i].emit("redraw"); }, show: function() { haItems.items[i].emit("redraw"); },
hide: function () {} hide: function () {},
run: function() {
ha.sendTrigger("TRIGGER_BW");
ha.sendTrigger(trigger.trigger);
}
}); });
}); });
@ -460,6 +465,34 @@ function drawMenuAndTime(){
} }
function canRunItem(){
if(settings.menuPosY == 0){
return false;
}
var menuEntry = menu[settings.menuPosX];
var item = menuEntry.items[settings.menuPosY-1];
return item.run !== undefined;
}
function runItem(){
if(settings.menuPosY == 0){
return;
}
var menuEntry = menu[settings.menuPosX];
var item = menuEntry.items[settings.menuPosY-1];
Bangle.buzz(160, 0.6).then(()=>{
try{
item.run();
} catch (ex) {
// Simply ignore it...
}
});
}
function drawLock(){ function drawLock(){
if(settings.showLock && Bangle.isLocked()){ if(settings.showLock && Bangle.isLocked()){
g.setColor(g.theme.fg); g.setColor(g.theme.fg);
@ -579,21 +612,9 @@ Bangle.on('touch', function(btn, e){
} }
if(is_center){ if(is_center){
// var menuEntry = getMenuEntry(); if(canRunItem()){
// if(menuEntry.length > 4 && menuEntry[4] != null){ runItem();
// Bangle.buzz(80, 0.6).then(()=>{ }
// try{
// menuEntry[4]();
// setTimeout(()=>{
// Bangle.buzz(80, 0.6);
// drawTime();
// }, 250);
// } catch(ex){
// // In case it fails, we simply ignore it.
// }
// }
// );
// }
} }
}); });