[APP][Pro] Worx Landroid, Kress, LandXcape, Ferrex RoboMower integration, OpenMower added

Sure, and thanks for the quick fix :wink:

Trying to add my Openmower but it can’t find any device, and there is no config for openmower what I can see. Am i missing something?

Hi Mang0s, the app is doing a discovery on your local network with mDNS lookin for comitup entry, can be that firewalls or other measure are preventing discovery. Could you restart app and after 1 or 2 minutes send me the log?

Not much in the log.
undefined2023-08-17T08:40:37.804Z [log] [ManagerDrivers] [Driver:openmower] OpenmowerDriver has been initialized
2023-08-17T08:40:37.802Z [log] [ManagerDrivers] [Driver:landxcape] Init driver
2023-08-17T08:40:37.798Z [log] [ManagerDrivers] [Driver:landroid] Init driver
2023-08-17T08:40:37.796Z [log] [ManagerDrivers] [Driver:kress] Init driver
2023-08-17T08:40:37.793Z [log] [ManagerDrivers] [Driver:ferrex] Init driver
2023-08-17T08:40:36.586Z [log] [WorxApp] registerFlowCards() Listeners
2023-08-17T08:40:36.563Z [log] [WorxApp] registerFlowCards() flows
2023-08-17T08:40:36.556Z [log] [WorxApp] Worx 5.2.5 is initialising.
2023-08-17T08:40:36.553Z [log] capturing stderr
2023-08-17T08:40:36.550Z [log] capturing stdout
2023-08-17T08:40:31.839Z [log] [WorxApp] app unload called
2023-08-17T08:40:31.838Z [log] [WorxApp] app unload called no worx object for openmower
2023-08-17T08:40:31.838Z [log] [WorxApp] app unload called no worx object for landxcape
2023-08-17T08:40:31.836Z [log] [WorxApp] app unload called no worx object for landroid
2023-08-17T08:40:31.836Z [log] [WorxApp] app unload called no worx object for kress
2023-08-17T08:40:31.835Z [log] [WorxApp] app unload called no worx object for ferrex

During Openmower driver init it will do a deicovery and show result (if any) in the log (discovery might take a little time!!!), recheck the log again after a while. This suggests that the discovery cannot find anything on your network with the query the app does on the network.
To check, can you install a bonjour capable app on a device in your network and check to see what mDNS entries there are?

The app is looking for " comitup"

Looking for something like this… service browser is an app on android/ios that can give you the info needed.

indeed I think I have this mdns entry because I have 2 wifi adapters or doing mdns broadcast.

maybe as backup we can do it ourselves with a mqtt entry

this is basically do the following on the pi.


sudo vi /etc/avahi/avahi-daemon.conf

[server]
#host-name=foo
#domain-name=local
browse-domains=openmower



