normen / homebridge-landroid

Homebridge plugin to control Worx Landroid robo mowers through the Worx Cloud
24 stars 8 forks source link

Changed Worx logon-domain? Plugin function broken! #63

Closed lhari84 closed 10 months ago

lhari84 commented 10 months ago

Hi,

it seems that Worx made a change to API. In my case, the plugin won‘t connect anymore, as subdomain id.eu.worx.com does not seem to exist anymore at all. So, function of the whole plugin is currently broken, I guess it will affect all users.

Full error message: Error: getaddrinfo ENOTFOUND id.eu.worx.com

Thanks in advance for checking this issue.

lhari84 commented 10 months ago

Hi again, I fixed with workaround: In /var/lib/homebridge/node_modules/homebridge-landroid/CloudConnector.js, I changed line: from loginUrl: "https://id.eu.worx.com/", to loginUrl: "https://id.worx.com/", After restarting Homebridge, the Plugin authenticated and worked again.

TITOUAN44DCLS commented 10 months ago

Hi,

I have the same problem

As a beginner in homebridge. Could you explain us, how to make that kind of modification ? (I have homebridge directly installed on a Raspberry Pi

Thanks a lot

lhari84 commented 10 months ago

Hi,

I have the same problem

As a beginner in homebridge. Could you explain us, how to make that kind of modification ? (I have homebridge directly installed on a Raspberry Pi

Thanks a lot

Hi,

My workaround is not homebridge-specific. It's more like Linux-basics you should get familiar with, when using solutions like Homebridge. At some point, you will always have to do modifications like this, even when doing configuration changes on Linux operating system itself.

At following link, you can find a good tutorial, how it works. As I don't know if you are using Raspberry Pi OS (with graphical desktop), or Raspberry Pi OS Lite (with command line only), I searched for tutorial showing a solution for both. I prefer using Nano (point II. of tutorial), as I'm running Ubuntu Server (can be compared with Raspberry Pi OS Lite). https://www.linuxfordevices.com/tutorials/linux/edit-config-files-in-linux

After you have changed the file _/var/lib/homebridge/node_modules/homebridge-landroid/CloudConnector.js_, it's necessary to restart Homebridge (our the whole Pi)

Hope this will help

normen commented 10 months ago

Should be fixed in the latest update. It might be that the update takes a while as theres some binaries that aren't available for all raspberry pi versions.

lhari84 commented 10 months ago

2023-11-03_172407 Hi,

After update, I see devices twice. Once with correct name, once with "Landroid [object Object]" (see screenshot attached)

Here also some strange messages from log:

[11/3/2023, 5:20:18 PM] [Landroid] Found Landroid in Worx Cloud with name: [object Object] [Landroid [object Object]@@Name] characteristic value expected string and received object [11/3/2023, 5:20:18 PM] [Landroid] Adding Landroid [object Object] to HomeKit [11/3/2023, 5:20:18 PM] [Landroid] Start MQTT connection Warning: Signed custom authorizers with signature will not work without a token key name and token value. Your connection may be rejected/stalled on the IoT Core side due to this. Please set the token key name and token value to connect to a signed custom authorizer.

I guess the first has something to do with the doubled shown devices, the last one my come for another reason; have not ever seen it yet. I've already reinstalled whole plugin, no change.

Thanks for your work on this plugin again.

TITOUAN44DCLS commented 10 months ago

Hi, I managed to fix it :) Using only the terminal to modify the json. Thanks ChatGPT 💪 and you Duclos TitouanLe 3 nov. 2023 à 17:30, lhari84 @.***> a écrit : Hi, After update, I see devices twice. Once with correct name, once with "Landroid [object Object]" (see screenshot attached) Here also some strange messages from log: [11/3/2023, 5:20:18 PM] [Landroid] Found Landroid in Worx Cloud with name: [object Object] [Landroid [object Object]@@name] characteristic value expected string and received object [11/3/2023, 5:20:18 PM] [Landroid] Adding Landroid [object Object] to HomeKit [11/3/2023, 5:20:18 PM] [Landroid] Start MQTT connection Warning: Signed custom authorizers with signature will not work without a token key name and token value. Your connection may be rejected/stalled on the IoT Core side due to this. Please set the token key name and token value to connect to a signed custom authorizer. I guess the first has something to do with the doubled shown devices, the last one my come for another reason; have not ever seen it yet. I've already reinstalled whole plugin, no change. Thanks for your work on this plugin again.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

normen commented 10 months ago

The empty mower issue should be fixed as well.

lhari84 commented 10 months ago

Great, thanks for the fix!

What's still left in logs is following message: [11/3/2023, 11:45:05 PM] [Landroid] Start MQTT connection Warning: Signed custom authorizers with signature will not work without a token key name and token value. Your connection may be rejected/stalled on the IoT Core side due to this. Please set the token key name and token value to connect to a signed custom authorizer.

It appears since today's update, but maybe it's just coincidence and Worx has changed something again this day too. Anyway, it seems the plugin still works (even I can't test it in real life, as my mower went to winter break yesterday), but I'm afraid this issue may break the connection in next mowing season, if not solved.

normen commented 10 months ago

token key name and token value means "username and password" so we should be good I think - unless they change something else until next summer, I'm about done keeping up with that nonsense..