OpenSprinkler › Forums › OpenSprinkler Unified Firmware › OpenSprinkler (not OSPI!) Firmware 2.0.8 Released
- This topic is empty.
-
AuthorPosts
-
August 29, 2014 at 5:44 am #27974
RayKeymasterTo 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.
August 29, 2014 at 5:52 am #27975
TechFanParticipantThanks. 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.
August 29, 2014 at 5:59 am #27976
SamerKeymaster@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.
August 29, 2014 at 9:07 am #27977
bobMember@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
August 29, 2014 at 8:02 pm #27978
semagParticipantTechFan-
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.
August 29, 2014 at 8:20 pm #27979
TechFanParticipantGlad to hear there are others. Apparently, 2.0.8 supports putting the content on SD, but not planned for the next versions.
August 29, 2014 at 9:46 pm #27980
SamerKeymaster@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-e80febf0a0c5August 29, 2014 at 9:51 pm #27981
TechFanParticipantThanks for the clarification. I will have to check into all those options after the weekends trip.
August 29, 2014 at 10:17 pm #27982
TechFanParticipantBtw, yes, ilo would like to know how to host the files on my own network. Thanks!
Sent from my iPhone using Tapatalk
August 29, 2014 at 10:29 pm #27983
SamerKeymasterSure, I will write one up this weekend and post it here when complete.
August 29, 2014 at 11:23 pm #27984
semagParticipantSalbahra – 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!
August 31, 2014 at 3:18 am #27985
RayKeymasterBtw, 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.
September 2, 2014 at 12:35 am #27986
SamerKeymasterAs 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
September 2, 2014 at 4:42 am #27987
TechFanParticipantThank you! So hosting these files off the OS SD card is the part not supported after 2.0.8?
September 2, 2014 at 4:51 am #27988
SamerKeymaster@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.
September 2, 2014 at 4:58 am #27989
TechFanParticipant@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?
September 2, 2014 at 5:10 am #27990
SamerKeymaster@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.
September 2, 2014 at 5:21 am #27991
TechFanParticipantOk. 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?
September 2, 2014 at 5:37 am #27992
SamerKeymasterI 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.
September 2, 2014 at 6:06 am #27993
SamerKeymaster@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.
September 2, 2014 at 8:55 am #27994
TechFanParticipantSeems 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.
September 2, 2014 at 12:35 pm #27995
SamerKeymasterRoot 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).
September 2, 2014 at 2:18 pm #27996
TechFanParticipantSo, it is supposed to work without index.htm? It didn’t.
Sent from my iPhone using Tapatalk
September 2, 2014 at 4:50 pm #27997
SamerKeymasterI identified a possible fix for it not working without index.htm. I will get this resolved today.
September 3, 2014 at 12:33 am #27998
iDougParticipantI 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. -
AuthorPosts
- You must be logged in to reply to this topic.
OpenSprinkler › Forums › OpenSprinkler Unified Firmware › OpenSprinkler (not OSPI!) Firmware 2.0.8 Released