MQTT messages

I’m testing the MQTT first time. I start manually Zone1 for 1min, which also starts Zone0 which is a master.

During the run receive the following topics:

station
1 = {"state":1,"duration":60}
0 = {"state":1}

After 1min expires I receive the following topics:

station
1 = {"state":0,"duration":60,"flow":0.00}
0 = {"state":0,"duration":60,"flow":0.00}
sensor
flow = {"count":1293,"volume":258.60}

After 1min, flow sensor reports the count and volume, but at Zone 1 the flow remains 0. What does “flow” mean here and why it is 0?

App Version: 2.4.48
Firmware: 2.2.1 (1)
Hardware Version: 3.3 – AC

Thank you.

Use Metric is reset after each app start

Using Android App version 2.4.43 with OpenSprinkler firmware 2.2.0 (3).
The location is set to Israel and on every app start, the weather temparture is in fahrenheit.
Going into Edit Options->System and enabling “Use Metric” and click Submit, the temperature is changed to celsius as it should. However, on the next time the app is started the temprature is in fahrenheit again and the “Use Metric” toggle is disabled again.

Announcing OpenSprinkler Unified Firmware 2.2.1(1)

Hi All, we have just released OpenSprinkler Unified Firmware 2.2.1(1). This is a minor revision from the previous 2.2.1(0). The release notes are on github:
https://github.com/OpenSprinkler/OpenSprinkler-Firmware/releases/tag/221(1)

Associated firmware user manual, API document, and support articles that explain the new features are all available at our support website:
https://support.opensprinkler.com

  • If your controller is already on firmware 2.2.1(0), updating to this firmware will preserve all settings and programs. No re-configuration is needed.
  • If your controller has an older firmware, like 2.1.9 or 2.2.0, updating to this firmware will trigger a factory reset. So make sure to export a copy of your current configurations before proceeding, to restore the settings and programs after the firmware update.

If you have any comments / suggestions / bug reports, feel free to post them here, or submit a support ticket at the support website above. Thanks!

Weird problem with reverse proxy and Firefox

My OpenSprinkler controller is on an isolated “IoT” network, and I normally access it through an Apache reverse proxy that provides TLS and authentication, as well as hosting a local copy of the web UI files. This all works just fine when I use Google Chrome to access the web UI.

When I use Firefox, after logging in (to the proxy, not the controller itself), the web page goes into an endless cycle of reloading. The log on the proxy shows repeated requests like "GET /sw.js HTTP/1.1" 304 -.

Interestingly, Firefox works just fine when I connect directly to the controller over HTTP (using an SSH tunnel to the server on which the proxy runs). This points to some problem with the proxy configuration, but I’m at a complete loss as to what it might be.

Here is the configuration.

<VirtualHost 172.31.255.2:443>

        ServerName sprinklers.penurio.us
        DocumentRoot /var/www/opensprinkler
        DirectoryIndex /opensprinkler/
        DirectoryIndexRedirect on

        AddEncoding x-gzip .cgz .jgz
        AddType text/css .cgz
        AddType text/javascript .jgz

        ErrorLog /etc/httpd/logs/sprinklers_error_log
        TransferLog /etc/httpd/logs/sprinklers_access_log
        LogLevel warn

        SSLEngine on
        SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
        SSLHonorCipherOrder on
        SSLCipherSuite PROFILE=SYSTEM
        SSLProxyCipherSuite PROFILE=SYSTEM
        SSLCertificateFile /var/lib/acg/sprinklers.penurio.us.crt
        SSLCertificateKeyFile /etc/pki/tls/private/sprinklers.penurio.us/sprinklers.penurio.us.key

        # These make direct HTTP access to the web UI work
        Header always set Access-Control-Allow-Headers "*"
        Header always set Access-Control-Allow-Origin "*"

        <Location /opensprinkler/>

                ProxyPass http://172.31.252.3/ timeout=1200
                ProxyPassReverse http://172.31.252.3/

                AuthType Basic
                AuthBasicProvider ldap
                AuthName OpenSprinkler
                AuthLDAPUrl ldap://127.0.0.1/cn=users,cn=accounts,dc=penurio,dc=us?uid
                AuthLDAPCompareAsUser on
                Require ldap-group cn=sprinklers,cn=groups,cn=accounts,dc=penurio,dc=us

                # See https://opensprinkler.com/forums/topic/after-android-update-2-3-2-problems/
                Header always set Access-Control-Allow-Headers "*"
                Header always set Access-Control-Allow-Origin "*"

        </Location>

</VirtualHost>

Anyone have any idea why this might be breaking Firefox (but not Google Chrome)?

How to upgrade old OpenSprinkler firmware?

I have an OpenSprinkler 2.3(AC) running firmware 2.1.5(2). I recently had to replace its power supply, and this has inspired me to look at upgrading its very out-of-date firmware.

I’ve reviewed the OpenSprinkler 2.x Firmware Update Guide, and it leaves a lot of questions unanswered.

  • Where do I download the newer firmware? (The link within the guide is broken, and I can’t find a Downloads section anywhere on the web site.)
  • After flashing the new firmware, how do I connect to the controller to restore the configuration? (Presumably it’s IP address will be reset.)
  • I serve static content from my reverse proxy, rather than from the controller. How do I go about setting this up with the new firmware?

Pointers appreciated.

Testing ospi without valve connections

Hey,

It’s the middle of winter. In lieu of not being able to actually open and close valves to make sure an ospi is working is there any command line troubleshooting that can be done to indicate things should be working as it should?

What about my config.txt. I assume i2c is required for the lcd screen. What about i2s and spi? Anything else I should make sure I have/don’t have in my config.txt?

Included LCD screen doesn’t work out of the box?

The included LCD screen that comes with ospi 2.0 doesn’t work out of the box? From the ospi 2.0 user manual, Hardware Interface > 7. LCD, Button, Sensor Functions, and RF Transmitter, “From firmware 2.2.1(1), LCD and button support is added for OSPi 2.0.”. 2.2.1(0) appears to be the latest firmware; https://github.com/OpenSprinkler/OpenSprinkler-Firmware/releases.

So am I correct the included LCD screen doesn’t work out of the box, yet? Documentation was updated prematurely? Or should I expect the LCD screen to just work in 2.2.1(0) because mine does not.

Build error for new installation on raspberry

hello after compiling on my Raspberry pi3 there is this error:

Compiling ospi firmware…
external/OpenThings-Framework-Firmware-Library/etherport.cpp: In member function ‘virtual int EthernetClientSsl::read(uint8_t*, size_t)’:
external/OpenThings-Framework-Firmware-Library/etherport.cpp:439:47: error: ‘SSL_read_ex’ was not declared in this scope
int n = SSL_read_ex(ssl, buf, size, &readsize);

why?

Updated firmware, then import of config doesn’t work

I updated the firmware in my OpenSprinkler, and then restored the backup. But it didn’t restore properly, there are no names on the stations (see screenshot attached). I’ve also attached the backup I used when I updated. The backup has been renamed to .txt since the board doesn’t like a .json file uploading.