root@openmower:~# systemctl daemon-reload
root@openmower:~# systemctl restart avahi-daemon
root@openmower:~# systemctl status avahi-daemon
● avahi-daemon.service - Avahi mDNS/DNS-SD Stack
     Loaded: loaded (/lib/systemd/system/avahi-daemon.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2023-05-07 10:54:21 BST; 11s ago
TriggeredBy: ● avahi-daemon.socket
   Main PID: 75686 (avahi-daemon)
     Status: "avahi-daemon 0.8 starting up."
      Tasks: 2 (limit: 2137)
        CPU: 26ms
     CGroup: /system.slice/avahi-daemon.service
             ├─75686 avahi-daemon: running [openmower.local]
             └─75688 avahi-daemon: chroot helper


sudo -i

apt-get update
apt-get install avahi-daemon

cat <<EOF >>/etc/avahi/services/http.service
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">

<service-group>

  <name replace-wildcards="yes">%h</name>

  <service>
    <type>_http._tcp</type>
    <port>8080</port>
  </service>

</service-group>
EOF

cat <<EOF >>/etc/avahi/services/mqtt.service
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">

<service-group>

  <name replace-wildcards="yes">%h</name>

  <service>
    <type>_mqtt._tcp</type>
    <port>1883</port>
  </service>

</service-group>
EOF

systemctl daemon-reload
systemctl restart avahi-daemon

I solven my mDNS problem and it shows in the log. But Wien adding it gets Wrangel ip. Som default ip?
undefined2023-08-21T17:59:32.781Z [log] [ManagerDrivers] [Driver:openmower] [Device:69df5183-9e78-40d9-a2cd-04eb4a642c8d] New device added: openmower-68
2023-08-21T17:59:32.238Z [log] [ManagerDrivers] [Driver:openmower] [Device:69df5183-9e78-40d9-a2cd-04eb4a642c8d] mqttConnect() Openmower connect attempt openmower-68 on mqtt://192.168.107.88:1883
2023-08-21T17:59:32.234Z [log] [ManagerDrivers] [Driver:openmower] [Device:69df5183-9e78-40d9-a2cd-04eb4a642c8d] Init device openmower-68
2023-08-21T17:58:46.288Z [log] [ManagerDrivers] [Driver:openmower] Discovery result(ON) Openmower {
“_events”: {},
“_eventsCount”: 0,
“id”: “openmower-68.local”,
“lastSeen”: “2023-08-21T17:58:44.603Z”,
“address”: “192.168.123.163”,
“host”: “openmower-68”,
“port”: 9,
“name”: “openmower-68”,
“fullname”: “openmower-68._comitup._tcp.local.”,
“txt”: {
“comitup-home”: “Wifi Network Bootstrap for the Raspberry Pi | Comitup”,
“ip6addr”: “fe80::4c4b:7989:9330:f773”,
“ipaddr”: “192.168.123.163”,
“hostname”: “openmower-68.local”
}
}
2023-08-21T17:58:46.217Z [log] [ManagerDrivers] [Driver:openmower] OpenmowerDriver has been initialized
2023-08-21T17:58:46.215Z [log] [ManagerDrivers] [Driver:landxcape] Init driver
2023-08-21T17:58:46.211Z [log] [ManagerDrivers] [Driver:landroid] Init driver
2023-08-21T17:58:46.209Z [log] [ManagerDrivers] [Driver:kress] Init driver
2023-08-21T17:58:46.206Z [log] [ManagerDrivers] [Driver:ferrex] Init driver
2023-08-21T17:58:44.566Z [log] [WorxApp] registerFlowCards() Listeners
2023-08-21T17:58:44.530Z [log] [WorxApp] registerFlowCards() flows
2023-08-21T17:58:44.518Z [log] [WorxApp] Worx 5.2.5 is initialising.
2023-08-21T17:58:44.515Z [log] capturing stderr
2023-08-21T17:58:44.512Z [log] capturing stdout
2023-08-21T17:58:38.954Z [log] [WorxApp] app unload called
2023-08-21T17:58:38.953Z [log] [WorxApp] app unload called no worx object for openmower
2023-08-21T17:58:38.952Z [log] [WorxApp] app unload called no worx object for landxcape
2023-08-21T17:58:38.951Z [log] [WorxApp] app unload called no worx object for landroid
2023-08-21T17:58:38.950Z [log] [WorxApp] app unload called no worx object for kress
2023-08-21T17:58:38.948Z [log] [WorxApp] app unload called no worx object for ferrex

yes that is my ip.

Hahahaha… . Let me check my code, been vpning too many times to you without mDNS

check with Worx and Openmower Mowers | Homey

:slightly_smiling_face: Now it works

2 Likes

Live now.

@Martin_Verbeek
Hi Martin.
Is it possible to reset the meter for “blade work time”?
I have a LandXcape mower.

Added as mower action item in THEN card in 5.2.7.

Thank you.
It didn’t work. Does that mean that it won’t work for my model?

Worked for me, but that is landroid, normally the interface is pretty much the same. Can you send me the log?

Sendt PM

@Martin_Verbeek Martin would it be possible please to extend the functionality by normal mowing and edge rutine ? Eg. keep “power button” but add selection modes? eg. similarly you did it with LG Thinq? Thank you