Code Monkey home page Code Monkey logo

worx-landroid-nodejs's Introduction

Home automation integration for Worx Landroid robotic mowers

This is a small Node.JS library that allows integrating Worx Landroid robotic mowers with various home automation systems for logging/charting Landroid status such as battery percentage and notifications for Landroid alarms.

The library is assumed to work with any Landroid sporting WiFi and a RESTful API (such as WG796E and WG797E), and has been tested with WG796E firmware version 12.1 and 12.6. Please report any breaking changes to the API.

Common installation

(The installation instructions make reference to .bat files. If you are not on Windows, you are assumed to know what to do...)

Regardless of the home automation system you are planning to use, you need to do the following:

  1. Install Node.JS. Make sure you allow npm to be on your PATH.
  2. Clone this Git repo - git clone https://github.com/mjiderhamn/worx-landroid-nodejs.git (First install Git if not already installed). Or by all means use the GitHub Windows client.
  3. Run install.bat to download dependencies.
  4. Edit the cloned config.js. Should be self explanatory. Although you may want to wait with this step until you have installed your home automation software, since you will need some details from that installation.

Home Assistant

If you plan to use Home Assistant, follow the installation instructions at https://home-assistant.io/getting-started/.

To start sending Landroid information to Home Assistant run landroid2home-assistant.bat.

For tips setting up push notifications, see here.

Domoticz

If you plan to use Domoticz home automation system, follow these additional steps:

  1. Set up some MQTT broker/service, such as Mosquitto
  2. Note that on Windows you may need to install OpenSSL, see http://git.eclipse.org/c/mosquitto/org.eclipse.mosquitto.git/tree/readme-windows.txt linking to http://slproweb.com/products/Win32OpenSSL.html
  3. Install Domoticz on some supported hardware (PC, Raspberry Pi, ...).
  4. Start sending Landroid data to Domoticz by running landroid2domoticz.bat
  5. Use your browser and navigate to Utility in the Domoticz UI.

InfluxDB 2.x

You can have metrics collected from the mower(s) reported to InfluxDB Time Series Database (TSDB).

Edit the InfluxDB2 section of config.js and insert your InfluxDB URL, organization, bucket and authentication token.

Metrics are reported to the landroid measurement.

Worx Landroid REST API JSON response

The documentation of the API has been moved here.

worx-landroid-nodejs's People

Stargazers

Felix Krause avatar Mariusz Kabała avatar Marcin Obierzyński avatar Volker Hehl avatar Robin Ferch avatar Jimmy Pedersen avatar  avatar Marcel Brückner avatar Christian Søgaard Nielsen avatar Laurits Søgaard Nielsen avatar Rasmus Østergård avatar

Watchers

Mattias Jiderhamn avatar James Cloos avatar Eric Dorr avatar Tim Clephas avatar  avatar  avatar

worx-landroid-nodejs's Issues

pastebin page have been removed

Hi

The page https://pastebin.com/JMmVCUrf which is used in landroid-cloud.js
have been removed and probably replaced by another one

As a result using node landroid-cloud2domoticz.js
I get :

Done initializing Domoticz devices
You can now navigate to http://localhost:8080/#/Utility to see your Landroid status
Connecting to MQTT broker at mqtt://localhost...
Connected to MQTT broker
Connected to Domoticz MQTT, connect to Landroid MQTT
Downloaded guest token
API token set to
Error calling API! {"readyState":4,"status":401,"statusText":"error","responseText":"{"message":"Invalid token","code":"401.001"}"}

node-red

Hi,

are there any reportings on this library to use with node-red?

Thanks, Martin

How to get the raw data from the landroid

Hi!

I am wondering how the restful API is built, what parameters and headers need to be in it and what port is it working on. If an authentication token is needed how do I get it? I cannot find any good API documentation from WORX. Thanks in advance!

Best regards Max

does it still work in 2019 ?

Hello thank for your script, I have been using it in 2018 :)
does it still work in 2019 ?? I got this error:
Connected to Domoticz MQTT, connect to Landroid MQTT
Downloaded guest token
API token set to qiJNz3waS4I99FPvTaPt2C2R46WXYdhw
Error calling API! {"readyState":4,"status":404,"statusText":"parseerror","responseText":"Not Found"}

L:\worx\landroid-cloud.js:278
throw e;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.