Feed on
Posts
Comments

I am very excited to announce that the OpenSprinkler native mobile app is now available on all platforms (iOS, Android, Windows Mobile). A big shout-out to Samer Albahra for his diligent and absolutely fantastic work in developing this app!

Different from the previous OpenSprinkler web app, the native app can be installed as a standard app on your mobile device. This not only enables some new features (such as automatic scanning device, multi-language support) right away, but opens doors for more exciting features in the future, such as push notification and local storage (e.g. representing each station with a photo icon). The app is free, so go ahead and give it a try right now!

os_nativeapp_ui

Requirements:

Let me briely go through the requirements for using the app:

  • Hardware: to use the app you need to have either an OpenSprinkler (v2.0 and above), or OpenSprinkler Pi (OSPi, any version), or OpenSprinkler Beagle (OSBo, any version). Even if you don’t have the hardware, you can set up a software simulation (Dan’s interval_program) on RPi or BeagleBone to try out the firmware and app. OpenSprinkler hardware v1.x is currently not supported. Sorry!
  • Firmware: the app requires OpenSprinkler firmware 2.0.4. If you don’t have this version, please follow the firmware update instructions to upgrade your firmware.
  • App Installation: search for ‘opensprinkler’ in iOS App Store, Android Play Store, or Windows Phone Store, and you should be able to find and install the app.
    • If you like the app, please give a +1 to show your appreciation of Samer’s work!
  • Port Forwarding (optional): unlike the previous web app, you don’t need to set up port forwarding any more if you are accessing the controller within your home network. However, if you want to access the controller outside of your home network (say, when you are traveling), you still need to set up port forwarding on your router. This requires knowing your OpenSprinkler’s IP address and port number (default is 80). Please refer to your router’s user instructions. You can also use dynamic DNS service (such as dyn.com, freeDNS etc.) to set up an easy-to-remember DNS name for your router. Most routers support dynamic DNS service as well.

NOTE to keep in mind: the app provides an alternative front end to the OpenSprinkler controller. The default front end, which is the controller’s webpage (accessed by typing in the controller’s IP in a browser), is still available and functioning. Any operation you apply through the app will also be reflected in the default front end.

Features:

The app has a number of notable new features:

  • Scan For Device: on first-use of the app, you need to input information about your OpenSprinkler device, normally the IP address and device password. Samer found a very clever way to quickly scan the local network and automatically find your OpenSprinkler device. This saves your work of having to find the IP address yourself.
  • Multi-Device Support: the app supports multiple device configurations. This is very useful if you have multiple OpenSprinklers and want to access each individual within the same app.
  • Multi-Language Support: this is another exciting new feature — the app provides language localization. There are currently six supported languages: English, Spanish, Hungarian, German, Italian, and Chinese. Big thank-you to Balazs for starting this feature and Samer for continued development. The translations are mostly provided by the users — for those who have contributed: thank you!

os_nativeapp_scanos_nativeapp_multios_nativeapp_language

These are just some of the highlights I would like to bring to your attention. There are plenty of other features that really make the app stand out, such as automatic count-down timer, easy editing of station names and programs, intuitive program preview, instant launch of any existing program (not just the run-once program), import/export configurations. You’ve got to try it out yourself to find out.

To find out additional details, please go to Samer’s website. Discussions of ongoing development are available at the Rayshobby Forum. Samer is continuously supporting the app development. Please kindly leave your comments and suggestions, either in the comments section below, or on the forum. Thanks!

