Byggahus.se

Worx Landroid development

  1. E
    Medlem Nivå 2
    I have also installed Mattias Jiderhamn's Landroid Home Assistant solution (https://github.com/mjiderhamn/worx-landroid-nodejs) on RaspPi 2
    It took my some time to get all Python modules correctly compiled and installed, especially the discovery functionality (which is not needed for the landroid integration)
    Tips: 1) upgrade Rasbian (debian) from weezy to jessie
    2) To get HA discovery to work, Download python source "sudo apt-get install python3.4-dev" and then "sudo pip install netdisco"


    And yes, I have the same some problem as Angr77, REST POSTs to HA fails status code 401. The password set in config.js was correct.
    My workaround was to comment-out the password setting in HA's configuration.yaml file...
    Any suggestions how to solve this, and make HA frontend, password protected again ?


    Question: The battery percent graph is always at 100%, bug in HA or worx-landroid-nodejs ?
    batterylog.PNG
     
  2. M
    Medlem Nivå 1
    Since I'm not seeing this myself, could anyone with this problem try any of the Home Assistant support channels and report back here?

    I haven't seen this problem either. Would you care to uncomment (i.e. remove the // ) from line 72 in landroid.js and watch the console/standard output to see if the problem is in getting the value from the Landroid, or in publishing it to Home Assistant? Also, what Landroid model and firmware version are you on?
     
  3. henq
    Elektroniktokig Nivå 6
  4. miktr
    Medlem Nivå 2
    Thanks! Please let me know if you have any suggestions for improvements.
     
  5. henq
    Elektroniktokig Nivå 6
    Can you send actions like "Start" & "Go home"?
     
  6. D
    Medlem Nivå 1
    Hello everyone!

    I once found someone who made his own guide wire transmitter, with schematics and data about the signal. I think it was for Worx. Anyone who remember where?

    Thanks
    //Daniel
     
  7. P
    Medlem Nivå 6
    Hello,
    I have some trouble with this wonderful script. Running Domoticz on a RPi2.
    Hardware is created successfully but the script fails when trying to create a device.

    WG796E.1 running software 1.91
    Domoticz v3.4834

    See log:
    pi@raspberrypi:~/worx-landroid-nodejs$ node landroid2domoticz.js
    Initializing devices on http://192.168.1.136:8080
    MQTT hardware found in Domoticz
    Devices identified: {"Memory Usage":1,"HDD /boot":2,"HDD /":3,"Internal Temperature":4,"CPU_Usage":5,"Lampa vard.rum fönster väst":6,"Lampa vard.rum":7,"Uterum":8,"Lampa rum bakom kök":24,"Lampa vard.rum söder":25,"Lampa källare fönster söder":26,"LBST-604":27,"Decklight (LGDR-3500)":28,"IsDonker":30,"Unknown":32}
    Making sure device exists: Worx Landroid Battery
    Device missing, needs to be created: Worx Landroid Battery
    Creating device Worx Landroid Battery with type 2
    Response to type=createvirtualsensor&idx=0&sensortype=2: {"status":"ERR"}
    /home/pi/worx-landroid-nodejs/domoticz.js:246
    throw "Error creating sensor '" + name + "': " + status;
    ^

    ReferenceError: status is not defined
    at /home/pi/worx-landroid-nodejs/domoticz.js:246:56
    at Object.najax.success (/home/pi/worx-landroid-nodejs/domoticz.js:103:9)
    at IncomingMessage.<anonymous> (/home/pi/worx-landroid-nodejs/node_modules/najax/lib/najax.js:130:44)
    at emitNone (events.js:72:20)
    at IncomingMessage.emit (events.js:166:7)
    at endReadableNT (_stream_readable.js:905:12)
    at nextTickCallbackWith2Args (node.js:437:9)
    at process._tickCallback (node.js:351:17)
     
    Redigerat 26 maj 2016 22:50
  8. H
    Medlem Nivå 1
    I have a 796E.1 with the latest 1.98 firmware. While the the robot is mowing the lawn wget jsondata.cgi gives this response:
    {"versione_fw":1.98,
    "lingua":0,
    "ore_funz":[54,54,54,54,54,0,0],
    "ora_on":[9,9,9,9,9,0,0],
    "min_on":[0,0,0,0,0,0,15],
    "allarmi":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
    "settaggi":[0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
    "mac":x,x,x,x,x,x,x],
    "time_format":1,
    "date_format":1,
    "rit_pioggia":360,
    "area":0,
    "enab_bordo":1,
    "percent_programmatore":0
    ,"indice_area":9,
    "tempo_frenatura":20,
    "perc_rallenta_max":70,
    "canale":0,
    "num_ricariche_batt":0,
    "num_aree_lavoro":4,
    "dist_area":[1,20,30,50],
    "perc_per_area":2,3,2,3],
    "area_in_lavoro":0,
    "email":"xxxx@xxxxxx.xxx"
    ,"perc_batt":"49"
    ,"ver_proto":1,
    "state":"grass cutting",
    "workReq":"user req grass cut",
    "message":"none",
    "batteryChargerState":"idle",
    "distance":924801}

    At this moment the lawn mover indicates 64 % battery level, but wget response says 90 %.
     
    Redigerat 30 maj 2016 18:57
  9. M
    Medlem Nivå 1
    I've integrated my Landroid (796E.1) with openhab.
    My main interest was to remotely start/stop mowing, and I've seen requests here for that, too, but no solution.
    So I thought I share what I came up with after a bit of wiresharking. It's Xtend (openhab rule language) syntax, but you should be able to easily translate that to your needs and use e.g. curl or wget.

    rule "Landroid command"
    when
    Item Landroid_Command received command
    then
    /* Commands:
    11 = start
    12 = stop (& return to base)
    13 = charging Complete
    14 = manual stop
    15 = going home */

    // insert PIN instead of XXXX and put up your IP
    val String URL = "http://admin:XXXX@10.0.0.1/jsondata.cgi"

    var String jsondata = 'data=[[\"settaggi\",' + Landroid_Command.state.toString + ',1]]'

    logInfo("rules", "Sending Command " + Landroid_Command.state + " to Landroid.")

    sendHttpPostRequest(URL, "application/x-www-form-urlencoded", jsondata)
    end
     
    • Laddar…
  10. miktr
    Medlem Nivå 2
    • Laddar…
  11. M
    Medlem Nivå 1
    I took the commands from this thread, but I've actually only seen 11 and 12 to work. But hey, they do the job.
     
    • Laddar…
  12. F
    Medlem Nivå 2
    This seems very interesting miktr. I run MQTT too (Mosquito) but use Home-Assistant instead of openHAB.
    Please let us know when you solved the task to send commands to the Landroid.

    I might try mstormis version too to send commands directly using json

    Good work!

    EDIT: Anyone who can post a working cURL syntax?
    I tried
    curl -X POST -d '{"data=[[\"settaggi\",'11',1]]"}' http://admin:0000@192.168.1.11/jsondata.cgi
    but it didn´t work
     
    Redigerat 30 jun 2016 21:22
  13. miktr
    Medlem Nivå 2
    I guess you have to add HTTP Authentication to the curl-command, something like:

    To do a get:
    curl -X GET --used admin:0000 http://192.168.190/jsondata.cgi
     
  14. M
    Medlem Nivå 1
  15. M
    Medlem Nivå 1
    PS: hell, can this forum sftware somehow be set to English ? My Swedish is, well, obefintlig ...