Fix for 2 bugs in issue 221 (#222)

Template rendering and Webhook ID on initial start.

Please review and (hopefully) approve, but don't merge as I need to
deploy to the beta app.
This commit is contained in:
Philip Abbey
2025-03-27 06:32:27 +00:00
committed by GitHub
4 changed files with 21 additions and 4 deletions

View File

@ -266,7 +266,6 @@ class HomeAssistantApp extends Application.AppBase {
private function buildMenu(menu as Lang.Dictionary) { private function buildMenu(menu as Lang.Dictionary) {
mHaMenu = new HomeAssistantView(menu, null); mHaMenu = new HomeAssistantView(menu, null);
mQuitTimer.begin(); mQuitTimer.begin();
startUpdates();
} }
function startUpdates() { function startUpdates() {

View File

@ -56,6 +56,12 @@ class HomeAssistantGroupMenuItem extends WatchUi.IconMenuItem {
setSubLabel(null); setSubLabel(null);
} else if(data instanceof Lang.String) { } else if(data instanceof Lang.String) {
setSubLabel(data); setSubLabel(data);
} else if(data instanceof Lang.Number) {
var d = data as Lang.Number;
setSubLabel(d.format("%d"));
} else if(data instanceof Lang.Float) {
var f = data as Lang.Float;
setSubLabel(f.format("%f"));
} else if(data instanceof Lang.Dictionary) { } else if(data instanceof Lang.Dictionary) {
// System.println("HomeAsistantGroupMenuItem updateState() data = " + data); // System.println("HomeAsistantGroupMenuItem updateState() data = " + data);
if (data.get("error") != null) { if (data.get("error") != null) {
@ -64,7 +70,7 @@ class HomeAssistantGroupMenuItem extends WatchUi.IconMenuItem {
setSubLabel($.Rez.Strings.PotentialError); setSubLabel($.Rez.Strings.PotentialError);
} }
} else { } else {
// The template must return a Lang.String, a number can be either integer or float and hence cannot be formatted locally without error. // The template must return a Lang.String, Number or Float, or the item cannot be formatted locally without error.
setSubLabel(WatchUi.loadResource($.Rez.Strings.TemplateError) as Lang.String); setSubLabel(WatchUi.loadResource($.Rez.Strings.TemplateError) as Lang.String);
} }
WatchUi.requestUpdate(); WatchUi.requestUpdate();

View File

@ -72,6 +72,12 @@ class HomeAssistantTapMenuItem extends WatchUi.IconMenuItem {
setSubLabel($.Rez.Strings.Empty); setSubLabel($.Rez.Strings.Empty);
} else if(data instanceof Lang.String) { } else if(data instanceof Lang.String) {
setSubLabel(data); setSubLabel(data);
} else if(data instanceof Lang.Number) {
var d = data as Lang.Number;
setSubLabel(d.format("%d"));
} else if(data instanceof Lang.Float) {
var f = data as Lang.Float;
setSubLabel(f.format("%f"));
} else if(data instanceof Lang.Dictionary) { } else if(data instanceof Lang.Dictionary) {
// System.println("HomeAsistantTemplateMenuItem updateState() data = " + data); // System.println("HomeAsistantTemplateMenuItem updateState() data = " + data);
if (data.get("error") != null) { if (data.get("error") != null) {
@ -80,7 +86,7 @@ class HomeAssistantTapMenuItem extends WatchUi.IconMenuItem {
setSubLabel($.Rez.Strings.PotentialError); setSubLabel($.Rez.Strings.PotentialError);
} }
} else { } else {
// The template must return a Lang.String, a number can be either integer or float and hence cannot be formatted locally without error. // The template must return a Lang.String, Number or Float, or the item cannot be formatted locally without error.
setSubLabel(WatchUi.loadResource($.Rez.Strings.TemplateError) as Lang.String); setSubLabel(WatchUi.loadResource($.Rez.Strings.TemplateError) as Lang.String);
} }
WatchUi.requestUpdate(); WatchUi.requestUpdate();

View File

@ -74,6 +74,12 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
setSubLabel(null); setSubLabel(null);
} else if(data instanceof Lang.String) { } else if(data instanceof Lang.String) {
setSubLabel(data); setSubLabel(data);
} else if(data instanceof Lang.Number) {
var d = data as Lang.Number;
setSubLabel(d.format("%d"));
} else if(data instanceof Lang.Float) {
var f = data as Lang.Float;
setSubLabel(f.format("%f"));
} else if(data instanceof Lang.Dictionary) { } else if(data instanceof Lang.Dictionary) {
// System.println("HomeAsistantToggleMenuItem updateState() data = " + data); // System.println("HomeAsistantToggleMenuItem updateState() data = " + data);
if (data.get("error") != null) { if (data.get("error") != null) {
@ -82,7 +88,7 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
setSubLabel($.Rez.Strings.PotentialError); setSubLabel($.Rez.Strings.PotentialError);
} }
} else { } else {
// The template must return a Lang.String, a number can be either integer or float and hence cannot be formatted locally without error. // The template must return a Lang.String, Number or Float, or the item cannot be formatted locally without error.
setSubLabel(WatchUi.loadResource($.Rez.Strings.TemplateError) as Lang.String); setSubLabel(WatchUi.loadResource($.Rez.Strings.TemplateError) as Lang.String);
} }
WatchUi.requestUpdate(); WatchUi.requestUpdate();