Commit Graph
100 Commits
Author SHA1 Message Date
Philip Abbey c13e898e59 Update HISTORY.md
v2.25
2025-03-27 07:35:44 +00:00
Philip Abbey a77870c2eb 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.
2025-03-27 06:32:27 +00:00
Philip Abbey 155649f162 Fix for 2 bugs in issue 221
Template rendering and Webhook ID on initial start.
2025-03-26 22:37:33 +00:00
Philip Abbey 7a14a65ba3 Update HISTORY.md
2.24 text
2025-03-23 16:54:52 +00:00
Philip Abbey adf69d7dec Rearranging Web API Requests
Making sure the menu update API call is completed before the Webhook IDs are fetched in order to reduce latency to usefulness.
2025-03-23 16:54:13 +00:00
Philip Abbey d105e69484 Update WebhookManager.mc
Removed Settings.unsetWebhookId() where it might be causing problems with replacement "Garmin Device" in Home Assistant.
2025-03-23 16:01:53 +00:00
Philip Abbey 184e2ac80e Add 4 new devices
approachs50, descentg2, descentmk1, and gpsmap66
2025-03-23 15:59:29 +00:00
Philip Abbey b82e63d191 Documentation update 2025-01-19 19:47:42 +00:00
Philip Abbey ed4646511f Added 5 new Instinct devices
Small (imperfect) fix for 2 colour device icons.
2025-01-19 18:47:38 +00:00
Philip Abbey fd58625640 Info only menu item 2025-01-19 13:44:53 +00:00
Philip Abbey 816f2e6399 Update Actions.md
Documentation for the `service` field after a recently uncovered issue with its value. See https://github.com/house-of-abbey/GarminHomeAssistant/issues/205.

