** This project has been discontinued as of December 2023 **
I moved my personal setup to FHEM which supports Worx mowers out of the box and can be used together with homebridge.
- Install FHEM
- Install Homebridge-FHEM plugin in Homebridge
- Add Worx mowers to FHEM according to this guide
- Mowers will be found and added after you configured the Worx bridge as outlined above
- Apply
worx_landroid
attrTemplate to newly found mowers via web UI set command or otherwise - Add
siriName
attribute to mower for it to be loaded in HomeKit - Add
homekitMapping
attribute to mower with the content below - Restart homebridge
This homekitMapping
has to be added to the mower so it can be controlled properly from HomeKit:
clear
On=mowerStatusTxt,values=Home:0;;/.*/:1,cmds=0:stopMower;;1:startMower;;false:stopMower;;true:startMower
BatteryService#BatteryLevel=batteryPercent
BatteryService#ChargingState=batteryCharging
BatteryService#StatusLowBattery=batteryPercent,threshold=20,values=0:BATTERY_LEVEL_LOW;;1:BATTERY_LEVEL_NORMAL
To add other switches you can add more On=...
lines, to add ContactSensors add a line like
ContactSensorState=mowerStatusTxt,values=closed:Home=0;open:/.*/
Homebridge plugin to control Worx Landroid (as well as Kress, Ferrex and Landxcape) lawn mowers through the Cloud, should support most mowers.
- Automatically fetches all mowers from Cloud
- Start mower
- Return mower to home
- Mowing status (on / off)
- Battery Status
- Error status
- Rain status
- Home status
- Install homebridge using: npm install -g homebridge
- Install this plugin using: npm install -g homebridge-landroid
- Set up homebridges config.json with your Worx account data
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
},
"platforms": [
{
"platform": "Landroid",
"email": "[email protected]",
"pwd": "my_password"
}
]
}
email
eMail for your Worx accountpwd
Password for your Worx accountrainsensor
Adds an additional "Leak" sensor for rain detectionhomesensor
Adds an additional "Home" sensor for home detectionpartyswitch
Adds an additional "PartyMode" switch to temporarily disable the schedulereload
Clears all mowers in HomeKit and reloads them from the cloud, defaultfalse
cloud
Sets the cloud to use,worx
,kress
,ferrex
orlandxcape
, defaultworx
debug
Enable additional debug log output, defaultfalse
mowdata
Enable additional mowing data log output, defaultfalse
The mower will appear as a switch and a contact sensor in HomeKit.
The switch shows the current status and allows to control the mower. If the switch is off the mower is either on the home base or on its way to the home base. If it's on the mower is currently mowing. Turn the switch on to start the mowing cycle, turn it off to send the mower back home.
The contact sensor is used to display issues with the mower (trapped, outside wire etc.), when the contact sensor is "open" there is some issue that prevents the mower from continuing. Fix the issue to control the mower again.
The home (contact) sensor is used to display if the mower is standing in home position, when the contact sensor is "open" the mower is currently not at home.
Note: If you update from Version <= 0.9.5 or enable the sensor after first setup then you need to reload all mowers. This also invalids your homekit automations which need to be reconfigured.
You can see the battery status in the settings of either the switch or contact sensor in the Home app and you can ask Siri about the battery status of your lawn mower.
If you want new features or improve the plugin, you're very welcome to do so. The projects devDependencies
include homebridge and the npm run test
command has been adapted so that you can run a test instance of homebridge during development. Alternatively you can use npm run dev
if you have homebridge installed as a global package
- clone github repo
npm install
in the project folder- create
.homebridge
folder in project root - add
config.json
with appropriate content to.homebridge
folder - run
npm run test
to start the homebridge instance for testing - alternatively run
npm run dev
to start homebridge if its installed as a global package
Most of the connector code is directly copied from iobroker.worx, a helper script called 'sync-code' allows updating to the latest version of that code.