Worx Landroid Binding

Hello, great job done, really love it!
Unfortunately, I have the same problem as wpoh had, based on his/her posting on 29 Mar 2020.

I have the Bridge and Things online, I see in the log that the MQTT “onMessage” returns all the correct values, so this is not the problem. The problem is that the items do not get the values. Very strange.

@wpoh, I also did clean up the cache and tmp, did several restarts with renaming the bridge in the .things file but I can’t get it to work. Any help or ideas what else to do to get it working?

Edit:
Using the last binding of yesterday, v1.0. OpenHAB v2.5.5.

Just for completeness here my Worx.things and Worx.items files. I removed the userid/pw and serial number.

Worx.things:

Bridge worxlandroid:worxlandroidBridge:WorxBridgeLandroid "Worx Bridge" [ webapiUsername="xxxx", webapiPassword="xxxx" ] {
    Thing mower xxxx "MyLandroid Shaun" [ refreshStatusInterval=60, pollingInterval=300 ]

Worx.items:

String Shaun                                                    "Shaun [%s]"

String          LandroidAction                          "Action []"                         <movecontrol>           {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:common#action"}
String          LandroidLastUpdate                      "Last Update Data [%s]"             <calendar>              {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgCommon#lastUpdate"}
Switch          LandroidPoll                            "Poll []"                           <refresh>              {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:common#poll"}
Switch          LandroidLock                            "Lock []"                           <lock>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:common#lock"}

//
String          LandroidSerialNumber                    "Serial Number [%s]"                <text>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgCommon#serialNumber"}
Number          LandroidFirmware                        "Firmware [v%s]"                    <text>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:datCommon#firmware"}
Switch          LandroidOnline                          "Online [%s]"                       <network>               {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:common#online"}
String          LandroidLastUpdateOnlineStatus          "Last Update Online Status [%s]"    <calendar>              {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:common#lastUpdateOnlineStatus"}

// Status
Number          LandroidWifiQuality                     "Wifi Quality [%d]"                 <network>               {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:datCommon#wifiQuality"}
Switch          LandroidBatteryCharging                 "Battery charging [%s]"             <lowbattery>            {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:datBattery#batteryCharging"}
Number          LandroidStatusCode                      "Status Code [%d]"                  <lawnmower>             {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:datCommon#statusCode"}
String          LandroidStatusDescription               "Status [%s]"                       <lawnmower>             {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:datCommon#statusDescription"}
Number          LandroidErrorCode                       "Error Code [%d]"                   <error>                 {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:datCommon#errorCode"}
String          LandroidErrorDescription                "Error: [%s]"                       <error>                 {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:datCommon#errorDescription"}

// Battery
Number          LandroidBatteryLevel                    "Battery Level [%d %%]"             <battery>               {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:datBattery#batteryLevel"}
Number          LandroidBatteryVoltage                  "Battery Voltage [%.2f V]"          <battery>               {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:datBattery#batteryVoltage"}
Number          LandroidBatteryTemperature              "Battery Temperature [%.1f °C]"     <temperature>           {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:datBattery#batteryTemperature"}
Number          LandroidBatteryChargeCycle              "Battery ChargeCycle [%d]"          <battery>               {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:datBattery#batteryChargeCycle"}

// Settings
Number          LandroidRainDelay                       "Rain Delay [%d min]"               <rain>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgCommon#rainDelay"}
Number          LandroidScheduleTimeExtension           "Schedule Time Extension [%d %%]"   <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgSc#scheduleTimeExtension"}

// Statistics
Number          LandroidTotalTime                       "Total Time [%s min]"               <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:datSt#totalTime"}
Number:Length   LandroidTotalDistance                   "Total Distance [%s m]"             <chart>                 {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:datSt#totalDistance"}
Number          LandroidTotalBladeTime                  "Total Bladetime [%s min]"          <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:datSt#totalBladeTime"}

// Orientation
Number          LandroidPitch                           "Pitch [%.1f°]"                     <incline>               {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:datDmp#pitch"}
Number          LandroidRoll                            "Roll [%.1f°]"                      <incline>               {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:datDmp#roll"}
Number          LandroidYaw                             "Yaw [%.1f°]"                       <incline>               {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:datDmp#yaw"}

//Schedule
// Monday
Number          LandroidScheduleMondayStartHour         "Start Hour [%d]"                   <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScMonday#scheduleStartHour"}
Number          LandroidScheduleMondayStartMinutes      "Start Minutes [%d]"                <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScMonday#scheduleStartMinutes"}
Number          LandroidScheduleMondayDuration          "Duration [%d]"                     <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScMonday#scheduleDuration"}
Switch          LandroidScheduleMondayEdgecut           "Edgecut "                          <settings>              {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScMonday#scheduleEdgecut"}

// Tuesday
Number          LandroidScheduleTuesdayStartHour        "Start Hour [%d]"                   <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScTuesday#scheduleStartHour"}
Number          LandroidScheduleTuesdayStartMinutes     "Start Minutes [%d]"                <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScTuesday#scheduleStartMinutes"}
Number          LandroidScheduleTuesdayDuration         "Duration [%d]"                     <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScTuesday#scheduleDuration"}
Switch          LandroidScheduleTuesdayEdgecut          "Edgecut "                          <settings>              {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScTuesday#scheduleEdgecut"}

// Wednesday
Number          LandroidScheduleWednesdayStartHour      "Start Hour [%d]"                   <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScWednesday#scheduleStartHour"}
Number          LandroidScheduleWednesdayStartMinutes   "Start Minutes [%d]"                <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScWednesday#scheduleStartMinutes"}
Number          LandroidScheduleWednesdayDuration       "Duration [%d]"                     <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScWednesday#scheduleDuration"}
Switch          LandroidScheduleWednesdayEdgecut        "Edgecut "                          <settings>              {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScWednesday#scheduleEdgecut"}

// Thursday
Number          LandroidScheduleThursdayStartHour       "Start Hour [%d]"                   <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScThursday#scheduleStartHour"}
Number          LandroidScheduleThursdayStartMinutes    "Start Minutes [%d]"                <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScThursday#scheduleStartMinutes"}
Number          LandroidScheduleThursdayDuration        "Duration [%d]"                     <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScThursday#scheduleDuration"}
Switch          LandroidScheduleThursdayEdgecut         "Edgecut "                          <settings>              {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScThursday#scheduleEdgecut"}

// Friday
Number          LandroidScheduleFridayStartHour         "Start Hour [%d]"                   <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScFriday#scheduleStartHour"}
Number          LandroidScheduleFridayStartMinutes      "Start Minutes [%d]"                <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScFriday#scheduleStartMinutes"}
Number          LandroidScheduleFridayDuration          "Duration [%d]"                     <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScFriday#scheduleDuration"}
Switch          LandroidScheduleFridayEdgecut           "Edgecut "                          <settings>              {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScFriday#scheduleEdgecut"}

// Saturday
Number          LandroidScheduleSaturdayStartHour       "Start Hour [%d]"                   <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScSaturday#scheduleStartHour"}
Number          LandroidScheduleSaturdayStartMinutes    "Start Minutes [%d]"                <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScSaturday#scheduleStartMinutes"}
Number          LandroidScheduleSaturdayDuration        "Duration [%d]"                     <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScSaturday#scheduleDuration"}
Switch          LandroidScheduleSaturdayEdgecut         "Edgecut "                          <settings>              {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgScSaturday#scheduleEdgecut"}

// Sunday
Number          LandroidScheduleSundayStartHour         "Start Hour [%d]"                   <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:datScSunday#scheduleStartHour"}
Number          LandroidScheduleSundayStartMinutes      "Start Minutes [%d]"                <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:datScSunday#scheduleStartMinutes"}
Number          LandroidScheduleSundayDuration          "Duration [%d]"                     <time>                  {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:datScSunday#scheduleDuration"}
Switch          LandroidScheduleSundayEdgecut           "Edgecut "                          <settings>              {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:datScSunday#scheduleEdgecut"}

// Zone Meters
Number          LandroidMeterZone1                      "Meters Zone 1 [%d]"                <distance>               {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgMultiZones#zone1Meter"}
Number          LandroidMeterZone2                      "Meters Zone 2 [%d]"                <distance>               {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgMultiZones#zone2Meter"}
Number          LandroidMeterZone3                      "Meters Zone 3 [%d]"                <distance>               {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgMultiZones#zone3Meter"}
Number          LandroidMeterZone4                      "Meters Zone 4 [%d]"                <distance>               {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgMultiZones#zone4Meter"}

// Allocation Zones
Number          LandroidAllocation0                     "Alloction 0 []"                    <zones>      {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgMultiZones#allocation0"}
Number          LandroidAllocation1                     "Alloction 1 []"                    <zones>      {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgMultiZones#allocation1"}
Number          LandroidAllocation2                     "Alloction 2 []"                    <zones>      {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgMultiZones#allocation2"}
Number          LandroidAllocation3                     "Alloction 3 []"                    <zones>      {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgMultiZones#allocation3"}
Number          LandroidAllocation4                     "Alloction 4 []"                    <zones>      {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgMultiZones#allocation4"}
Number          LandroidAllocation5                     "Alloction 5 []"                    <zones>      {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgMultiZones#allocation5"}
Number          LandroidAllocation6                     "Alloction 6 []"                    <zones>      {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgMultiZones#allocation6"}
Number          LandroidAllocation7                     "Alloction 7 []"                    <zones>      {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgMultiZones#allocation7"}
Number          LandroidAllocation8                     "Alloction 8 []"                    <zones>      {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgMultiZones#allocation8"}
Number          LandroidAllocation9                     "Alloction 9 []"                    <zones>      {channel="worxlandroid:mower:WorxBridgeLandroid:xxxx:cfgMultiZones#allocation9"}

Hi, I’m sorry but I do not have a good answer to your question since my installation suddenly worked after some modifications such as cache cleaning, renaming the brdige etc. However, one aspect that might be relevant is the setting of the location of the mower using the original Landroid app. Did you provide the location yet? If not, you may try this, since this was another change that I made before the binding suddenly worked.

Since then the binding works perfect and it’s great fun to monitor and chart the time and milage the mower is working.

Many thanks @wpoh for your quick response and for your help. It finally works!

What I did:

  • Added a location via the Worx Landroid App (didn’t set one so far)
  • Stopped the OpenHAB server
  • Renamed the Bridge in .things and .items
  • Started the OpenHAB server

Not sure if the setting of the location had any influence, I’d assume not, but I guess that the main trick was doing the bridge name change after stopping the server.

Really love this binding, many thanks again!!

3 Likes

Hi,
since today i get the following error:

[ERROR] [id.internal.WorxLandroidMowerHandler] - PollingRunnable com.amazonaws.services.iot.client.core.AwsIotRetryableException: No connection to client (32104): 30173502170118020375

[ERROR] [id.internal.WorxLandroidMowerHandler] - error: com.amazonaws.services.iot.client.core.AwsIotRetryableException: No connection to client (32104)

The mower is no longer accessible.
What does this error mean?

Hi,
after restarting the mower I now get this error:

[ERROR] [id.internal.WorxLandroidMowerHandler] - handleCommand mower: shaun (30173502170118020375) is offline!

Unfortunately, any communication with the mower depends on the benevolence of the Worxx server operator!

Hi @nibi79,

I just would like to say ‘Thank you’ for providing this outstanding binding.

I really like the extensive documentation which makes it very easy to get started quickly.

Is there a way to donate?

Kind regards
Oliver

2 Likes

I’m facing the same issue since upgrading to version 1.0. No item gets updated anymore but mower thing is shown as online.

If found additional errors in the log file:

2020-06-04 09:17:26.682 [DEBUG] [nternal.webapi.request.WebApiRequest] - URI: https://api.worxlandroid.com/api/v2/product-items
2020-06-04 09:17:26.728 [ERROR] [id.internal.WorxLandroidMowerHandler] - RefreshStatusRunnable 20173019091100380043: Unknown error
org.openhab.binding.worxlandroid.internal.webapi.WebApiException: java.io.EOFException: HttpConnectionOverHTTP@625e1d::DecryptedEndPoint@18ac168{api.worxlandroid.com/108.128.5.145:443<->/X.X.X.X:61864,OPEN,fill=-,flush=-,to=60064/0}
at org.openhab.binding.worxlandroid.internal.webapi.request.WebApiRequest.callWebApi(WebApiRequest.java:122) ~[bundleFile:?]
at org.openhab.binding.worxlandroid.internal.webapi.request.WebApiRequest.callWebApiGet(WebApiRequest.java:79) ~[bundleFile:?]
at org.openhab.binding.worxlandroid.internal.webapi.request.ProductItemsRequest.call(ProductItemsRequest.java:46) ~[bundleFile:?]
at org.openhab.binding.worxlandroid.internal.webapi.WorxLandroidWebApiImpl.retrieveUserDevices(WorxLandroidWebApiImpl.java:101) ~[bundleFile:?]
at org.openhab.binding.worxlandroid.internal.WorxLandroidMowerHandler$1.run(WorxLandroidMowerHandler.java:104) [bundleFile:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: java.util.concurrent.ExecutionException: java.io.EOFException: HttpConnectionOverHTTP@625e1d::DecryptedEndPoint@18ac168{api.worxlandroid.com/108.128.5.145:443<->/X.X.X.X:61864,OPEN,fill=-,flush=-,to=60064/0}
at org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:118) ~[bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101) ~[bundleFile:9.4.20.v20190813]
at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:685) ~[bundleFile:9.4.20.v20190813]
at org.openhab.binding.worxlandroid.internal.webapi.request.WebApiRequest.callWebApi(WebApiRequest.java:92) ~[bundleFile:?]
… 10 more
Caused by: java.io.EOFException: HttpConnectionOverHTTP@625e1d::DecryptedEndPoint@18ac168{api.worxlandroid.com/108.128.5.145:443<->/X.X.X.X:61864,OPEN,fill=-,flush=-,to=60064/0}
at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.earlyEOF(HttpReceiverOverHTTP.java:335) ~[?:?]
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1526) ~[?:?]
at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.shutdown(HttpReceiverOverHTTP.java:209) ~[?:?]
at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:147) ~[?:?]
at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:73) ~[?:?]
at org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:133) ~[?:?]
at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:154) ~[?:?]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) ~[?:?]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) ~[?:?]
at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:426) ~[?:?]
at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:320) ~[?:?]
at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:158) ~[?:?]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) ~[?:?]
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) ~[?:?]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) ~[?:?]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) ~[?:?]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) ~[?:?]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) ~[?:?]
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:367) ~[?:?]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:782) ~[?:?]
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:918) ~[?:?]
… 1 more

hi all and sorry for the delay…

I’m sure this solved the problem!

Thank you :slightly_smiling_face:

I’ve no idea at the moment. And I’m waiting for your answer to my suggestion!

Thank you very much!!! :grinning:

That’s good to hear!

I’ll come back to that! :+1:

As I already said, I’ve no idea and waiting for @violine

Please take a look to this post (and above):

1 Like

I’m sorry i can’t find your suggestion to that (maybe i’m blind). Can you send it to me too, i can try some things as well if you like to.

Can one of you provide me the complete log?

2020-06-05 12:48:40.674 [DEBUG] [nternal.webapi.request.WebApiRequest] - URI: https://api.worxlandroid.com/api/v2/product-items
2020-06-05 12:48:40.908 [DEBUG] [nternal.webapi.request.WebApiRequest] - Worx Landroid WebApi Response: [{“id”:,…}]
2020-06-05 12:49:12.170 [DEBUG] [d.internal.WorxLandroidBridgeHandler] - publish topic → DB510/F0FE6B834952/commandIn
2020-06-05 12:49:12.170 [DEBUG] [d.internal.WorxLandroidBridgeHandler] - publish message → {}
2020-06-05 12:49:12.170 [ERROR] [id.internal.WorxLandroidMowerHandler] - PollingRunnable com.amazonaws.services.iot.client.core.AwsIotRetryableException: Keine Verbindung zu Client (32104): 20173019091100380043

Is there something like “Try to connect to AWS…” and “AWS connected” in your log?

can’t find any of these entries

Can you restart the bridge by restarting OH or temporarily removing the things? And then please search again for these entries.

oh man… i’m very sorry that i didn’t try that before writing here. Everything is fine after restarting openHAB!

And by the way… Great job doing this binding! i love it!

No problem.

@violine is it working again now?

I think there was a temporary problem with the AWS MQTT connection (/broker / server … what ever). I’ll take a look and maybe I can improve the behavior of the bridge. I’ve created an issue:

Hi nibi79,
I have just successfully registered the mower on the Worx server.
The setup with the binding also went perfectly! Chapeu again!
I’m not sure, but I think the Worx server operator doesn’t like it when things other than its own app communicate with the server.
In the long term, this will probably only work stably if the mower firmware enables local access …

Hi,

I had the same issue.
I figured out, that even my Android App was working in “read only” mode only. It was just showing the status but did not accept any command.
Solution:
I deleted the cache of the Android App. After that, the Android App was working again as expected. Then I gave this Binding another try and it worked immediately.

@dirkpitt74, Can you check if your Android App is working?

michael

Hi,
the Android app works correctly.
I solved the problem by removing the Landroid binding for a couple of days.
After this, everything started working again.
Thanks
Giovanni