Garadget Refresh Service - Invalid Credentials

Tags: #<Tag:0x00007f6182e44db0> #<Tag:0x00007f6182e44c48>

OS: openhabian
openHAB version: openHAB 2.5.3-1 (Release Build)
Garadget Binding: binding-garadget1 - 1.14.0

Tried uninstalling binding, restarting binding. This error has been reported previously:

When running in DEBUG/TRACE mode, the refresh service fails due to an “invalid credential” error during login. This happens even when the username and password are correct, as validated using the Garadget Android phone app.

Here is the error log (username and password masked):

2020-04-04 18:21:46.051 [TRACE] [binding.garadget.internal.Connection] - sendCommand: funcName=createToken

2020-04-04 18:21:46.058 [TRACE] [binding.garadget.internal.Connection] - content='grant_type=password&username=xxxxxxxx&password=xxxxxxxx&expires_in=0', contentType='application/x-www-form-urlencoded'

2020-04-04 18:21:46.062 [DEBUG] [binding.garadget.internal.Connection] - About to execute 'https://api.particle.io/oauth/token'

2020-04-04 18:21:46.590 [DEBUG] [binding.garadget.internal.Connection] - Method failed: HTTP/1.1 400 Bad Request

2020-04-04 18:21:46.592 [DEBUG] [binding.garadget.internal.Connection] - Body of response: {"error":"invalid_grant","error_description":"User credentials are invalid"}

2020-04-04 18:21:46.594 [TRACE] [binding.garadget.internal.Connection] - Processing login: statusCode=400, responseBody={"error":"invalid_grant","error_description":"User credentials are invalid"}

2020-04-04 18:21:47.221 [TRACE] [ng.garadget.internal.GaradgetBinding] - Polling Garadget devices

2020-04-04 18:21:47.224 [TRACE] [binding.garadget.internal.Connection] - sendCommand: funcName=getDevices

2020-04-04 18:21:47.227 [ERROR] [b.core.service.AbstractActiveService] - Error while executing background thread Garadget Refresh Service

java.lang.NullPointerException: null

	at org.openhab.binding.garadget.internal.Connection.sendCommand(Connection.java:229) ~[?:?]

	at org.openhab.binding.garadget.internal.Connection.sendCommand(Connection.java:186) ~[?:?]

	at org.openhab.binding.garadget.internal.Connection.getDevices(Connection.java:154) ~[?:?]

	at org.openhab.binding.garadget.internal.GaradgetBinding.execute(GaradgetBinding.java:204) ~[?:?]

	at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:146) ~[bundleFile:?]

	at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:169) [bundleFile:?]

What is the username credential used? I’m guessing there’s an encoding issue.
Try using username abcd and password bcde.

I had the same issue last week. I guess this is related to a change in particle.io (cloud service which is used by garadget)
At the end i switched to the local solution with mqtt

The nice thing there, status of the door is pushed an not polled and it is “cloudless”.

This happens even when the username and password are correct, as validated using the Garadget Android phone app. Your suggestion generated the same errors.

Still no solution? Are Garadget tech folks seeing/working this issue?

If particle.io changed its “handshake” procedures, is there a particular reason for no change to the Garadget binding in OpenHab?

I do not wish to recreate my setup for MQTT mode. I spent many, many hours configuring the current setup, and do not wish for it all to be in vain.

This is a “legacy” binding and no 2.x version exists. MQTT Broker is working perfectly and the effort to migrate Garadget to MQTT is straighforward.
You better not expect someone would support you here if another (better & cloudless) solution exists.

And to add to that, the 1.x bindings are not being updated. So there will be no fixes.