19 Responses to “Announcing the OpenSprinkler Mobile App — Native Version (all platforms)”

  1. Landon says:

    Awesome! Great to hear that OpenSprinkler now has native app support. I’ve been really considering buying a board for my Pi, this might finally be the tipping point. I have a question though. You say that without the hardware you can test out the app by running the interval program. I used the pre-flashed image, and can currently access the interval program by going to port 8080. However, when I put my ip address into the app (while on the same network obviously), I keep getting an IP/Port error. Any idea what would cause that? What does the app look for exactly? I’ve tried setting the port specifically to 8080, but that doesn’t seem to do anything either. Is there something specific I should be doing in the interval web gui? The operation button says it’s on, and I’m able to flip the stations on and off. Any insight here would be appreciated, I’d like to try out the app before I put my order in.

    Thank you.

  2. Samer says:

    Hello Landon,

    Not quite sure why the mobile app isn’t detecting your OpenSprinkler software. As you correctly mentioned, it needs the port number specified using IP:Port within the IP field. I might try to clarify this in the future. As an alternative test, do you mind trying to point the mobile app to vps.albahra.com (no password). This is a very basic test and doesn’t allow manipulation of any of the settings but should give some station status information, etc. If this doesn’t work, please feel free to post in the forums and I can further troubleshoot the issue.

    Thanks.

  3. bryan says:

    Are there plans to support 1.42u fw1.83 with the Mobile App? I bought mine 1.42u DIY kit last year and have just finished putting it together (long winter), and now wish I would have waited on the purchase.

    • Samer Albahra says:

      Good news, I just finished writing an update to support firmware 1.8.3. Please allow a few days/week for the various stores to approve the update. The application will be version 1.0.9.

  4. Samer says:

    Hello Bryan,

    Unfortunately, the previous firmware (1.8.3) does not support the mobile application. My plan right now is to convert the PHP mobile app into a wrapper program to translate 1.8.3 firmware to 2.0.4+ firmware allowing the native mobile apps to work (via this proxy). However, it might be easier to just use the PHP mobile webapp (https://github.com/salbahra/OpenSprinkler-Controller).

    If you need assistance, please ask in the forums (checked more often).

    Samer

  5. Paul says:

    Samer,
    I downloaded the APP from the Play store but can’t get it to recognize my Opensprinkler. I point it to my address and port 443 but it does nothing when i try to connect. The same address works fine from a web browser however. I have successfully connected to vps.albahra.com . Would you have any ideas as to why i can’t connect?

    • Paul says:

      Just a little more background. The Opensprinkler is properly connected to my network and port forwarding is working. I can access it directly using a web browser as well as through Ray’s server

  6. Samer says:

    The most likely issue is the firmware version. The app requires firmware version 2.0.4 or higher. This is not true of the web app on Ray’s server.

    Also, why are you using port 443? Is the OpenSprinkler going through a proxy? If so, the problem might be my app doesn’t support SSL at this time because the OpenSprinkler does not (and most likely will not) support SSL. The SSL proxy is something I plan on accommodating in the future however.

    If you are on the latest firmware, please drop a message in the forums and I will be glad to further assist.

    • Paul says:

      I’ll check the firmware tonight. I bought it two months ago so I believe it’s running the correct firmware. I’m using port 443 because my ISP blocks port 80. I tried port 81 but it didn’t work.

      Thanks

      • ray says:

        Hi Paul, I think only the recent orders (within a month?) are shipped with 2.0.4 firmware. You can easily check the firmware version on the homepage. Yours is probably still running 2.0.3, in which case you should upgrade to 2.0.4 by following firmware update instructions (www.opensprinkler.com -> 6. Firmware Update).

  7. THomas says:

    Any chance you are going to do a windows 8 desktop/metro version?

    • ray says:

      The app was written by Samer Albahra. I think there was some plan to develop desktop versions of it, but I am not sure. If you can post this question on the forum (rayshobby.net/phpBB3) Samer will be able to answer you there.

      • Morten says:

        There’s an app in the Windows Store now. Looks exactly like the WinPhone app, so everything is a quite ‘stretched’ horizontally. It kinda works as long as you don’t connect via local IP (use port-forwarding).

  8. Bryan Carter says:

    When I received an update tot he IOS mobile app a couple of weeks ago, it stopped allowing me to run multiple programs on any given day. I had two programs configured. Program 1 runs on Tue, Thu, and Sun, and runs through 5 stations multiple times. The second program (garden) is programmed to turn one station on at 6:00am every morning except Saturday for 20 mins.

    Program 2 will now only run on the days that Program 1 DOESN’T run.

    I added a 3rd program to run every day, but it will only run on Saturday because there is not other program scheduled on that day.

    The latest update from the other day didn’t change anything.

    It appears that it cannot run multiple programs on any given day. I tried to verify the programs on the web interface but cannot see more than one day on that interface so it is hard to tell.

    I am running the 1.83 Arduino version.

    Thanks

    • ray says:

      The execution of programs on the controller should be independent of the mobile app — I can’t imagine how an update to the mobile app should affect the program running. One thing you should be aware of is that if a program is already running, new programs will not be scheduled until the first program is finished. As a result, if you want multiple programs to run, either you have to make sure the programs will start at the same time (and hence will be scheduled together), or make sure the second program’s start time is after the first program is finished. Otherwise, if the second program is scheduled to run while program 1 is running, it will be ignored.

  9. Bryan carter says:

    That little bit of info at the end solved my problem. Program 1 was running until 6:10am, and so Program 2 wouldn’t start at 6:00am. I changed the timing of P2 to begin at 7:00am and it works as expected!

    It does seem a bit odd that one program cannot start in the middle of another one, but I know that is not related to the app, but rather the controller.

    Thanks for the help! I love your app! It has made the sprinkler system so much better!

  10. Hassan says:

    I have OpenSprinkler and my IPhone app switch from English to Hebrew language. I don’t know how. now I don’t know how to put back to english. can you please help.

    thanks.

    • ray says:

      Click on the upper-left corner menu button (or alternatively, swipe from left to right) to bring out the sidebar. Then go to ‘Localization’ and select the correct language. Since the language option is stored in cache, you can also just clear your browser cache and that would reset it to English.

  11. michael says:

    Anyone have any luck getting the opensprinkler app to work through a HTTPS Proxy setup on a virtual host… For example I have a website x.y.com and have setup a virtual host sprinkler.y.com that reroutes requests to the IP/Port of the opensprinkler web app. Works great from a browser.. but when I plug into the app it complains about the ip/port combination. I’m assuming it is because the app is not sending the virtual host name via the http get command, but not sure.

    Feedback welcome, thanks!