OpenSprinkler Forums OpenSprinkler Unified Firmware Custom solution for greater than 56 stations

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

    Cosmacelf
    Participant

    I’ve got a system that has 88 station capacity (3 controllers. 2 controllers with an expansion board each for 24 stations, and the third station with 2 expansion boards for 40 stations). This is beyond the system’s firmware limit of 56 total stations, even with remote controllers. I initially tried to make it work, running it as two independent systems, but that was a bad hack since, ideally, you’d want to have programs that span all three controllers. When I ran into problems with remote controllers, I decided to give up and write my own program control system.

    To make it easy on myself, I decided against modifying the controller firmware. So I wrote a Java program that runs on my Windows 10 PC. I have my PC running 24×7 anyways, so leaving it on is not big deal. The Java program just sends station on and off HTTP requests to the various controllers at the right times. The controllers are not configured as remote controllers, but as ordinary controllers. This allows me to define the station names using the existing IOS or web based controller program. I can also use the IOS program to run individual stations should I want to. But I have no programs defined on the controllers.

    The Java program is fairly simple, it runs two threads. One is a schedule thread that just wakes up at the next program start time and sends HTTP station start and stop commands to the correct controller. The other thread is a very simple web server that I use from my PC or smartphone to modify the programs. The program instructions are stored in a human readable JSON encoded file on my PC. The final piece is a series of javascript/html files that is the user interface for modifying the programs (see attachment).

    After about a week of programming, it works well enough that I can take a break from it and let it do its thing. It has some extra functionality that the current controller based programs do not have (like being to run the same station more than one time during the same program), but lacks a bunch of other things (like weather integration, simultaneous stations). Of course the biggest win for me is being to control 88 stations in a single program.

    It isn’t in a “distributable” form, but if you are a programmer and absolutely need something like this, let me know, I’d be happy to share.

    Attachments:
    #50091

    Ray
    Keymaster

    Cool. thanks for sharing. With the upcoming firmware 2.1.8 we increased the maximum number of zones to 72 — still not 88 yet, but getting closer. The original limitation to 56 zones is mainly due to the limited storage on OS 2.x — since programs are all stored in EEPROM and the EEPROM size is very limited, 56 was pretty much the highest number of zones. With OS 3.0 and OSPi, the storage is no longer an issue so in theory they can support a much larger number of zones. In practice, though, very few users need more than 40 zones, so we rarely receive requests beyond that.

    #50109

    Cosmacelf
    Participant

    So why do you have a 72 zone limit now? Why not 96?

    #50181

    Ray
    Keymaster

    Because the main controller has 8 zones, and each expander has 16 zones. With four expanders, the total is 8+64=72 zones.

    #51531

    951calguy
    Participant

    Cosmacelf, how can I get my hands on your program?

    #51770

    Ray
    Keymaster

    @951calguy: how many expanded zones do you need? I don’t recommend going beyond 72 zones because you will run into signal interference issues with that many daisy chained expanders.

Viewing 6 posts - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.

OpenSprinkler Forums OpenSprinkler Unified Firmware Custom solution for greater than 56 stations