Hello,
I am trying to integrate my Worx Landroid robotic lawnmower into Domoticz. For this I am following the following instructions:
https://easydomoticz.com/forum/viewtopi ... 300#p72300
However, I get an error here in the first part of the manual:
TOKEN = $ (curl -v -X POST -d '{"client_......
(23) Failed writing body
My research came up with the result that my file system should be broken. So I've reinstalled Domotics on the Raspberry. Unfortunately, no improvement.
I would be very happy if I got a tip.
Thank you in advance!
all the best
Peter
Adding Worx Landroid
Moderators: leecollings, remb0
-
- Posts: 14
- Joined: Sunday 24 February 2019 10:26
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Adding Worx Landroid
i tested the information on that site and found it working, i rewrite some code..
This make 2 files with json data with all usefull info aboute your landroid (second file hold the most usefull information).
make sure you give the script rights to create files. (sudo chmod 777 filename.sh)
edit user, pass and your serial number
you need to have JQ installed
but this information on that site is not right, on newer firmwares (5.52) you find the mower_work_time in the second json file
at the ['dat'] ['st'] ['wt']
distance is on ['dat'] ['st'] ['d']
battery voltage ['dat'] ['bt'] ['v']
rsi ['dat'] ['rsi']
so perhaps you have to find out what is what with your version
This make 2 files with json data with all usefull info aboute your landroid (second file hold the most usefull information).
make sure you give the script rights to create files. (sudo chmod 777 filename.sh)
edit user, pass and your serial number
you need to have JQ installed
Code: Select all
#!/bin/sh
DOMOTICZ="192.168.1.100"
PORT="8080"
TOKEN=$(curl -v -X POST -d '{"client_id": 1, "grant_type": "password", "scope": "*", "client_secret":"nCH3A0WvMYn66vGorjSrnGZ2YtjQWDiCvjg7jNxK", "username":"YOUR_EMAIL", "password":"YOUR_PASSWORD"}' -H 'Content-Type: application/json' https://api.worxlandroid.com/api/v2/oauth/token | jq -r '.access_token')
curl -X GET -H 'Accept: application/json' -H 'Content-Type: application/json' -H "Authorization: Bearer $TOKEN" https://api.worxlandroid.com/api/v2/product-items > landroid_indata.json
curl -X GET -H 'Accept: application/json' -H 'Content-Type: application/json' -H "Authorization: Bearer $TOKEN" https://api.worxlandroid.com/api/v2/product-items/YOUR_SERIAL_NUMBER/status > landroid_indata2.json
echo "Done..."
#This reads the json file
MOWER_WORKED=`cat landroid_indata.json | jq '.[]|.mower_work_time'/60`
echo $MOWER_WORKED
#Put the value to domoticz
curl http://$DOMOTICZ:$PORT/json.htm?"type=command¶m=udevice&idx=IDX&svalue=$MOWER_WORKED"
at the ['dat'] ['st'] ['wt']
distance is on ['dat'] ['st'] ['d']
battery voltage ['dat'] ['bt'] ['v']
rsi ['dat'] ['rsi']
so perhaps you have to find out what is what with your version
-
- Posts: 1
- Joined: Monday 04 May 2020 14:21
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Adding Worx Landroid
The following command worked very well yesterday but not today.
Is the problem is on my site or the API does not exist anymore?
Thx
TOKEN=$(curl -v -X POST -d '{"client_id": 1, "grant_type": "password", "scope": "*", "client_secret":"nCH3A0WvMYn66vGorjSrnGZ2YtjQWDiCvjg7jNxK", "username":"YOUR_EMAIL", "password":"YOUR_PASSWORD"}' -H 'Content-Type: application/json' https://api.worxlandroid.com/api/v2/oauth/token | jq -r '.access_token')
Is the problem is on my site or the API does not exist anymore?
Thx
TOKEN=$(curl -v -X POST -d '{"client_id": 1, "grant_type": "password", "scope": "*", "client_secret":"nCH3A0WvMYn66vGorjSrnGZ2YtjQWDiCvjg7jNxK", "username":"YOUR_EMAIL", "password":"YOUR_PASSWORD"}' -H 'Content-Type: application/json' https://api.worxlandroid.com/api/v2/oauth/token | jq -r '.access_token')
-
- Posts: 36
- Joined: Sunday 11 February 2018 13:25
- Target OS: -
- Domoticz version:
- Location: Longwy, France
- Contact:
Re: Adding Worx Landroid
I have an "old" Worx (with the app : Worx Mover).
I have just made some quick dzvents script :
Replace all information at the begining, you'll get data directly :p
I have just made some quick dzvents script :
Code: Select all
-- Your Worx Landroid M informations
local worx_ip = "192.168.x.Z"
local worx_pin = "0000"
-- Update the virtual devices
local update_devices = 1 -- 0 = no update / 1 = update
local idxbat = 1234 -- Virtual Device type Percentage
local idxstate = 1235 -- Virtual Device type Text
local idxmsg = 1236 -- Virtual Device type Text
-- For http callback
local response = "Worx_response"
return {
on = {
timer = { "every minute"},
httpResponses = { response },
},
logging = {
level = domoticz.LOG_DEBUG,
maker = "Worx M"},
execute = function(dz, item)
local function logWrite(str, level)
dz.log(tostring(str), level or dz.LOG_DEBUG)
end
if item.isHTTPResponse then
local worx_state
local worx_battery
local worx_charger
local worx_message
worx_state = item.json.state
worx_battery = item.json.perc_batt
worx_charger = item.json.batteryChargerState
worx_message = item.json.message
logWrite("Worx State : " .. worx_state)
logWrite("Worx Battery : " .. worx_battery .. "%")
logWrite("Worx Charger : " .. worx_charger)
logWrite("Worx Message : " .. worx_message)
if update_devices then
dz.devices(idxbat).updatePercentage(worx_battery)
dz.devices(idxstate).updateText(worx_state)
dz.devices(idxmsg).updateText(worx_message)
end
else
local url = "http://admin:"..worx_pin.."@"..worx_ip.."/jsondata.cgi"
dz.openURL({
url = url,
method = "GET",
callback = response })
end
end
}
-
- Posts: 12
- Joined: Wednesday 24 October 2018 9:55
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Adding Worx Landroid
Hello,
is this still working for new models with WIFI ? New API ?
This looks nice for lawn mower...
https://www.npmjs.com/package/iobroker.worx
U
is this still working for new models with WIFI ? New API ?
This looks nice for lawn mower...
https://www.npmjs.com/package/iobroker.worx
U
Who is online
Users browsing this forum: No registered users and 1 guest