Signed-off-by: Philip Abbey <philipabbey@users.noreply.github.com>
2024-12-31 18:02:03 +00:00
Philip Abbey f171f913ac Update README.md (#202)
Documented a workaround to communicate with Home Assistant using HTTP.
2024-12-08 21:57:51 +00:00
Philip Abbey 2a3514de64 Update HISTORY.md
Version number typo.

Signed-off-by: Philip Abbey <philipabbey@users.noreply.github.com>
2024-11-20 17:59:11 +00:00
Philip Abbey b6719365b2 Changes as per issue. 2024-11-19 21:56:32 +00:00
philipabbey 2a7528ea86 Apply automatic changes 2024-11-18 19:57:22 +00:00
Philip Abbey 11ecf88ee2 An assortment of cosmetic changes
JSON schema fix to remove 'template' as a valid option, punctuation in strings, whitespace, and a new application history entry.
2024-11-18 19:39:13 +00:00
Philip Abbey fb68ce2fba Feature: PIN confirmation dialog (#192)
## About this PR:
Being one of those incorrigible fools who want to open and unlock stuff
using my watch, I thought of a way to improve security when calling a
HomeAssistant service from the Garmin App.

This change adds a PIN confirmation dialog that is displayed whenever a
`pin` property has been set in the `tap_action`. Because of the size of
the screen, PINs consist of a sequence of abritrary length using the
digits 1-4.

![2024-10-16 11_16_09-CIQ Simulator - Venu® Sq 2 Music (5 0
0)](https://github.com/user-attachments/assets/f6e09c00-5dde-4972-b7dc-256d4d94e99e)

Due to public visibility of the dashboard config, a pin mask can be
configured in the app's settings to transcode the PIN on the watch for
additional security. Using a cipher for PIN encryption has been
discarded due to the complexity involved in generating the encrypted
PINs for the end user.

The PIN dialog is configured to allow up to 4 erraneous PIN inputs in 2
minutes, a 5th failure will lock the PIN dialog (for all actions) for 10
minutes. Entering a correct PIN will reset the failure count.

## Changes included in this PR:
- PIN confirmation screen
- called whenever a `pin` has been configured in a `tap_action`. This
overrides the `confirm` property. Users without a touchscreen will be
routed to the regular confirmation dialog.
- optional `pin_mask` configuration setting, which will be used to
transcode the digits of the PIN (see documentation change)
	- german translation of the `pin_mask` label
	- failed attemps and PIN lock are stored in application storage
- Addition of `pin` field to the JSON Schema
- Additions to the docs

Tested on a few devices in the simulator, tested and running as a beta
on a Venu 2 Sq Music.

## Disclaimer:
This is my first attempt at a Monkey C project.
I probably learned more from looking at the existing app than from the
sdk samples. Awesome work!

I added this mainly because I wanted a feature like that for myself,
thought it is a good thing to add and because I was interested in
developing for Garmin devices.
I would be glad if you like the idea and are open to review it and
include it in the app.

I have tried to use coding style and conventions from the existing
project as far as I could see them.
2024-11-18 19:00:05 +00:00
Philip Abbey 2000a30276 Update README.md
Garmin Express known issue.
2024-11-07 20:01:56 +00:00
Philip Abbey 04c61981ea Update Switches.md
Action from "Allow confirming switch toggle" https://github.com/house-of-abbey/GarminHomeAssistant/issues/190, make documentation clearer.

Signed-off-by: Philip Abbey <philipabbey@users.noreply.github.com>
2024-10-06 15:35:35 +01:00
Philip AbbeyandJoseph Abbey a48ab486ae 2 fixes as required by issue 185
Solution to a race condition with starting updates and amendment to error message presentation on Webhook ID creation failure.

Co-Authored-By: Joseph Abbey <me@josephabbey.dev>
2024-09-07 20:27:58 +01:00
Philip Abbey 060cd2729f Update README.md
Additional information on toasts with Forerunner 55 device.

Signed-off-by: Philip Abbey <philipabbey@users.noreply.github.com>
2024-09-07 11:06:11 +01:00
Philip Abbey 73a38e9b4e Update HISTORY.md
v2.21 amendment.
2024-09-06 17:32:50 +01:00
Philip Abbey cd8f5d900e Restyle 182 add support for the latest devices released from garmin (#184)
Automated style fixes for #183, created by [Restyled][].

The following restylers [made
fixes](https://restyled.io/gh/house-of-abbey/repos/GarminHomeAssistant/jobs/4778343):

-
[whitespace](https://github.com/restyled-io/restyler-whitespace/blob/master/README.md)


To incorporate these changes, merge this Pull Request into the original.
We
recommend using the Squash or Rebase strategies.


**NOTE**: As work continues on the original Pull Request, this process
will
re-run and update (force-push) this Pull Request with updated style
fixes as
necessary. If the style is fixed manually at any point (i.e. this
process finds
no fixes to make), this Pull Request will be closed automatically.

Sorry if this was unexpected. To disable it, see our [documentation][].

[restyled]: https://restyled.io
[documentation]:
https://github.com/restyled-io/restyled.io/wiki/Disabling-Restyled
2024-09-05 22:59:01 +01:00
Philip Abbey 881700d0ed Update HISTORY.md
v2.21 text
2024-09-05 21:28:33 +01:00
Philip Abbey 75ea23dfbd 7 New devices, mainly Fenix
SDK updated to 7.3.0 in order to get new devices to work in simulation. This means some function prototypes have had to be amended.
2024-09-05 21:23:49 +01:00
Philip Abbey 2e7216b6b2 v2.20 documentation update 2024-08-30 21:18:56 +01:00
Philip Abbey 4432c7b9a0 Update WebhookManager.mc
Speculative fix to handle the callback data from webhook generation perhaps not being Lang.Dict.
2024-08-30 15:49:06 +01:00
Philip Abbey 15e2b19193 Deprecate template type (#177) 2024-08-30 14:32:22 +01:00
Philip Abbey da2e94caa3 Update TroubleShooting.md
Added instructions for how to send the debug log from the watch.
2024-08-30 13:25:41 +01:00
Philip Abbey fb5c2193f1 Create debug_log_location.png
Need a picture to explain to users where to fetch the debug logs from. Only gives the error message, but not the location unfortunately.
2024-08-30 13:18:09 +01:00
Philip Abbey df3be94bf9 Documentation for v2.19 2024-08-29 23:12:13 +01:00
Philip Abbey b5140ce8b4 Added vibrate to confirm toggle items tapped 2024-08-29 21:13:55 +01:00
Philip Abbey 17a5d89998 Prevent negative heading values. 2024-08-29 21:00:50 +01:00
Philip Abbey 63bc127aec Perform all updates in one request (#173) 2024-08-29 20:55:40 +01:00
Philip Abbey bbd9119a07 Update HomeAssistantToggleMenuItem.mc
Prevent multiple toggles for initiating one action. Only set the state when the called service returns with the confirmed value.
2024-08-28 23:01:28 +01:00
Philip Abbey d387152593 Restyle 165 templating content for all types (#171)
Automated style fixes for #170, created by [Restyled][].

The following restylers [made
fixes](https://restyled.io/gh/house-of-abbey/repos/GarminHomeAssistant/jobs/4738467):

- [jq](https://stedolan.github.io/jq/)
- [prettier-json](https://prettier.io/docs/en/options.html#parser)
-
[whitespace](https://github.com/restyled-io/restyler-whitespace/blob/master/README.md)


To incorporate these changes, merge this Pull Request into the original.
We
recommend using the Squash or Rebase strategies.


**NOTE**: As work continues on the original Pull Request, this process
will
re-run and update (force-push) this Pull Request with updated style
fixes as
necessary. If the style is fixed manually at any point (i.e. this
process finds
no fixes to make), this Pull Request will be closed automatically.

Sorry if this was unexpected. To disable it, see our [documentation][].

[restyled]: https://restyled.io
[documentation]:
https://github.com/restyled-io/restyled.io/wiki/Disabling-Restyled
2024-08-25 19:47:20 +01:00
Philip Abbey 2ea349bfda Merge branch 'main' into 165-templating-content-for-all-types 2024-08-25 19:44:58 +01:00
Philip Abbey 1846d682f7 Update HISTORY.md
v2.18 text line amended.
2024-08-25 19:39:27 +01:00
Philip Abbey 685cda7924 Added template option to toggle menu items 2024-08-25 19:34:29 +01:00
Philip Abbey 72e825566c Update TemplateMenuItem.mc
Fixed System.println() calls.
2024-08-25 19:33:33 +01:00
Philip Abbey 1dc95eeac7 Added callback function to TemplateMenuItem 2024-08-25 18:53:32 +01:00
Philip Abbey 08829dac1f Update export.cmd
Trivial update to give the cmd.exe a title.
2024-08-25 16:50:08 +01:00
Philip Abbey ca6e0733c5 Added null checking to activity stats (#169)
Position.getInfo().* might return null sometimes, so best check and
avoid a numerical error.

@KPWhiver My co-author is away presently, would you mind giving this
simple change the once over? Thanks!
2024-08-25 16:15:01 +01:00
Philip Abbey 01f073e67b Update BackgroundServiceDelegate.mc
Only submitting non-null values to HA, not fake zeros for null values.
2024-08-25 13:50:29 +01:00
Philip Abbey 64a9c5f274 Added null checking to activity stats
Position.getInfo().* might return null sometimes, so best check and avoid a numerical error.
2024-08-25 13:07:23 +01:00
Philip Abbey ea32d71a2b Added templates to group items 2024-08-24 18:31:47 +01:00
Philip Abbey f2fb7f65a0 Merge branch 'main' of https://github.com/house-of-abbey/GarminHomeAssistant 2024-08-24 14:30:44 +01:00
Philip Abbey 1e103069bc Update README.md
Feature differences between Application and Widget.
2024-08-24 14:30:23 +01:00
Philip Abbey 520309729d Bug fix for activity reporting (#167)
Added 'has' clauses around additional ActivityMonitor.Info fields that
are not present on all devices. I have also checked the other reporting
fields to ensure they are not device dependent.
2024-08-24 14:26:54 +01:00
Philip Abbey d2aec16811 Update BackgroundServiceDelegate.mc
Failed to make commensurate changes to the background service code.
2024-08-24 14:21:02 +01:00
Philip Abbey a424e35784 Update WebhookManager.mc
Returned internationalized string for unavailable to "unknown" as per review comments advice.
2024-08-24 13:58:47 +01:00
Philip Abbey 5558e25bda Bug fix for activity reporting
Added 'has' clauses around additional ActivityMonitor.Info fields that are not present on all devices.
2024-08-24 12:28:54 +01:00
Philip Abbey 769731bff2 Send heartrate, floor, and respiration rate values to Home Assistant (#162)
This change sends the heartrate, respiration rate, stepcount, and floors
climbed/descended to Home Assistant as mobile app entities. There are a
lot more sensors that could potentially be added.

I have only tested this on a Vivoactive 4s as that is the only device I
own.

Let me know what you think and if there are any changes you would like
to see.
2024-08-20 09:01:00 +01:00
Philip Abbey 2c56155593 Merge branch 'main' into more-mobile-app-sensors
Signed-off-by: Philip Abbey <philipabbey@users.noreply.github.com>
2024-08-19 12:36:33 +01:00
Philip Abbey c38f91f456 Fixed merge conflict
Fixed a merge conflict made by more recent changes to fix a bug (https://github.com/house-of-abbey/GarminHomeAssistant/pull/164)
2024-08-19 12:33:23 +01:00
Philip Abbey 51081ee2e6 Update HISTORY.md
Added v2.16
2024-08-18 13:03:30 +01:00
Philip Abbey 7c7130367f Update Settings.mc
Rearranged 'else' clauses.
2024-08-18 12:26:45 +01:00
Philip Abbey 42d1a7233c Update Settings.mc
Test the phone is connected before attempting WebHook HTTP requests.
2024-08-18 12:04:34 +01:00
Philip Abbey a213c6851e Largely cosmetic
Removed debug that escaped.
Belt & braces field to prevent the update chain being started twice.
2024-07-26 18:23:22 +01:00
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
philipabbey 97030dc1b8 Apply automatic changes 2024-07-26 08:16:05 +00:00
Philip Abbey 6a2a791146 Update strings.xml
Removed glance scope
2024-07-26 08:56:52 +01:00
Philip Abbey 1eb2fbed0e Added internationalisation of new strings 2024-07-26 08:50:10 +01:00
Philip Abbey a86133fd87 Update HISTORY.md
v2.15 added
2024-07-25 23:36:11 +01:00
Philip Abbey 0ae39a029f Update HomeAssistantTemplateMenuItem.mc
Template errors now displayed per item.
2024-07-25 20:38:17 +01:00
Philip Abbey 3cebd106eb Update HISTORY.md
v2.14
2024-07-25 08:51:53 +01:00
Philip Abbey 9030a00d7d Update BackgroundServiceDelegate.mc
Put check for methods with 'has' back in.
2024-07-22 22:18:27 +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 61f6d69e64 Update HISTORY.md
Added a second feature to 2.13 in anticipation.
2024-07-20 17:39:59 +01:00
Philip Abbey 98af5578f0 Added update to telemetry on completion of an activity 2024-07-20 17:28:57 +01:00
Philip Abbey c18736e40d Update Templates.md
Examples now up to date with schema changes.
2024-07-20 17:23:00 +01:00
Philip Abbey a139742265 Update HISTORY.md
Ver 2.13 text added in anticipation.
2024-07-19 17:05:19 +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 1c4add693d Update README.md
Amended advice based on a report at https://community.home-assistant.io/t/home-assistant-app-for-garmin/637348/280.

Signed-off-by: Philip Abbey <philipabbey@users.noreply.github.com>
2024-07-01 08:40:04 +01:00
Philip Abbey 83914e8d8d Update monkey.jungle
Missed the Jungle file.
2024-06-15 11:13:10 +01:00
Philip Abbey f4ca55d741 Devices Edge 540 and Edge 840 re-enabled
@Petucky reports the application works well on an Edge 840 by sideloading the code from an Edge 830 device.
2024-06-15 11:00:58 +01:00
Philip Abbey 5d34db7b6a Update README.md
Typo
2024-05-04 14:29:54 +01:00
Philip Abbey cfaa31d5ee Update README.md
Typo
2024-05-04 14:28:33 +01:00
Philip Abbey 52ee270788 Update README.md
Note about HTTP
2024-05-04 10:06:59 +01:00
Philip Abbey dec38889a5 Update HISTORY.md
Added version 2.11
2024-04-17 14:06:34 +01:00
Philip Abbey 586d85e706 Update export.cmd
Commit directly to main as not application code.
2024-04-17 08:26:52 +01:00
Philip Abbey 30b55aec3e Merge branch 'main' of https://github.com/house-of-abbey/GarminHomeAssistant 2024-04-17 08:24:52 +01:00
philipabbey 93d672dd40 Apply automatic changes 2024-04-17 07:09:18 +00:00
Philip Abbey 9130bc7121 Merge pull request #139 from house-of-abbey/138-cached-menu-will-still-be-used-even-if-the-setting-is-deactivated
When the cache is deactivated is now also cleared.
2024-04-17 07:56:49 +01:00
Philip Abbey a6e386c5e6 Removed scope="glance" from another language corrections.xml file 2024-04-17 07:52:28 +01:00
Philip Abbey 2ffd83ebf5 When the cache is deactivated is now also cleared. 2024-04-16 22:58:53 +01:00
philipabbey 48b7e7efe5 Apply automatic changes 2024-04-16 06:35:49 +00:00
Philip Abbey 7bb270aae8 Update corrections.xml
Changed `<string id="Menu">Menu</string>` to `<string id="GlanceMenu">Menu</string>`.

A trivial fix so bypassing reviews.
2024-04-16 07:01:38 +01:00
Philip Abbey ac117952d0 Merge pull request #136 from house-of-abbey/135-string-change-request-czech-translation-inappropriate
Corrected Czech language strings as advised
2024-04-16 06:31:26 +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 d5c39fa7f0 Documentation: Screenshot for Unicode Characters 2024-03-31 16:45:31 +01:00
philipabbey b4b113f4e1 Apply automatic changes 2024-03-30 20:26:40 +00:00
Philip Abbey 517e36cfb0 Update Templates.md
Amended wording.
2024-03-30 14:19:23 +00:00
Philip Abbey 7071362656 Update Templates.md
Examples with unicode characters.
2024-03-30 13:36:23 +00:00
Philip Abbey e37b2a76aa Merge pull request #129 from jose1711/sk_translation
Corrected a few strings in Slovak.
2024-03-30 12:18:44 +00:00
Philip Abbey 2f4c14d7d5 Merge pull request #126 from jose1711/typo
Fix typo
2024-03-22 20:04:03 +00:00
Philip Abbey 6599c22664 Merge pull request #123 from house-of-abbey/103-possiblity-to-add-polling-interval-for-states-to-save-battery
103 possiblity to add polling interval for states to save battery
2024-03-21 19:34:55 +00:00