September 24, 2014 at 7:08 am #23178
After about two weeks of continuous work with Samer, I am happy to announce that Firmware 2.1.0-beta for the microcontroller-based OpenSprinkler is released. This is a major upgrade with a number of new features (see below). A few quick notes:
* The firmware is currently in beta testing, please report bugs as you find them; constructive comments and suggestions are welcome. We will aim to release the official version in 1-2 weeks.
* The firmware’s built-in UI (i.e. by typing in OpenSprinkler’s IP address in a browser) is currently at version 1.2.1, and it supports all new features of the firmware. The native apps at version 1.2.1 should be ready by the time you read this post; however, iOS app will likely take a week to obtain approval, the current 1.2.0 iOS app will NOT support firmware 2.1.0-beta. Note that the firmware’s built-in UI is the same as the native app (other than lacking a couple of features such as Automatic Scanning of OpenSprinkler).
List of Changes:
- Added support for per-stations water time in each program. The water time resolution is 0-59 seconds (in steps of seconds), 1 to 179 minutes (in steps of minutes) and 3 to 8 hours (in steps of hours). If you need longer water time than 8 hours or finer resolution, you can make use of the program ‘repeating’ feature. See below.
- Added support for two types of program start times:
- Up to 4 given start times (e.g. 8:15am, 10:30am, 4:40pm, 5:20pm)
- Alternatively, a start time followed by a repeating count and repeating cycle time (e.g. start at 8am, repeat every 2 hours for 4 times will run the program at 8am, then 10am, 12pm, 2pm, and 4pm). Note that start times that go into the next day will be ignored.
- Added support for program name (limited to 12 characters) and re-ordering programs. This firmware supports up to 14 programs; additional programs will be supported in the future by making use of microSD card.
2. Weather Feature:
- Added support to automatically adjust station water time based on WUnderground weather data. This is based on Rich Zimmerman’s method that he introduced for the sprinklers_pi program. The method makes use of average temperature, humidity, total precipitation of the previous day, and predicted precipitation of the current day to calculate a watering percentage (between 0 to 250%). The watering percentage is then applied to all station water time. For technical details, please check our Freshdesk solutions pages (https://opensprinkler.freshdesk.com/support/solutions)
- To use the weather feature you need to specify your location, and obtain an WUndeground API key. It’s free. Please check the relevant article in the solutions page above for instructions on how to apply for the API key.
- Each program can be individually set to use weather-based adjustment or not. If you have a program that should not be affected by weather adjustment, just uncheck the option.
- If you prefer not to use automatic adjustment, you can also set the watering percentage manually, say, to account for seasonal changes (this is the same as previous firmwares).
3. Stations and Program Scheduler:
- Added station ‘Disable’ attribute. Disabled stations are automatically hidden from the UI.
- Removed the previous manual operation mode, which has caused much confusion. Instead, a new Test Station feature is added, which allows you to test each station for a specified amount of time (default is 1 minute).
- Added support to stop a station, either the currently running station or a station that’s waiting to run.
- Improved the program scheduler. In Sequential mode, overlapping programs are now automatically serialized. For example, if Program 1 starts first and another Program 2 starts before Program 1 ends, the previous firmwares would ignore Program 2. Now the scheduler will automatically push Program 2 to the end of Program 1. The Program Preview feature has also been updated to reflect this change.
- Added support to manually run a program using buttons on the controller. To do so, press and hold button B3 until you see ‘Run a Program’ menu; then click B3 to select the program, and press and hold B3 again to start the program. You can select any existing program, or a test program (which turns on each station for 1 minute, one after another).
4. Automatic Timezone and DST Detection:
- Added support to automatically detect Time Zone and Daylight Saving Time (DST) based on your location. Just input your location (e.g. 95050; Boston, MA; Sydney, Australia) in the Edit Options page, (the UI has a location Lookup feature to help disambiguate your input), the controller can automatically detect time zone and perform NTP sync to obtain current time. The previous Time Zone option is now hidden from the UI (but can be manually set on the controller using buttons if necessary).
- Added support to automatically detect sunrise and sunset times based on your location. These are currently not used, but the plan is that in the future a program can be set to start at ‘Sunrise Time’ (or ‘Sunrise Time + 1 hour etc.)
5. UI Changes:
Samer has made numerous UI changes and improvements. Many changes are made to support the corresponding firmware features described above, such as per-station water time within a program, weather feature. Below I list some of the changes that are independent of the firmware change. Please check the Samer’s changelog for details (https://github.com/salbahra/Sprinklers/releases).
- Added support to Export / Import device configurations to / from a File, Email, or the UI’s local storage. It’s highly recommended that before each firmware update, use the UI’s export feature to save your current configurations and restore them after firmware upgrade.
- Improved visualization of log data. The View Log feature can now present log data in several different graphs, and also list the data in chronological order.
- Re-arranged the homepage layout: Edit Station, Edit Programs, and Edit Options are all presented on the homepage, while less commonly changed options are grouped into the Settings page (upper-right icon). Import/Export configuration and About page are still in the menu page (upper-left icon).
- A couple more languages are added, bringing up the total number of supported languages to 17!
How to Update to Firmware 2.1.0:
Before upgrading firmware, please using the UI or the app’s Export Configuration feature to save a copy of your current configuration to either file, or email, or local storage. You can then import the configuration after upgrade.
The recommended way is to use the osFirmwareUpdater available for download at: http://rayshobby.net/?page_id=732#upload. There are instructions below the link (the same instructions are included in the zip file). Please check the instructions first.
If you are having trouble, you can also flash the firmware manually by following instructions Samer wrote here:
Because this firmware has several major changes, we will be updating the user manual, video, API and technical documents in the upcoming weeks.
Thanks!September 24, 2014 at 10:48 am #28332
I have just updated the firmware and found a few bugs.
The start time in a program is not saved. You can set it up, then leave the program, go back and the start time is missing. It’s missing from the program preview too.
Then one more thing. In the stations edit, I have tried to test a station (for example #2). The “start” button has changed to a red “stop” one immediately and the water has been flowing. But a few seconds later the “start” buton for station #3 has turned red too. I have noticed that same thing happens randomly for other stations as well.September 24, 2014 at 11:53 am #28333
Logs have a bug as well. It looks like it’s got something to do with the problem with testing the stations.September 24, 2014 at 1:44 pm #28334
The start time in a program is not saved. You can set it up, then leave the program, go back and the start time is missing. It’s missing from the program preview too.
I can confirm that this happens when using ‘Fixed Start Times’. It’s likely a UI bug, will be fixing this shortly today.
Then one more thing. In the stations edit, I have tried to test a station (for example #2). The “start” button has changed to a red “stop” one immediately and the water has been flowing. But a few seconds later the “start” buton for station #3 has turned red too. I have noticed that same thing happens randomly for other stations as well.
I can’t reproduce this issue. Can you go to the Current Status page and check what program (regular program, run-once, or test?) these random stations are running? Also, can you confirm if the stations are physically running? This can help us figure out if it’s a UI bug or firmware bug.September 24, 2014 at 1:46 pm #28335
In regard to the edit stations page:
The stations turn red because the page continues to poll the device and if any station turns on the button updates to red. Are you sure a program didn’t start while you were testing?
The start time seems to work for me, is there a particular program type your trying to change that isn’t working?
What is the bug on the logs page?
Update: Just saw Ray’s post and will get the start time not saving fixed today.September 24, 2014 at 3:58 pm #28336
I am using the UI on my PC running Windows 7.
Unfortunately the app on my Iphone does not work yet.
My set up is:
Station # 1 is the Master which is required to operate for each other station.
I am not trying to run a program. I am just trying to test a station using the “test station”
I have tried to test station#2, which has turned “red”.A few seconds later station #3 turnsed”red” as well. Only station #2 is phisically operated. Station # remains shut.
Similar things have happened to station#13 but this time the start button has remained green and station #14 has turned red. Only station #13 phisically is running the water.
Same random problems have happened to other stations.
I have been testing the stations for 1 min max. The logs show that some stations have been operated for 12 h or more. It looks like the long run stations are the ones which phisically were not opened. I will drop you an e-mail with the screen shots.September 24, 2014 at 6:09 pm #28337
@i_have_a_name: I was able to reproduce the issue. The station 3 showing red (i.e. running) is a UI bug, because it should show station 1 (master) and station 2 on, instead it showed 2 and 3 on, skipping the master station. The incorrect logging data is a firmware bug — because station 3 is not actually on, sending a ‘Turn Off’ command generated a wrong record – the fix is to ignore ‘turn off’ command for stations that are not actually running. Both should be fixed shortly today.September 24, 2014 at 10:56 pm #28338
The UI issues (edit stations page buttons changing colors incorrectly and start times not saving) should be fixed now. The app store apps have yet to be updated however the web interface (accessing the OS by IP) should be fixed now.
Thanks for the reports!September 25, 2014 at 1:12 am #28339
The firmware bug is also fixed and checked in (specifically, the bug generated an incorrect log record when you send a ‘turn off’ command to a station that is *not* running or scheduled to run)September 25, 2014 at 9:14 pm #28340
Does it make sense to consolidate the two “settings” buttons from right and left sides to a single option? I find myself often being confused as to which I should select for what.September 25, 2014 at 10:24 pm #28341
Yes especially since a lot of the right settings page got moved out to the home page. I’ve also been considering this and am looking in to it.
Thanks!September 26, 2014 at 3:21 am #28342
Sounds fun. How are fixes to the firmware being released and pushed out? Any chance on an iOS beta version?September 26, 2014 at 3:34 am #28343
I can actually begin using TestFlight for iOS beta’s if people are interested. I will look into this ASAP and let you know when it’s available. If your UUID is added from the past, your welcome to use the PhoneGap link for the beta.September 26, 2014 at 3:48 am #28344
How are fixes to the firmware being released and pushed out?
The firmware files are stored on Github and have been updated. If you click on ‘Update and Detect’ button in the updater program, it will grab the new firmware file.September 26, 2014 at 4:01 am #28345
Sounds good. Now that I have the beta iOS client I can think about upgrading.September 26, 2014 at 4:32 am #28346
I just received my OpenSprinkler pre-assembled unit today and was excited to set it up. My old controller failed a few days ago and was amazed with the speed with which my order was processed and delivered, in two days, amazing! Thank you 😀
Now to my issue.
The unit arrived with 2.09 firmware and I had problems setting up programs so I decided to upgrade to the Beta 2.1 version. When I say problems I mean I set the program an all looked good but I saw nothing in the Program Preview and it didn’t run the program. The update was flawless and initially looked really good. However even with he improvements and the 2.2 updates I still seem to have a problem. I have looked in the forum and I do not see anyone else having this issue.
Basically I am adding a Program and I am unable to select the days for it to run. I can choose them but when I click out side the dialog it seems to loose my choices, and there is no submit button.
I have tried on Win 7, with Chrome or Safari and Mac OS X with Safari and always have the same problem.
Am I missing something?
AndySeptember 26, 2014 at 5:21 am #28347
@AndyR Welcome to OpenSprinkler!
Sorry for the initial problems you were having but hopefully we can help. In regard to firmware 2.0.9, the issue is likely the interval time. This is common pitfall of the previous firmware’s and was required to be non-zero to actually run a program (set very high to prevent a repeat).
For the current firmware, I found and fixed this issue when trying to select the days of the week in the program editor. You shouldn’t need to do anything except refresh the page in order to see the updated result. Please let me know if this resolves the issue.
Thanks!September 26, 2014 at 6:20 am #28348
Thanks for the quick response, I have decided to use the info on 2.0.9 to at least get up and running. I still need to get an Ethernet drop to my controller cabinet so I just need to get the sprinklers functioning before everything dies!!!!
I did see your Github push but am not sure what I need to do to apply the change and its late so I will wait for the weekend to finish things up.
Btw I am willing to be a beta tester for the iOS apps. I have a dev account with Apple but do not use it much but hope to play more now I have the OpenSprinkler. I am also looking at learning Swift, my back ground was C programming but that was in the past.
This definitely one of the really big upsides of OSS, you get much better responses to issues.
AndySeptember 27, 2014 at 1:23 am #28349
Turns out TestFlight is currently limited to internal testers. External testers (up to 1000) is still to be announced.
In the meantime, you may message me your device UUID and I will add you to my test/development certificate for app testing.
Thanks!September 27, 2014 at 1:25 am #28350
@AndyR As I mentioned earlier, nothing is needed to see the changes except a browser page refresh. The UI assets are hosted remotely but cached locally. A refresh typically forces a clean copy to be downloaded.September 27, 2014 at 1:34 am #28351
I was using the internal web page on the OpenSprinkler hardware to configure the programs, so I guess I am confused.
I thought the web pages were served from the OpenSprinkler Device. Is my understanding wrong?
I am not using the app at this point.
AndySeptember 27, 2014 at 1:45 am #28352
@AndyR, the pages for the device have always been retrieved from the cloud. The option exists to use the SD card if you wish which has been described in the solutions on the support site (https://opensprinkler.freshdesk.com/support/solutions/articles/5000011026-using-the-sd-card-for-ui).
If you are curious, you will notice it references home.js (inside my app’s /js folder). This is the loader that ends up loading my app into the browser and connecting to the device.September 27, 2014 at 2:30 am #28353
Ok, I didn’t understand that the Web was served up from the cloud. Now it makes sense.
But more importantly it works. I updated to the latest 2.1 beta and tried again and it look like all is good.
AndySeptember 27, 2014 at 1:55 pm #28354
Glad to hear it!September 28, 2014 at 5:57 am #28355
Hi Ray and Salbahra,
I have been using app ver. 1.2.1 and firmware 2.0.9 without problems. Today I updated to fw 2.1.0-beta and struck problems right away. I have my router set to allocate predefined ip addresses according to a table of known mac addresses for convenience. If I install 2.1.0b and then reboot the device it behaves normally and accepts the predefined ip address normally. However if I then import my saved configuration via the 1.2.1 app, and reboot the device takes a considerable time to obtain an ip address and then its the wrong one, ie the dhcp server in the router treats it as an unknown mac address. It seems as though importing the saved configuration somehow corrupts the mac address being sent to the router when the device requests an ip address.
I have installed 2.1.0b and then back to 2.0.9 repeatedly and the problem always occurs with 2.1.0b firmware after importing a saved configuration.
I will use 2.0.9 until the issue is resolved.
- You must be logged in to reply to this topic.