Byggahus.se

Worx Landroid development

  1. A
    Medlem Nivå 1
    I recently found this forum about Landroid. It's awesome :)
    A bit odd that it's in English on a Swedish forum :D
    Men det gör inget :)
     
  2. A
    Medlem Nivå 1

    Custom firmware

    Hi!
    Is there anyone that have experience in customizing the firmware. I'm interested in utilizing more ports on the motherboard.
     
  3. henq
    Elektroniktokig Nivå 6
    Hello! New year, new installation, new problems :)

    Last year I had a working solution with trieb's python script. This year, not so much (new version and all).

    My config.ini looks correct:
    [Mqtt]
    Host: localhost
    Port: 1883
    BaseTopic: goran

    [Landroid]
    Addr: http://192.168.9.5/jsondata.cgi
    User: admin
    Pin: 1234 (changed)

    I can access the mower in a browser with the same credentials and IP.

    I get no updates. And when I send a "check" cmd via the broker I get this:

    # python run.py
    Connected with result code0
    Received new message
    goran/command: check
    Sending check...
    Traceback (most recent call last):
    File "run.py", line 126, in <module>
    mqttc.loop_forever()
    File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 1261, in loop_forever
    rc = self.loop(timeout, max_packets)
    File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 811, in loop
    rc = self.loop_read(max_packets)
    File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 1073, in loop_read
    rc = self._packet_read()
    File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 1475, in _packet_read
    rc = self._packet_handle()
    File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 1943, in _packet_handle
    return self._handle_publish()
    File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 2118, in _handle_publish
    self._handle_on_message(message)
    File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 2274, in _handle_on_message
    self.on_message(self, self._userdata, message)
    File "run.py", line 32, in on_message
    handle_command(command)
    File "run.py", line 51, in handle_command
    send_check()
    File "run.py", line 77, in send_check
    check_general(data)
    File "run.py", line 93, in check_general
    push_message('/worked_hours', float(data['ore_movimento']))
    KeyError: 'ore_movimento'

    Any clues?
     
  4. miktr
    Medlem Nivå 2
    What firmware version do you have in your Landroid?
     
  5. henq
    Elektroniktokig Nivå 6
    Firmware 2.21.

    Found out that "ore_movimento" is not included in the response from my Göran.

    Removed that but also added:
    push_message('/state', data['state'])
    push_message('/workReq', data['workReq'])
    push_message('/message', data['message'])
    push_message('/batteryChargerState', data['batteryChargerState'])
    push_message('/distance', int(data['distance']))

    I can see the topics end up in the broker so that part works fine now, thanks!

    But I do not get any regular updates from the scripts, only when I send "check". Is that by design?
     
  6. miktr
    Medlem Nivå 2
    Ok thanks for checking.
    I will update the script with checks if some variables are missing in the response from the mower.
    As it is now no regular updates are made, just as you say but I should probably add an option to set updates based on a timer in the config. I will add that too!
     
  7. henq
    Elektroniktokig Nivå 6
    Great!

    Perhaps you want to add the params from my post also? Then I will not need to do a pull request or my own patch :)
     
  8. miktr
    Medlem Nivå 2
    I've now pushed an updated version that supports periodic checking.

    Note that a new section in the config file has been added for this purpose:

    [Misc]
    CheckIntervalSeconds: 30


    Also added the tags you were missing.
     
    • Laddar…
  9. henq
    Elektroniktokig Nivå 6
    Great update, seems to work well! (y)
     
  10. O
    Medlem Nivå 5
    Anyone using this with android S500?

    I can see in the router the IP is 192.168.1.7.

    There are no open ports on the IP, i guess it should be for this to work @miktr?

    What command could I try in a browser to see if I can communicate with it?
     
    Redigerat 17 maj 2017 18:12
  11. henq
    Elektroniktokig Nivå 6
    The data is on port 80, standard web.

    Try this: http://192.168.1.7/jsondata.cgi

    Then you need to input "admin" and your PIN if the browser asks you for authentication.
     
  12. O
    Medlem Nivå 5
    Cant reach that page.. :( perhaps not working on landroid S
     
  13. J
    Medlem Nivå 1
    Sorry for my bad english ihaven´t istalled anything yet becuse i dont understand how to. But can you get an sms or email or some notification when the landroid "crashes". My landroid have crashed every day since i started it for 2 weeks ago so i wounder i you can get a notification when that happens and see how long before its going home for charging. Its alwas on 48% why?? So i want to know what happens when it happens.
     
  14. M
    Medlem Nivå 1
    Yes, push notifications are possible for "old" models. I'm getting mine on Facebook Messenger. :)
    See https://github.com/mjiderhamn/worx-landroid-nodejs/blob/master/home-assistant.md for more information.
     
    • Laddar…
  15. M
    Medlem Nivå 1