Garmoticz
Moderator: leecollings
-
- Posts: 337
- Joined: Friday 17 August 2018 14:03
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Garmoticz
Hi everyone,
Insipred by the "gearoticz" thread, I created an app for Garmin smartwatches: Garmoticz.
Garmoticz allows you to control a Domoticz instance using your Garmin Connect IQ powered device.
https://apps.garmin.com/nl-NL/apps/43f2 ... 05c9eb7255
To use this widget follow the following steps
1. Install this widget
2. configure your connection settings using Garmin Connect Mobile or Garmin Express (navigate to your garmin device, select apps/widgets, select Garmoticz and click settings)
3. Make sure you have at least 1 room with 1 device configured in Domoticz
4. Make sure your watch is connected to your handset and your handset has an active internet connection
5. Run the widget
For touchscreen enabled devices, the controls are pretty straightforward
For devices without a touchscreen:
- press enter for the next item
- longpress enter to select the item or flip a switch
- Use menu button to get back to the previous menu
It is a first release and I can only test on my own smartwatch (a forerunner 630), so it will probably contain some bugs. So i hereby invite you to download and let me know your findings (and ofcourse if you like it).
Insipred by the "gearoticz" thread, I created an app for Garmin smartwatches: Garmoticz.
Garmoticz allows you to control a Domoticz instance using your Garmin Connect IQ powered device.
https://apps.garmin.com/nl-NL/apps/43f2 ... 05c9eb7255
To use this widget follow the following steps
1. Install this widget
2. configure your connection settings using Garmin Connect Mobile or Garmin Express (navigate to your garmin device, select apps/widgets, select Garmoticz and click settings)
3. Make sure you have at least 1 room with 1 device configured in Domoticz
4. Make sure your watch is connected to your handset and your handset has an active internet connection
5. Run the widget
For touchscreen enabled devices, the controls are pretty straightforward
For devices without a touchscreen:
- press enter for the next item
- longpress enter to select the item or flip a switch
- Use menu button to get back to the previous menu
It is a first release and I can only test on my own smartwatch (a forerunner 630), so it will probably contain some bugs. So i hereby invite you to download and let me know your findings (and ofcourse if you like it).
Re: Garmoticz
Hi, I can see the configured groups and choose one on my watch (vivoactive 3) but i can't control any of my switches. Please help.
Verstuurd vanaf mijn ONEPLUS A6003 met Tapatalk
Verstuurd vanaf mijn ONEPLUS A6003 met Tapatalk
Re: Garmoticz
VivoActive HR
I see groups and devices and the status of a device, but cannot change (On/Off) the device.
I see groups and devices and the status of a device, but cannot change (On/Off) the device.
-
- Posts: 337
- Joined: Friday 17 August 2018 14:03
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Garmoticz
Hi,
i just recently added several new types of switches to the app. Could you update to latest version and check again?
i just recently added several new types of switches to the app. Could you update to latest version and check again?
-
- Posts: 5
- Joined: Wednesday 06 July 2016 22:52
- Target OS: NAS (Synology & others)
- Domoticz version:
- Contact:
Re: Garmoticz
Hi,
I got error -300 netwerk
I got error -300 netwerk
-
- Posts: 12
- Joined: Tuesday 21 February 2017 13:37
- Target OS: Linux
- Domoticz version: 2022.1
- Contact:
Re: Garmoticz
Same here, "Network timeout -300" almost instantly. If I shut down Domoticz, this timeout error doesn't occur that quickly, so I guess this is not exactly a timeout but a connection error. Is there a way to see more detailed logs on this error? Without them it is hard to understand what needs to be fixed to get the widget working...
-
- Posts: 337
- Joined: Friday 17 August 2018 14:03
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Garmoticz
Sorry.. this is an error the app gets back from the API there is no way to get more logs on this error.. Errors are described here: https://developer.garmin.com/connect-iq/api-docs/
but this also does not state anything else than "NETWORK_REQUEST_TIMED_OUT = -300 "
someone else reported this problem to me as well some time ago. And when he shared his config with my i found out he was using SSL with incorrect certificates, and apparently this causes the return message to be blocked.
If you can sent me your connection settings in a private message i can try to reproduce (pls let me also know what kind of device you have...)
but this also does not state anything else than "NETWORK_REQUEST_TIMED_OUT = -300 "
someone else reported this problem to me as well some time ago. And when he shared his config with my i found out he was using SSL with incorrect certificates, and apparently this causes the return message to be blocked.
If you can sent me your connection settings in a private message i can try to reproduce (pls let me also know what kind of device you have...)
-
- Posts: 337
- Joined: Friday 17 August 2018 14:03
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Garmoticz
I got more and more reports from users on this error -300. And "fortunately" the error started happening on my own device (Forerunner 630) as well. So i could finally investigate.
I turns out Garmin made a change in Garmin Connect Mobile 4.20 not allowing HTTP anymore: All traffic to backend should be encrypted using SSL.
So if you are using HTTP instead of HTTPS, there are 2 options
1. the dirty way: use some kind of site like APK mirror to revert to Garmin Connect Mobile 4.19 (i've tested: it works!)
2. The neat way: Make sure you have a https/ssl connection with a valid certificate.
In my case this last one was quite a hassle since i did not have a fixed IP adress, a domain name and a valid certificate.
In the end i fixed it using
- a free domain name on my variable IP adress by using the service https://www.noip.com/
- a free certificate obtained from https://letsencrypt.org/
I advice to go to solution 2. There are a lot of developers on the garmin forums complaining on this error -300 (we are not alone ) with developers asking Garmin to enable plain HTTP again. I hope they will listen to the feedback. If not, i will have to remove the HTTP option from the app.
I turns out Garmin made a change in Garmin Connect Mobile 4.20 not allowing HTTP anymore: All traffic to backend should be encrypted using SSL.
So if you are using HTTP instead of HTTPS, there are 2 options
1. the dirty way: use some kind of site like APK mirror to revert to Garmin Connect Mobile 4.19 (i've tested: it works!)
2. The neat way: Make sure you have a https/ssl connection with a valid certificate.
In my case this last one was quite a hassle since i did not have a fixed IP adress, a domain name and a valid certificate.
In the end i fixed it using
- a free domain name on my variable IP adress by using the service https://www.noip.com/
- a free certificate obtained from https://letsencrypt.org/
I advice to go to solution 2. There are a lot of developers on the garmin forums complaining on this error -300 (we are not alone ) with developers asking Garmin to enable plain HTTP again. I hope they will listen to the feedback. If not, i will have to remove the HTTP option from the app.
-
- Posts: 170
- Joined: Monday 22 January 2018 21:52
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Garmoticz
@akamming:
I went back to Garmin Connect Mobile v4.19.1. This is not making Garmoticz work again, I think because plain HTTP was removed from the garmin app on the watch itself? I can only select HTTPS for protocol in settings. Could you please revert to also enable HTTP again, then it should work again?
Such a shame Garmin is not finding this bug important enough to go make the step back again. So many complains online....
I went back to Garmin Connect Mobile v4.19.1. This is not making Garmoticz work again, I think because plain HTTP was removed from the garmin app on the watch itself? I can only select HTTPS for protocol in settings. Could you please revert to also enable HTTP again, then it should work again?
Such a shame Garmin is not finding this bug important enough to go make the step back again. So many complains online....
Domoticz beta, on Raspberry Pi 3B, Raspian Buster
Zwave, Zigate, RFlink etc.
Zwave, Zigate, RFlink etc.
-
- Posts: 337
- Joined: Friday 17 August 2018 14:03
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Garmoticz
Totaly agree on the lack of support of Garmin. And i found out it's worse. I decompiled their APK, and found out they allow plain HTTP to the garmin sites themselves, but they do want to to allow the option for users, while their are very good use cases.
I informed them on the forum on the security risk of sending workouts (with personal data) over plain http to the garmin site (which is quite easy to fix since they have installed SSL everywhere on their website) , and their reaction was they were angry i decompiled the APK and removed my reaction from the forum. The security risk is still there on their app…. ;-(
but apart from that: I indeed removed HTTP, because the combination of Garmin not supporting it and not properly giving back a correct error made it too confusing for users.
On Apple GCM reports that the app should switch to HTTPS (so i can give a friendly error), but on android i only get a timeout, so i cannot present a friendly error. And i got a lot complaints from users who did not understand, so the only option was to remove. So for this reaons i am hesitant to bring the option back.
is HTTPS not an option for you? There is a very good descriptions on how to do this for free.
- (https://www.domoticz.com/wiki/Native_se ... ts_Encrypt for the certificate and
- https://www.noip.com/support/knowledgeb ... no-ip-com/ if you have a dynamic ip adress)
It is some work, but in the end it will not just make garmoticz work, but you will also have a more secure system.
Another alternative would be you compile the app yourself. The code can be found here: https://github.com/akamming/Garmoticz
if you've never done anything with ConnectIQ before: If it not very difficult and a guide is here: https://developer.garmin.com/connect-iq ... g-started/
HTTP support is still in the code. So you only need to add the line
to the settings.XML (just before the HTTPS line) file to enable it again
(PS if you know how i can present an friendly error to a user (trigger would then be the timeout error, cause Garmin also is not fixing the wrong error type) that he/or she should enable HTTPS than i happy to put it back in!)
I informed them on the forum on the security risk of sending workouts (with personal data) over plain http to the garmin site (which is quite easy to fix since they have installed SSL everywhere on their website) , and their reaction was they were angry i decompiled the APK and removed my reaction from the forum. The security risk is still there on their app…. ;-(
but apart from that: I indeed removed HTTP, because the combination of Garmin not supporting it and not properly giving back a correct error made it too confusing for users.
On Apple GCM reports that the app should switch to HTTPS (so i can give a friendly error), but on android i only get a timeout, so i cannot present a friendly error. And i got a lot complaints from users who did not understand, so the only option was to remove. So for this reaons i am hesitant to bring the option back.
is HTTPS not an option for you? There is a very good descriptions on how to do this for free.
- (https://www.domoticz.com/wiki/Native_se ... ts_Encrypt for the certificate and
- https://www.noip.com/support/knowledgeb ... no-ip-com/ if you have a dynamic ip adress)
It is some work, but in the end it will not just make garmoticz work, but you will also have a more secure system.
Another alternative would be you compile the app yourself. The code can be found here: https://github.com/akamming/Garmoticz
if you've never done anything with ConnectIQ before: If it not very difficult and a guide is here: https://developer.garmin.com/connect-iq ... g-started/
HTTP support is still in the code. So you only need to add the line
Code: Select all
<listEntry value="0">@Strings.HTTP</listEntry>
(PS if you know how i can present an friendly error to a user (trigger would then be the timeout error, cause Garmin also is not fixing the wrong error type) that he/or she should enable HTTPS than i happy to put it back in!)
-
- Posts: 170
- Joined: Monday 22 January 2018 21:52
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Garmoticz
Thanks for your reply!
I understand now both options require some time, hope I can find it . I will choose one of the options, and try!
Is there not an easy way to side-load apps on my Garmin, like there is in android?
I understand now both options require some time, hope I can find it . I will choose one of the options, and try!
Is there not an easy way to side-load apps on my Garmin, like there is in android?
Domoticz beta, on Raspberry Pi 3B, Raspian Buster
Zwave, Zigate, RFlink etc.
Zwave, Zigate, RFlink etc.
-
- Posts: 337
- Joined: Friday 17 August 2018 14:03
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Garmoticz
yes there is, see the section "Side Loading an App" in the connectiq getting started link i sent you
i just remember, creating the settings file on a on a sideload app is not documented in there, but here's how i did it (you have to compile the app 1st ).
- use the instructions to run it with the simulator. Use your own device model in the simulator ofcourse.
- in eclipse use the settings editor to create the settings file in the simulator
- then copy the settings file from C:\Users\[username]\AppData\Local\Temp\GARMIN\APPS\SETTINGS to the settings map on your device (and make sure is has the same name as the app)
-
- Posts: 170
- Joined: Monday 22 January 2018 21:52
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Garmoticz
Allright, I just thought "easy" was more easy then the multi-page tutorial you sent
But I will try.
Thanks for your help!
But I will try.
Thanks for your help!
Domoticz beta, on Raspberry Pi 3B, Raspian Buster
Zwave, Zigate, RFlink etc.
Zwave, Zigate, RFlink etc.
-
- Posts: 337
- Joined: Friday 17 August 2018 14:03
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Garmoticz
yeah sorry... it's Garmin tooling. I cannot make it any easier.
btw: i would go for making the SSL solution work. then you have better security on your domoticz and you can use the normal GCM and Garmoticz app again.
-
- Posts: 170
- Joined: Monday 22 January 2018 21:52
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Garmoticz
One last question, what you mean by GCM? GCM is deprecated? Now FCM right? And FCM can be used without SLL?
Domoticz beta, on Raspberry Pi 3B, Raspian Buster
Zwave, Zigate, RFlink etc.
Zwave, Zigate, RFlink etc.
-
- Posts: 337
- Joined: Friday 17 August 2018 14:03
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Garmoticz
Garmin Connect Mobile
-
- Posts: 170
- Joined: Monday 22 January 2018 21:52
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Garmoticz
OK, I looked up the tutorial for creating a HTTPS certificate for Domoticz. It says you have to open port 80 and 433 to Domoticz, is that really neccesary for the SLL certificate? I do not not prefer to expose my pi to the public. I use VPN to acces my LAN if I'm not home. I suppose the port forwarding is only necessary if I want to be able to access my Domoticz from WAN?
Domoticz beta, on Raspberry Pi 3B, Raspian Buster
Zwave, Zigate, RFlink etc.
Zwave, Zigate, RFlink etc.
-
- Posts: 337
- Joined: Friday 17 August 2018 14:03
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Garmoticz
Correct. This will open up your pi to the internet...
-
- Posts: 4
- Joined: Thursday 20 February 2014 14:06
- Target OS: Windows
- Domoticz version:
- Contact:
Re: Garmoticz
Help!
I'm only getting a brief Loading rooms followed by Network timeout -300 with Garmoticz on Vivoactive 3.
I have gone through all the trouble to setup HTTPS on Windows with Lets encrypt certificates and a dyn DNS.
I can access Domoticz no problem over https from my phone or desktop, locally or over internet.
Other widgets on the watch can fetch data from internet, eg. weather.
Any ideas I could try to get Garmoticz to work?
I'm only getting a brief Loading rooms followed by Network timeout -300 with Garmoticz on Vivoactive 3.
I have gone through all the trouble to setup HTTPS on Windows with Lets encrypt certificates and a dyn DNS.
I can access Domoticz no problem over https from my phone or desktop, locally or over internet.
Other widgets on the watch can fetch data from internet, eg. weather.
Any ideas I could try to get Garmoticz to work?
-
- Posts: 170
- Joined: Monday 22 January 2018 21:52
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Garmoticz
I tried the other option (compiling app). I downgraded GCM to 4.19 (HTTP support), removed Garmoticz first from my Vivoactive HR, then sideloaded it following instructions in the tutorial. But only after adding the HTTP line to the settings.xml and set the right credentials in Eclipse. All succeeded, but when starting the widget, clicking away the loading screen, GCM in my android crashed imediately when loading rooms. In my Vivoactive "loading rooms" keeps stays on the display.
Any clues?
Any clues?
Domoticz beta, on Raspberry Pi 3B, Raspian Buster
Zwave, Zigate, RFlink etc.
Zwave, Zigate, RFlink etc.
Who is online
Users browsing this forum: No registered users and 0 guests