Correct, the menu file is public and users accept this risk.
Here the security is with the Home Assistant “Long-Lived Access Token” which is what enables only the authorised users to effect changes. Otherwise the security of the menu item IDs is managed via obscurity.
Its a bit like when you give your bank details out for people to pay you for services rendered, they can’t extract money with those details as that requires additional authorisation.
However the question as posed has sparked a thought by my co-author. Check back later there’s an experiment brewing.
python3 .\py_http.py --username hello --password world
The URL that you put in to the settings would then look like:
http://hello:world@localhost:8000/config.json
I have not tested this on the watch because of SSL but if Garmin supports that format of URL then it should just work with the current version of the app.
Does the dishwasher menu item work? If so, then the problem is with you entity ID for the light. Does the web editor find your entities without any problems?
That means the service or action light.turn_on must be called on light.west_office. Can you check that does work in the “Developer Tools”? (Developer Tools → Actions) If not, then we can confirm the source of the problem is in your HA setup.
Now that the template type is deprecated, which should be the right syntax for an entry showing info, without any expected action (such as showing room temperature and humidity)? A “tap” entry with an empty tap_action section? Even though that shows a warning?
Are you able to verify that your watch can actually see the Home Assistant? Is there a confirmation that the API is available, e.g. via the glance. (Yes I know, you’ve probably already verified this but forgive me for asking as I’m struggling.)
hello everyone, I use a Garmin Fenix 7 and would like to use home assitant on my watch.
I have already created the persistent token. Unfortunately, I am now having problems setting up the home assistant app. I have used the token for the api key, for the url to the home assistant api I have entered the following http://ipadress:8123. Unfortunately I am not sure what to enter for the menu item “url of menu configuration json”? Can you please help me with this? I’m not a developer, sorry
You have to publish your JSON menu file on a webserver (that you control) so that the watch can request it. Therefore you are also in control of what the URL is that has to be entered in the settings. Because everyone’s circumstances are a little bit different, this can’t be prescribed for you. However, you can get some ideas from the Trouble shooting guide.
I appreciate some users will try this app without developer skills, but it is aimed at those familiar with setting up a Home Assistant with all its YAML files. So this could be a tough gig then!
BTW I don’t like the look of your URL it does not start with “https://” and includes the port “:8123” which is just not going to work with Garmin’s SDK which enforced HTTPS. That’s something beyond my control and cannot be fixed (easily). Please see the troubleshooting guide for how to check your setup. If that is not understandable, then you might need to consider using a different HA watch app, sorry.
This is using deprecated functionality that has yet to be retired and will form the basis for re-instantiating the functionality of a new “info” menu item type.
This app continues to be my number 1 go to on daily basis. I think this app is the reason why I stay with garmin as having HA provides all the “smart” behavior I need in a watch while keeping great battery life and great sport stats.
Thanks again to the devs! Please, do not drop this project.
“Starting in February 2024, developers submitting apps for the first time who want to have their apps visible in the European Economic Area will need to verify their identity with Garmin.”
Obviously we now know this does not just apply to “submitting apps for the first time”, but for existing apps too. I’ve done the registration form Connect IQ | Developer Registration | Garmin. Not sure how long this will take. So we’re waiting for them… I only found out after submitting the update.
I feel rather stuffed by Garmin. They could have given me advance notice so that I could have been prepared in advance of the update. I do not have time to monitor Garmin announcements and would not have known where to look. Garmin made no effort to contact me about this change affecting my application, not even with an automated email. Some of us developers do it for fun in our “spare time”, for no money and solely to be helpful to the community so should not be expected to have picked up on this change through osmosis.
I’m really sorry that some users have been denied access, but hopefully only briefly. It is out of my hands for now. Perhaps it is reassuring that so many have contacted me, but I fear the annoyance may put people off using it (Garmin that’s on you…)
Thank you all for reporting this as I now know I have been adversely affected.