OpenSprinkler Forums OpenSprinkler Unified Firmware OpenSprinkler (not OSPI!) Firmware 2.0.8 Released

  • This topic is empty.
Viewing 25 posts - 51 through 75 (of 85 total)
  • Author
    Posts
  • #27974

    Ray
    Keymaster

    To understand the design decision it’s probably worth explaining the background: OpenSprinkler started as a DIY project using ATmega328 microcontroller, which has only 32KB flash memory space, and 2KB RAM. A year ago it got upgraded to ATmega644, which has 64KB flash space and 4KB RAM. Althought SD card has been added, support for SD card was only included fairly recently. Because there is currently no option to push update firmware (look, there is not much you can do with only 64KB program space and 4KB RAM), the only way to upgrade firmware is to use USB cable connected to the computer, and run the firmware update program. If the UI was included in the firmware, every time an update is released the user would have to repeat the procedure, even if the update only touches Javascripts and not the internal functionality of the controller. This would be undesirable because as we continuously develop the software, we want to make updates available as soon as bugs are found and fixes are put in. For an average user, the capability to update UI and apply bug fixes remotely is a much better experience than having to plug in a USB cable every time a UI update is released.

    If the controller had push update capability, the user could just click a button on the UI to upgrade, then this would not be an issue. But for now, to overcome the limitations of the hardware, and to maintain compatibility with existing devices, we decided that keeping the scripts on a remote server is the best option.

    If you prefer full control over the update, there is Raspberry Pi based OpenSprinkler. There all files are stored locally on the Pi.

    #27975

    TechFan
    Participant

    Thanks. I definitely see how it is storage bound. It looks like using the SD might be an option.

    If I had understood more about the limitations, I may have chosen differently, but I also wanted a device that could be controlled directly from the device, so it could be used without a network if needed. Thanks again for taking the time to respond.

    #27976

    Samer
    Keymaster

    @TechFan wrote:

    If I had understood more about the limitations, I may have chosen differently, but I also wanted a device that could be controlled directly from the device, so it could be used without a network if needed. Thanks again for taking the time to respond.

    Not to beat a dead horse but not only is it possible but currently the solution exists to allow you to use the device without an internet connection or external assets.

    For the desktop (or any browser based experience), I have caching enabled so after the first load your browser saves the files. Check it out if you want.

    For the app store apps, the files are all bundled inside the app and no external assets are needed.

    I hope this helps.

    #27977

    bob
    Member

    @ray wrote:

    2. Added support for relay (available on harware version 2.1; earlier hardware versions do not have built-in relay). On the ‘Edit Stations’ page, you can individually set each station to activate relay (similar to master station). On the ‘Options’ page, a new option named ‘Relay Pulse’ is added. If the pulse time is set to 0, the relay will be activated along with an associated station (i.e. relay on when the station is turned on, off when the station is turned off). If the pulse time is non-0 (it can be between 0 to 2000 milliseconds), the relay will pulse (i.e. on-off) when the associated station is turned on, and pulse again (on-off) when the station is turned off. The pulsing is useful if you intend to use the relay for garage door opener etc.

    Are there plans to implement this for the OSPi v1.4 as well ?

    Thank you,

    B

    #27978

    semag
    Participant

    TechFan-

    I don’t think you’re the only one – I actually have liked and chosen OpenSprinkler for the possibility of being able to control the device if the “rayshobby” website were to ever go down.

    I understand the benefits of the cloud hosting and auto updates – but I have a fear that 5 or 10 years down the line the “cloud” part of the little gadget is gone.

    I’d rather have the ability to host some of the content internal to my network (unlike NEST) so that my hardware doesn’t just lose configuration ability one day out of the blue.

    #27979

    TechFan
    Participant

    Glad to hear there are others. Apparently, 2.0.8 supports putting the content on SD, but not planned for the next versions.

    #27980

    Samer
    Keymaster

    @TechFan wrote:

    Apparently, 2.0.8 supports putting the content on SD, but not planned for the next versions.

    I don’t think you are being fair in your assessment here. The SD card feature isn’t going anywhere. I simply said the current UI is too bloated to be served as is from the SD card due to Ethernet library issues. That isn’t to say you can’t use the current UI anyways, use the older UI, or make your own UI. All of these options work off the SD card.

    You can also host the files on a local server in your local network and the OpenSprinkler can grab the files from there by using the change javascript URL feature available here: http://opensprinkler_ip/su. If you want, I will make a guide on how to host the UI on your own local network. Let me know.

    Even if all these features didn’t exist, and you wanted to control a cloud device then you can simply sniff the traffic, monitor the dns it hits to call home, and redirect that DNS to your own server. Try to see if you can get the device to communicate and work from there. Honestly, that is how I developed my first version of the web app (the PHP based one).

    The first two options exist now and in the future. They allow you to have complete control of how and where your device gets assets. The third is if you like to play 😛

    Update: Also, the app (which has all the files bundled inside) is supported on a large number of platforms both mobile and desktop, listed here:

    Amazon Appstore: http://www.amazon.com/dp/B00JYFL8LW
    Apple App Store – iOS: https://itunes.apple.com/us/app/sprinklers/id830988967?ls=1&mt=8
    Apple App Store – OS X: https://itunes.apple.com/us/app/sprinklers/id903464532?ls=1&mt=12
    BlackBerry AppWorld: http://appworld.blackberry.com/webstore/content/53161895/
    Firefox Marketplace (both browser and OS): https://marketplace.firefox.com/app/sprinklers/
    Google Play Store:https://play.google.com/store/apps/details?id=com.albahra.sprinklers
    Google Web Store (Chrome): https://chrome.google.com/webstore/detail/sprinklers/iegciplggbmhpihoeamfpjdedihblhhp
    Windows Store: http://apps.microsoft.com/windows/en-us/app/sprinklers/ebc0d2d1-9678-4e72-9a9d-6d60e946b8c0
    Windows Phone Store: http://www.windowsphone.com/en-us/store/app/sprinklers/3dbc5da0-b33f-4ca8-9e54-e80febf0a0c5

    #27981

    TechFan
    Participant

    Thanks for the clarification. I will have to check into all those options after the weekends trip.

    #27982

    TechFan
    Participant

    Btw, yes, ilo would like to know how to host the files on my own network. Thanks!

    Sent from my iPhone using Tapatalk

    #27983

    Samer
    Keymaster

    Sure, I will write one up this weekend and post it here when complete.

    #27984

    semag
    Participant

    Salbahra – I thought that the redirecting & maintaining of the server items locally was a great feature – just wanted to chime in .

    My main thought that I wanted to get across was I like the ability to decouple the device from the cloud if possible – which I know is there. That’s why i like the project =)

    Appreciate your hard work!

    #27985

    Ray
    Keymaster

    @TechFan:

    Btw, yes, ilo would like to know how to host the files on my own network. Thanks!

    You can change the script url by opening a browser and type in http://x.x.x.x/su where x.x.x.x is your opensprinkler’s ip. The url should point to where the Javascript files are stored. For example, if you change the url to http://rayshobby.net/scripts/java/svc2.0.8 you will see the classic opensprinkler UI. You can also obviously put these Javascript files to your local server, say a Raspberry Pi, and run either Apache or a simple Python HTTP server to serve the Javascript files, then change the url accordingly. This way you can serve the files on your local server.

    Apparently, 2.0.8 supports putting the content on SD, but not planned for the next versions.

    This is not true. You can always put the Javascript files on the SD card, and serve it locally on the SD card. In this case, simply change the script url (see above) to ./ This is supported in the current version and will be supported in the future as well. What I said is that the classic UI will be discontinued, in favor of the new mobile UI; I didn’t say that SD card support will be discontinued. Thanks for your understanding.

    #27986

    Samer
    Keymaster

    As promised earlier, here is a guide to hosting the files on your local network.

    Guide: http://support.opensprinkler.com/support/solutions/articles/5000010887-changing-the-ui-asset

    #27987

    TechFan
    Participant

    Thank you! So hosting these files off the OS SD card is the part not supported after 2.0.8?

    #27988

    Samer
    Keymaster

    @TechFan wrote:

    Thank you! So hosting these files off the OS SD card is the part not supported after 2.0.8?

    I already said, and maintain, SD card support moving forward. In order to clarify that point I just wrote a solution for using the SD card available here: https://opensprinkler.freshdesk.com/support/solutions/articles/5000011026. Please notice the caveat.

    #27989

    TechFan
    Participant

    @salbahra wrote:

    @TechFan wrote:

    I’ll look into how I can put them on SD. My internet was really slow and up and down last night.

    Not to ruin your plans but there are limitations. The new UI introduced in 2.0.8 cannot run off the SD card due to network issues. The controller has a hard time serving 10-12 simultaneously requested files (css, js, images, etc). As a result, you will have to use the older UI and 2.0.8 will be the last firmware capable of supporting it.

    I am confused at what was intended by this earlier remark? It seems like you are saying the UI can only be hosted on SD through 2.0.8?

    #27990

    Samer
    Keymaster

    @TechFan wrote:

    @salbahra wrote:

    @TechFan wrote:

    I’ll look into how I can put them on SD. My internet was really slow and up and down last night.

    Not to ruin your plans but there are limitations. The new UI introduced in 2.0.8 cannot run off the SD card due to network issues. The controller has a hard time serving 10-12 simultaneously requested files (css, js, images, etc). As a result, you will have to use the older UI and 2.0.8 will be the last firmware capable of supporting it.

    I am confused at what was intended by this earlier remark? It seems like you are saying the UI can only be hosted on SD through 2.0.8?

    Well, I might have rushed with the guide for SD because honestly it won’t be a smooth experience. What I am trying to say and what you keep missing is this feature will not go away and the limitations that exist now will be worked on and resolved. Can we please agree on that? Right now, if you want to run off the SD card you may use Ray’s interface which is supported on the latest firmware, 2.0.8.

    #27991

    TechFan
    Participant

    Ok. Didn’t see that the first time I pulled it up.

    Is there a way to pull up internet link and fall back to locally hosted SD content?

    #27992

    Samer
    Keymaster

    I updated the guide for the SD card. Had a small issue. It works now but you have to refresh a few times. My plan is to add a cache manifest to cache the files because right now the Arduino HTTP server is a lightweight one and not sending cache headers etc.

    Try out the SD solution so you see what I mean.

    #27993

    Samer
    Keymaster

    @TechFan wrote:

    Ok. Didn’t see that the first time I pulled it up.

    Is there a way to pull up internet link and fall back to locally hosted SD content?

    This isn’t needed. After the first successful internet connection, your browser will cache the required files allowing it to work offline.

    #27994

    TechFan
    Participant

    Seems to run off SD card. . .had to put in IPaddressindex.htm or it never would have loaded. . .

    Were the contents supposed to go into the root of the SD or stay in the UI-SD folder? At this point, I put them in both places.

    #27995

    Samer
    Keymaster

    Root directory only and using index.htm exposes parts of the app that should be hidden since they won’t work well (mainly multi site support).

    #27996

    TechFan
    Participant

    So, it is supposed to work without index.htm? It didn’t.

    Sent from my iPhone using Tapatalk

    #27997

    Samer
    Keymaster

    I identified a possible fix for it not working without index.htm. I will get this resolved today.

    #27998

    iDoug
    Participant

    I think it is safe to assume that 2.0.8 is a FAILURE. Do not be afraid to fail. Failure is good, it is how we learn. It is ok to make mistakes. It is not ok to repeat those same mistakes.

    The number of comments tells me 2.0.8 is a failure. I like many others was bit by the NEW AND UNDOCUMENTED no spaces rule. Which in turn probably corrupted the Import/Export. Not only did I lose the names of the stations I lost most of the programs.

    I find it best to document changes as you code. This takes longer and is tedious, but you end up with better documentation. Additionally, you can avoid people like me telling you how to do your job. That alone makes it the thing to do.

    BUG FIXES & FEATURE REQUESTS:
    1. Add more testing.
    2. Fix the Import/Export.
    3. PLEASE, PLEASE, PLEASE, test, test, test and then retest.
    4. PLEASE, restore the ability to use SPACES. A space is as good a character as any. Do not discriminate against the SPACE character.
    5. Finally, ADD MORE TESTS.

Viewing 25 posts - 51 through 75 (of 85 total)
  • You must be logged in to reply to this topic.

OpenSprinkler Forums OpenSprinkler Unified Firmware OpenSprinkler (not OSPI!) Firmware 2.0.8 Released