Commit Graph

543 Commits

Author SHA1 Message Date
7a14a65ba3 Update HISTORY.md
2.24 text
2025-03-23 16:54:52 +00:00
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
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
184e2ac80e Add 4 new devices
approachs50, descentg2, descentmk1, and gpsmap66
2025-03-23 15:59:29 +00:00
12c5766818 208 provide display only menu items with no actions (#210)
Please take some care with checking any documentation where `template`
has been amended to either `info` to `tap`. Some of the documentation
was out of date, hopefully this fixes it.
v2.23
2025-01-19 20:37:11 +00:00
b82e63d191 Documentation update 2025-01-19 19:47:42 +00:00
ed4646511f Added 5 new Instinct devices
Small (imperfect) fix for 2 colour device icons.
2025-01-19 18:47:38 +00:00
fd58625640 Info only menu item 2025-01-19 13:44:53 +00:00
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
f171f913ac Update README.md (#202)
Documented a workaround to communicate with Home Assistant using HTTP.
2024-12-08 21:57:51 +00:00
cca73a4069 Update README.md
Documented a workaround to communicate with Home Assistant using HTTP.

Signed-off-by: Tomer <55205856+TomerMir@users.noreply.github.com>
2024-12-03 18:47:06 +02:00
2a3514de64 Update HISTORY.md
Version number typo.

Signed-off-by: Philip Abbey <philipabbey@users.noreply.github.com>
v2.22
2024-11-20 17:59:11 +00:00
fbcf2d4c8d Changes as per issue. (#200)
Trivial one this.
2024-11-20 17:23:43 +00:00
b6719365b2 Changes as per issue. 2024-11-19 21:56:32 +00:00
ad73971758 197 cosmetic changes (#198)
Just a bit of tidying, no major functionality changes.
2024-11-19 11:29:18 +00:00
2a7528ea86 Apply automatic changes 2024-11-18 19:57:22 +00:00
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
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
796be5b960 add trailing period to be consistent with other messages 2024-11-18 17:43:10 +01:00
b6acec0672 move pin validation error screen to initial view resolution 2024-11-18 17:38:30 +01:00
e8e2e02086 move pin validation to settings 2024-11-17 11:21:26 +01:00
f3e6879540 move PIN constants to Globals.mc 2024-11-17 11:00:45 +01:00
666854c5c6 fix translation 2024-11-17 10:51:56 +01:00
e0418a0ae6 improve docs 2024-11-17 10:49:58 +01:00
f51197ff75 adjust docs 2024-11-14 21:32:38 +01:00
97b5371a0e add "pin": true JSON config property, add default pin, add pin confirmation to toggle, adjust JSON schema 2024-11-13 21:30:36 +01:00
51d4f68688 preliminary doc changes 2024-11-12 19:35:15 +01:00
0ac8e11287 use full numpad, validate 4-digit pin, add visual feedback on click, show toast on error 2024-11-12 19:24:15 +01:00
73219c6864 add class/method to debug messages 2024-11-11 21:06:38 +01:00
f24d79e41a Merge branch 'main' into feature/pin-confirmation 2024-11-11 20:58:52 +01:00
b13fb7e953 validate pin after full length of pin has been entered 2024-11-11 20:58:09 +01:00
7947280bb6 internationalize pin lock message 2024-11-11 20:39:26 +01:00
fb2bb7f566 remove transcoding, move pin to settings, remove pin from schema 2024-11-11 20:06:35 +01:00
2000a30276 Update README.md
Garmin Express known issue.
2024-11-07 20:01:56 +00:00
cd5ed317c5 move pin mask translation to corrections 2024-10-16 16:45:55 +02:00
86943aa664 add mini vibration feedback when tapping pin digits 2024-10-16 15:59:44 +02:00
e21ab79d5d add PIN lock after exceeding failure count 2024-10-16 15:58:37 +02:00
c592726bd4 add PIN transcoding 2024-10-15 20:27:52 +02:00
b48102f9a6 add pin confirmation 2024-10-15 19:59:04 +02:00
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
8caef29aba 2 fixes as required by issue 185 (#186)
Solution to a race condition with starting updates and amendment to
error message presentation on Webhook ID creation failure.
2024-09-10 15:16:54 +01:00
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
060cd2729f Update README.md
Additional information on toasts with Forerunner 55 device.

Signed-off-by: Philip Abbey <philipabbey@users.noreply.github.com>
v2.21
2024-09-07 11:06:11 +01:00
73a38e9b4e Update HISTORY.md
v2.21 amendment.
2024-09-06 17:32:50 +01:00
b22f119eb3 182 add support for the latest devices released from garmin (#183)
7 new devices. 2 users waiting for this update for Fenix 8.
2024-09-06 17:30:24 +01:00
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
ecb2e8bc96 Restyled by whitespace 2024-09-05 21:57:35 +00:00
881700d0ed Update HISTORY.md
v2.21 text
2024-09-05 21:28:33 +01:00
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
2e7216b6b2 v2.20 documentation update v2.20 2024-08-30 21:18:56 +01:00