mirror of
				https://github.com/house-of-abbey/GarminHomeAssistant.git
				synced 2025-11-04 08:58:13 +00:00 
			
		
		
		
	Individual errors
This commit is contained in:
		@@ -21,7 +21,7 @@ rem
 | 
			
		||||
rem -----------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
set /p SDK_PATH=<"%USERPROFILE%\AppData\Roaming\Garmin\ConnectIQ\current-sdk.cfg"
 | 
			
		||||
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 ^
 | 
			
		||||
  --output %SRC%\bin\HomeAssistant.prg ^
 | 
			
		||||
  --jungles %SRC%\%JUNGLE% ^
 | 
			
		||||
  --private-key %SRC%\..\developer_key ^
 | 
			
		||||
  --private-key "C:\Users\josep\AppData\Roaming\Garmin\ConnectIQ\Key\developer_key" ^
 | 
			
		||||
  --device %DEVICE%_sim ^
 | 
			
		||||
  --warn ^
 | 
			
		||||
  --release
 | 
			
		||||
 
 | 
			
		||||
@@ -51,8 +51,22 @@ class HomeAssistantGroupMenuItem extends WatchUi.IconMenuItem {
 | 
			
		||||
        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 {
 | 
			
		||||
        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();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -64,8 +64,22 @@ class HomeAssistantTemplateMenuItem extends WatchUi.IconMenuItem {
 | 
			
		||||
        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 {
 | 
			
		||||
        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();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -49,10 +49,8 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
 | 
			
		||||
        if (state != null) {
 | 
			
		||||
            if (state.equals("on") && !isEnabled()) {
 | 
			
		||||
                setEnabled(true);
 | 
			
		||||
                WatchUi.requestUpdate();
 | 
			
		||||
            } else if (state.equals("off") && isEnabled()) {
 | 
			
		||||
                setEnabled(false);
 | 
			
		||||
                WatchUi.requestUpdate();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@@ -64,20 +62,30 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
 | 
			
		||||
        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) {
 | 
			
		||||
            setSubLabel(null);
 | 
			
		||||
            WatchUi.requestUpdate();
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
            setSubLabel($.Rez.Strings.Empty);
 | 
			
		||||
        } else if(data instanceof Lang.String) {
 | 
			
		||||
            if (mTemplate == null) {
 | 
			
		||||
                setUiToggle(data);
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
            } 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);
 | 
			
		||||
        }
 | 
			
		||||
        WatchUi.requestUpdate();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // 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;
 | 
			
		||||
                        // System.println((d[i].get("attributes") as Lang.Dictionary).get("friendly_name") + " State=" + state);
 | 
			
		||||
                        setUiToggle(state);
 | 
			
		||||
                        WatchUi.requestUpdate();
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                status = WatchUi.loadResource($.Rez.Strings.Available) as Lang.String;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user