56 Commits

Author SHA1 Message Date
Philip Abbey
9eed5affdc Update HomeAssistantApp.mc
Guard against dereferencing null. Belt & braces, as this has not been an issue.
2024-07-26 17:16:07 +01:00
Philip Abbey
98c9c42366 Update HomeAssistantApp.mc
Fixed debug printing where the method name was wrong. Changes in commented out debug code only.
2024-07-26 16:55:13 +01:00
Philip Abbey
a49dd6554f More responsive status when using a polling delay
When using a polling delay, an action will trigger an immediate round of updates.
2024-07-20 19:16:42 +01:00
Philip Abbey
fc1a0eeb6d Update HomeAssistantApp.mc
When Settings.getPollDelay() > 0, do not wait for this time before the initial batch of updates, so the app is more responsive on opening.
2024-07-20 18:07:37 +01:00
Philip Abbey
dfa4cdd9b8 Moved template status updates to webhooks
This seems to work for non-privileged users.
2024-07-19 15:15:32 +01:00
Philip Abbey
2ffd83ebf5 When the cache is deactivated is now also cleared. 2024-04-16 22:58:53 +01:00
Philip Abbey
8f685af8ca Missed two System.println() string corrections. 2024-04-15 21:12:08 +01:00
Philip Abbey
b17d12fe54 Corrected Czech language strings as advised
Also amended some trivial System.println() strings
2024-04-15 19:29:32 +01:00
Philip Abbey
2a99069f48 Review comments 2024-03-21 19:29:52 +00:00
Philip Abbey
a0fe746c1d Amended update method to entire rounds
A single larger delay is now inserted once between entire rounds of status updates,
2024-03-21 09:15:47 +00:00
Philip Abbey
cacd9f856f Initial solution 2024-03-20 23:33:13 +00:00
Philip Abbey
4dc31e3c65 Removed a widget only property
That should have been removed previously.
2024-03-07 22:14:25 +00:00
Philip Abbey
d5ed16e6d2 Amended export.cmd
And removed an old comment from HomeAssistantApp.mc
2024-02-18 15:00:36 +00:00
Philip Abbey
a65dcd6811 Removed widget specific code 2024-02-11 19:35:34 +00:00
Philip Abbey
0dfcc65469 3 bug fixes as per the issue description 2024-02-05 19:09:26 +00:00
Philip Abbey
7786efd883 Update HomeAssistantApp.mc
Removed memory metrics
2024-01-21 20:46:55 +00:00
Philip Abbey
0b80e4546d Corrected a previous incomplete commit
All now "WatchUi.loadResource($.Rez.Strings.WebhookFailed) as Lang.String"
2024-01-21 20:43:11 +00:00
Philip Abbey
d9ecaf34ee Removed Debug
On some devices it looks like removing the System.println() statements from inside an 'if' clause whose condition is a constant (static constant Globals.scDebug) makes a memory saving. This would suggest the compiler does not propagate constants and prune unreachable code. However in the device of greatest interest debug removal has made no difference to the memory usage. Here the conditional clauses have been turned into comments that can be removed on a case-by-case basis otherwise the debug printing is too voluminous anyway.
2024-01-21 17:53:37 +00:00
Philip Abbey
44ec2e2eb1 Initial Solution 2024-01-19 19:26:02 +00:00
Joseph Abbey
2cf087ed23 Remove lists left around after initialisation 2024-01-14 14:20:27 +00:00
Philip Abbey
864a832e69 GUI refresh amendments 2024-01-09 08:58:58 +00:00
Philip Abbey
0a2d257421 Initial solution 2024-01-08 00:08:12 +00:00
Philip Abbey
9a268eaf02 Updated RezStrings.mc
Variables are now read only via getters.
2024-01-01 14:17:04 +00:00
Philip Abbey
b039dfbc3b Added RezStrings.mc
The intention is to factorise out many copies of the same string to a central location. Now need to deal with making the variables read-only.
2024-01-01 12:57:50 +00:00
Philip Abbey
ae72313f5e Settings reverted to a static class 2023-12-31 15:55:59 +00:00
Philip Abbey
56155f5f5c Added Watch Battery transmission
Added a background service to send the watch battery level to Home Assistant.
Changed the Glance View as requested by a user.
Updated to new HA icon using SVG in stead of PNG.
2023-12-31 15:22:21 +00:00
Philip Abbey
2ed8e9a3df Update HomeAssistantApp.mc
Found a bug when our Dynamic DNS went down. Can't update no menu items.
2023-12-24 12:43:34 +00:00
Philip Abbey
76c2aaa249 Finishing off widget+app code changes.
Glance now updates the status.
Fix for quitting the application when persistently displaying an ErrorView.
Added option for Widget RootView to immediately start HomeAssistant without waiting for a tap as requested by a user.
2023-12-23 14:30:58 +00:00
Philip Abbey
332a10867d Made RootView updateable
Changed the group/menu icon to be thicker.
2023-12-21 15:38:29 +00:00
Philip Abbey
3934ca53ba New glance and widget views
Added ability to test if we're a widget or a watch-app. Added troubleshooting documentation.
2023-12-21 11:37:30 +00:00
Philip Abbey
4ab25ef860 Comment header update
Corrected spelling of username of contributor.
2023-12-17 12:46:20 +00:00
Philip Abbey
3ce4b7d3e8 Merge branch 'main' into 22-add-internationalisation-for-application-settings 2023-12-17 12:43:48 +00:00
Philip Abbey
fc2f509085 Merge branch 'main' into 29-vivoactive-4s-crashes-user-reported-error 2023-12-17 11:57:24 +00:00
Philip Abbey
16383f61a4 Added SomeoneOnEarth to all source headers
Give credit to a co-author.
2023-12-16 17:07:43 +00:00
Philip Abbey
f086d0d03b Bug fix for devices with API 3.1.0
1) Removed WatchUi.getCurrentView() API call in favour of a new method of ensuring only one ErrorView is pushed at a time.
2) Any error view will be cancelled when responses start working again, e.g. watch gets in Bluetooth range of the phone again.
3) Added error message decoding for misspelled entities.

