mirror of
https://github.com/house-of-abbey/GarminHomeAssistant.git
synced 2025-06-17 11:58:30 +00:00
Individual errors
This commit is contained in:
@ -21,7 +21,7 @@ rem
|
|||||||
rem -----------------------------------------------------------------------------------
|
rem -----------------------------------------------------------------------------------
|
||||||
|
|
||||||
rem Check this path is correct for your Java installation
|
rem Check this path is correct for your Java installation
|
||||||
set JAVA_PATH=C:\Program Files\Java\jdk-22\bin
|
set JAVA_PATH=C:\Program Files\Java\jdk-21\bin\
|
||||||
rem SDK_PATH should work for all users
|
rem SDK_PATH should work for all users
|
||||||
set /p SDK_PATH=<"%USERPROFILE%\AppData\Roaming\Garmin\ConnectIQ\current-sdk.cfg"
|
set /p SDK_PATH=<"%USERPROFILE%\AppData\Roaming\Garmin\ConnectIQ\current-sdk.cfg"
|
||||||
set SDK_PATH=%SDK_PATH:~0,-1%\bin
|
set SDK_PATH=%SDK_PATH:~0,-1%\bin
|
||||||
@ -100,7 +100,7 @@ rem Compile PRG for a single device for side loading
|
|||||||
-jar %SDK_PATH%\monkeybrains.jar ^
|
-jar %SDK_PATH%\monkeybrains.jar ^
|
||||||
--output %SRC%\bin\HomeAssistant.prg ^
|
--output %SRC%\bin\HomeAssistant.prg ^
|
||||||
--jungles %SRC%\%JUNGLE% ^
|
--jungles %SRC%\%JUNGLE% ^
|
||||||
--private-key %SRC%\..\developer_key ^
|
--private-key "C:\Users\josep\AppData\Roaming\Garmin\ConnectIQ\Key\developer_key" ^
|
||||||
--device %DEVICE%_sim ^
|
--device %DEVICE%_sim ^
|
||||||
--warn ^
|
--warn ^
|
||||||
--release
|
--release
|
||||||
|
@ -51,8 +51,22 @@ class HomeAssistantGroupMenuItem extends WatchUi.IconMenuItem {
|
|||||||
return mTemplate;
|
return mTemplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateState(data as Lang.String or Null) as Void {
|
function updateState(data as Lang.String or Lang.Dictionary or Null) as Void {
|
||||||
setSubLabel(data);
|
if (data == null) {
|
||||||
|
setSubLabel($.Rez.Strings.Empty);
|
||||||
|
} else if(data instanceof Lang.String) {
|
||||||
|
setSubLabel(data);
|
||||||
|
} else if(data instanceof Lang.Dictionary) {
|
||||||
|
// System.println("HomeAsistantGroupMenuItem updateState() data = " + data);
|
||||||
|
if (data.get("error") != null) {
|
||||||
|
setSubLabel($.Rez.Strings.TemplateError);
|
||||||
|
} else {
|
||||||
|
setSubLabel($.Rez.Strings.PotentialError);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// The template must return a Lang.String, a number can be either integer or float and hence cannot be formatted locally without error.
|
||||||
|
setSubLabel(WatchUi.loadResource($.Rez.Strings.TemplateError) as Lang.String);
|
||||||
|
}
|
||||||
WatchUi.requestUpdate();
|
WatchUi.requestUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,8 +64,22 @@ class HomeAssistantTemplateMenuItem extends WatchUi.IconMenuItem {
|
|||||||
return mTemplate;
|
return mTemplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateState(data as Lang.String or Null) as Void {
|
function updateState(data as Lang.String or Lang.Dictionary or Null) as Void {
|
||||||
setSubLabel(data);
|
if (data == null) {
|
||||||
|
setSubLabel($.Rez.Strings.Empty);
|
||||||
|
} else if(data instanceof Lang.String) {
|
||||||
|
setSubLabel(data);
|
||||||
|
} else if(data instanceof Lang.Dictionary) {
|
||||||
|
// System.println("HomeAsistantTemplateMenuItem updateState() data = " + data);
|
||||||
|
if (data.get("error") != null) {
|
||||||
|
setSubLabel($.Rez.Strings.TemplateError);
|
||||||
|
} else {
|
||||||
|
setSubLabel($.Rez.Strings.PotentialError);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// The template must return a Lang.String, a number can be either integer or float and hence cannot be formatted locally without error.
|
||||||
|
setSubLabel(WatchUi.loadResource($.Rez.Strings.TemplateError) as Lang.String);
|
||||||
|
}
|
||||||
WatchUi.requestUpdate();
|
WatchUi.requestUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,10 +49,8 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
|||||||
if (state != null) {
|
if (state != null) {
|
||||||
if (state.equals("on") && !isEnabled()) {
|
if (state.equals("on") && !isEnabled()) {
|
||||||
setEnabled(true);
|
setEnabled(true);
|
||||||
WatchUi.requestUpdate();
|
|
||||||
} else if (state.equals("off") && isEnabled()) {
|
} else if (state.equals("off") && isEnabled()) {
|
||||||
setEnabled(false);
|
setEnabled(false);
|
||||||
WatchUi.requestUpdate();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -64,19 +62,29 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
|||||||
return "{{states('" + mData.get("entity_id") + "')}}," + mTemplate;
|
return "{{states('" + mData.get("entity_id") + "')}}," + mTemplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateState(data as Lang.String or Null) as Void {
|
function updateState(data as Lang.String or Lang.Dictionary or Null) as Void {
|
||||||
if (data == null) {
|
if (data == null) {
|
||||||
setSubLabel(null);
|
setSubLabel($.Rez.Strings.Empty);
|
||||||
WatchUi.requestUpdate();
|
} else if(data instanceof Lang.String) {
|
||||||
return;
|
if (mTemplate == null) {
|
||||||
|
setUiToggle(data);
|
||||||
|
} else {
|
||||||
|
var split = data.find(",");
|
||||||
|
setSubLabel(data.substring(split + 1, data.length()));
|
||||||
|
setUiToggle(data.substring(0, split));
|
||||||
|
}
|
||||||
|
} else if(data instanceof Lang.Dictionary) {
|
||||||
|
// System.println("HomeAsistantToggleMenuItem updateState() data = " + data);
|
||||||
|
if (data.get("error") != null) {
|
||||||
|
setSubLabel($.Rez.Strings.TemplateError);
|
||||||
|
} else {
|
||||||
|
setSubLabel($.Rez.Strings.PotentialError);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// The template must return a Lang.String, a number can be either integer or float and hence cannot be formatted locally without error.
|
||||||
|
setSubLabel(WatchUi.loadResource($.Rez.Strings.TemplateError) as Lang.String);
|
||||||
}
|
}
|
||||||
if (mTemplate == null) {
|
WatchUi.requestUpdate();
|
||||||
setUiToggle(data);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var split = data.find(",");
|
|
||||||
setSubLabel(data.substring(split + 1, data.length()));
|
|
||||||
setUiToggle(data.substring(0, split));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Callback function after completing the POST request to set the status.
|
// Callback function after completing the POST request to set the status.
|
||||||
@ -123,6 +131,7 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
|||||||
state = d[i].get("state") as Lang.String;
|
state = d[i].get("state") as Lang.String;
|
||||||
// System.println((d[i].get("attributes") as Lang.Dictionary).get("friendly_name") + " State=" + state);
|
// System.println((d[i].get("attributes") as Lang.Dictionary).get("friendly_name") + " State=" + state);
|
||||||
setUiToggle(state);
|
setUiToggle(state);
|
||||||
|
WatchUi.requestUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
status = WatchUi.loadResource($.Rez.Strings.Available) as Lang.String;
|
status = WatchUi.loadResource($.Rez.Strings.Available) as Lang.String;
|
||||||
|
Reference in New Issue
Block a user