OpenSprinkler Forums Third-Party Software FW mod – setting rainfall instead of on-time

This topic contains 5 replies, has 2 voices, and was last updated by  Ray 1 week, 1 day ago.

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #58497

    mpoloniato
    Participant

    I was looking for some optimization of the irrigation.
    I’m running on HW 2.3 AC // FW 2.1.7 // APP 1.8.4
    Is it possibile to revise the FW in order to set the mm of rainfall given by the irrigation program instead of the on-time of each station?
    Given 6 different station, each one with a precipitation rate and different rainfall per day requested (fully sunlight, partially shadowed, …) I would like to set a coefficient for each station so I will be able to set the total mm of water for each station and the FW will calculate automatically the duration.
    Where chould I revise the FW exctly? I have very low skill in programming and it’s quite difficult to understand all libraries and program parts from scratch.

    Any advice is really appreciated
    Thank you!

    #60362

    Ray
    Keymaster

    There are generally two ways to make software customization: if you have experience with microcontroller programming and can get the source code to compile, you can modify the firmware yourself; otherwise you can also use an external script (like Python, Javascript etc) to interface with the controller via the firmware’s HTTP API calls. For example, you can modify the watering percentage, or each zone’s water time by using HTTP API. This does require another computer or server to send commands in real-time to the controller, but you can do it in a variety of ways like using a cheap Raspberry Pi.

    #61150

    mpoloniato
    Participant

    Hi, I’m progressing with the management of watering my lawn. The easiest solution for me is to set correct watering timing based on Et0, rainfall, … Is to use an excel file that create the http string to send to the controller every day. The string is sent by unix script “curl” or “wget”. The problem is that the controller reply ” error code 16″. The same string copied on a browser works well. What’s happening? Also if excel format the string as URL and I click on it, the controller return me “error 16”

    #61391

    Ray
    Keymaster

    If you look at the API document:
    https://openthings.freshdesk.com/a/solutions/articles/5000716363-os-api-documents
    error code 16 means required data parameter is missing. Maybe you can post the exact HTTP command you are sending so I can tell you what’s missing. Or you can take a look at the firmware to see what parameters are required for the command you use.

    #61403

    mpoloniato
    Participant

    After many trial and errors I found the solution. The same string sent from a browser was working well, sent from a terminal (linux os) with curl command didn’t work. Adding a backslash before every bracket it works also from terminal.

    #61560

    Ray
    Keymaster

    If you use curl or wget, try to wrap the entire url in quotes like:
    curl “http://x.x.x.x/blah?blah&blah…”
    that way the command line won’t interpret certain symbols like & incorrectly.

Viewing 6 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic.

OpenSprinkler Forums Third-Party Software FW mod – setting rainfall instead of on-time