Co-Authored-By: Joseph Abbey <me@josephabbey.dev>
2023-12-16 17:03:38 +00:00
SomeoneOnEarth
aeb7620fb2 Add hint for glance related stuff 2023-12-15 20:11:11 +01:00
SomeoneOnEarth
6c9cfc1c29 Alligned var naming 2023-12-15 19:12:45 +01:00
SomeoneOnEarth
9aa32703cc Directly quit w/o showing RootView (if possible) 2023-12-15 00:38:03 +01:00
SomeoneOnEarth
f5095ac97a Code cleanups 2023-12-15 00:31:47 +01:00
SomeoneOnEarth
6bb9d836ac Introducing Loading and Exit View for Widget 2023-12-15 00:31:41 +01:00
SomeoneOnEarth
79b3bc6c21 Quick and dirty widget/glance implementation 2023-12-15 00:27:27 +01:00
Philip Abbey
8c0540ee45 Initial version with "auto quit"
Quit the application after a user settable period of time based on a timeout value from the settings.
2023-12-02 19:04:53 +00:00
Philip Abbey
ce90d9d47f Single HomeAssistantService for all Taps
1. Amended code for a single HomeAssistantService for all 'tap's
2. Removed now redundant GET request for taps without a service now that having a service is enforced.
3. Determined that migrating API code from 'toggle's to the HomeAssistantService is awkward due to the close coupling with other methods in the class.
2023-11-20 21:32:35 +00:00
SomeoneOnEarth
604294ae0b Corrected log strings 2023-11-19 13:11:51 +01:00
Philip Abbey
b90e6c7130 Connection reporting improvements and update resumption
Separation of phone connectivity and Internet access tests for finer grained feedback to the user.
Updates no longer stop on absence of Internet connectivity.
2023-11-18 15:52:02 +00:00
Philip Abbey
4b320086ee Tap menu items without a service tag will be ignored.
The JSON schema checker is relied on to highlight this error.
2023-11-17 17:51:01 +00:00
Philip Abbey
d540fb576a Bugfixes
Do not crash on zero items to update
Report unreachable URLs
Verify API URL does not have a trailing slash '/'
Increased HTTP response diagnosis
2023-11-12 16:24:56 +00:00
Philip Abbey
765d7f7f50 Removed timer based update mechanism
Instead chaining calls from the previous update is a slightly close coupled way that might need to be refined.
2023-11-11 20:00:26 +00:00
Philip Abbey
fde270ff34 Renamed class variables
There's a Monkey C convention to have class variable names start with 'm', then be camel case. 'm' for 'member' according to https://developer.garmin.com/connect-iq/reference-guides/monkey-c-reference/.
2023-11-11 13:58:35 +00:00
Philip Abbey
e7c4411dd2 Fix for the update rate
Now perform a "round robin" of all toggle menu items. The delay is currently 100 ms to avoid Communications.BLE_QUEUE_FULL errors.
2023-11-11 13:36:08 +00:00