Forum Replies Created
-
AuthorPosts
-
RayKeymaster@donc: can you try the following:
http://your_device_ip/su
and put in the default password opendoor, then click on submit. Does it report ‘script url saved’, or does it throw out an Unauthorized error? If it reports url saved, that means the password is accepted and it’s likely a UI or browser related issue; if you see ‘Unauthorized’, that probably means the EEPROM reset was not successful, please redo the EEPROM reset (make sure you wait until the ‘RESETTING EEPROM’ message on the LCD is done).
RayKeymasterThe logic signals sent to the triac are +3.3V (actual voltage may be a bit lower due to the properties of 74HC595 shift register), and are activate high. You can solder a wire from the triac’s gate pin to direct the signal to external boards.
If your external board requires +5V or higher signal, you can replace the triac by an NPN transistor (like 2N3904) and then the station port pin will become an open-drain (which can be pulled high to any voltage between 5 to 40V) with active-low logic.
RayKeymasterIndeed, all parameters that apply to normal programs equally apply to run-once program, including sequential mode, station delay, master station etc.
RayKeymasterThanks for the suggestions.
1) Sunrise/Sunset time is being considered together with the weather feature. As a preview of what’s happening recently, I’ve written a Python script which can take a location and output sunrise sunset time, as well as water percentage adjustment (based on Rich Zimmerman’s algorithm). You can run the script by using:
http://rayshobby.net/scripts/weather1.py?loc=01002,USA&key=WUKEY&tz=32
where you have to substitute WUKEY with your Wunderground API key, and tz gives the time zone value (your time zone multiplied by 4 and offset by +48. for example, UTC-4 is -4*4+48=32). Of course the parameters are meant to be populated automatically by OpenSprinkler.
The script will return one line:
&scale=19&sunrise=382&sunset=1153&maxh=94&minh=51&meant=77&pre=0.330000&prec=0.000000&hc=62
which can be easily parsed by Arduino. Here:
-scale: water scale / percentage
-sunrise: local sunrise time (number of minutes from midnight)
-sunset: sunset time
-the other parameters like maxh, minh are the humidity, temperature and precipitation data used to calculate water scaling (these parameters are obtained from WUnderground using the location).This way the device can send a query once a day to retrieve the data.
2) OpenSprinkler 2.0 and 2.1 have pin headers on the circuit board to directly plug in a standard 433 or 315MHz RF transmitter. I’ve written a few blog posts about how to use this to interface with remote power sockets:
http://rayshobby.net/?p=3381
It’s also possible to connect a RF receiver so the device can listen to remote sensors. I’ve written a series of blog posts about interfacing with various sensors like temperature, humidity, rain, soil moisture:
http://rayshobby.net/?p=8827
http://rayshobby.net/?p=8998
http://rayshobby.net/?p=9056
http://rayshobby.net/?p=9413
so the pieces are all there, but the support has not been added to the provided firmware yet.
RayKeymaster@kevin_s: it’s good to hear that you’ve got it working, but I am still puzzled why the updater program didn’t work. I tried on a fresh XP system, and after installing Java the updater program runs without a problem. I didn’t need to set PATH variable or anything. If you can think of anything why it doesn’t work on your system, let me know. Thanks.
RayKeymasterFor Windows: try to install Java first: go to http://www.java.com, download and install.
The test machines I used apparently all have Java installed, so I didn’t notice this problem before.
RayKeymasterOk. All done. Updated it so it will get the latest firmware file, then download any missing firmware files. . .how do you want me to send you the new source file?
Wow, that’s quick. Yes you can send it to me ([email protected]). Thanks!
RayKeymaster@MarkB: try to install Java first: http://www.java.com/
RayKeymasterThe updater program source code is actually in the Github:
https://github.com/rayshobby/opensprinkler/tree/master/OpenSprinkler%20Controller/software/osFirmwareUpdater
If you look at each os folder, there are lib and source sub-folders. The source code is the same in each os folder. The program is compiled in Processing with G4P libarry for GUI. It makes an external call to the ‘avrdude’ program which uploads the fimrware. The main reason to use Processing is that it can easily compile and export the program to all major OS. The program is pretty rudimentary and there are lots of improvements to be made. If you are interested, you can try to install Processing and get the program compiled. That would be a good starting point to make modifications to it. Thanks.
RayKeymaster@TechFan: yes, that’s a good point. Samer and I were just talking about revamping the Updater program. You are right that the program should be able to automatically grab files from the web. Also I think it’s possible for the program to automatically detect the hardware version (so no need to manually select hardware version). We will try to get this done as soon as we can.
RayKeymasterFirmware 2.0.9 is now released. Please see the announcement here: viewtopic.php?f=2&t=888. Thanks!
RayKeymasterOK, sorry for my misunderstanding. Points taken. Thanks.
RayKeymaster@TechFan: i am not sure how to ‘researching the feedback first’ before releasing it to the users. We will certainly do our best to test and troubleshoot everything before the update is released, but as I said we (me being the only person working on the firmware) rely heavily on users to give us feedback and comments, to discover issues that we were not able to find during our internal testing, and I believe this is the case with many open-source projects. If the new firmware is not satisfactory, you can always switch back to the previous version of the firmware. I think it would be too much to expect the new version to be perfect before it can be released.
RayKeymasterTo all,
I would like to apologize for the bugs introduced in 2.0.8, the SPACE issue being the primary one and is completely my fault (since I wrote the firmware). So please do not target criticisms to Samer as he is only trying to help work around the issue by cleverly using the UI. A new firmware 2.0.9 will be released shortly today or tomorrow, which will address the main issues.
As we keep updating the firmware and UI, issues like this will probably occur at some point. Even SparkFun had a major incident recently where they shipped 2000 microcontroller boards without bootloader:
http://hackaday.com/2014/08/21/sparkfun-ships-2000-microviews-without-bootloaders/
So all that I could ask is to please be patient and report the issues as you find them. As I mentioned in another thread, we don’t have the kind of testing and support resources as big companies have, and we rely heavily on users to help us test and provide feedback.We usually do test updates pretty thouroughly before releasing them, but in this particular case, since 2.0.8 involves primarily UI changes, we focused on testing the UI elements and forgot to thouroughly test the firmware functionality. Again, apologize for that and will try to avoid this happening again in the future. Thanks.
-Ray
RayKeymasterIf you can email to [email protected] we will arrange to send you a few.
RayKeymasterThanks. I am a little behind on announcing OSPi 1.4 B+. We have a small amount of stock available right now, more to come next week. The option has been added to the product page, and user manual has been updated with new pictures showing the B+ version:
http://rayshobby.net/docs/ospi14_manual.pdf
I still need to write a blog post announcing it. Should be done this week.
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.
RayKeymasterThe fuse is a solder-on type. Do you have a soldering iron? If so, you can clip and desolder the existing fuse, and solder a new one. You can send an email to [email protected] to arrange for support.
Because the fuse is connected on the COM wire, it’s likely you may have a shorted solenoid, or for some reason the solenoids are drawing more than 2 amp of current that triggered the fuse. So make sure to check your solenoids before trying again.
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.
RayKeymasterPlease continue to consider offering a web interface that can at least still function without outside connections. I like the new GUI much better than the old, but one of the reasons for choosing OS was because it could function completely independent of other outside network connections. Continuing to be able to host the needed files off the SD card would at least make a good backup method.
That’s why the app is provided, which won’t require Internet access. Any reason not to use the app? The app has the same UI as the web UI, but provides more functionality like scanning OpenSprinkler device.
Also, since the beginning OpenSprinkler has always used the scheme of referring to Javascripts stored on remote server. Whether the old UI or the new UI, both use this same scheme.
Also, consider, treating OS as a local device, allowing individuals to decide when/if they want to upgrade.
The firmware is the part that you, as a user, can decide whether you want to upgrade or not.
Frankly I believe most users would prefer an automatic update as opposed to scrutinize every update. Most updates have to do with improving the user interface, fixing bugs. Websites update all the time without the users being aware of them, for applying critical security patches etc. That being said, it’s certainly possible to make UI upgrade also an option that the user can choose. But I honestly think it complicates the decision making, and most users probably don’t want to have this extra choice to make. If you look at commercial products, like Nest, many of them don’t give you any such option at all.
For a technical person like you, you can also find ways around it, such as by replicating the scripts on your local server or internal SD card, which are both supported.
RayKeymasterThanks for tracking down so quickly! So the GUI is auto updating or is hosted on the internet? I don’t like the idea that I can’t use my device if something outside my network is not accessible. In general, I don’t want my tools updating with my direct approval.
You misunderstood the way html works. When you access OpenSprinkler, it returns two pieces of information to your browser: the controller’s internal variable, like time, sprinkler station status; and a pointer to Javascripts which are responsible for rendering the webpage. OpenSprinkler itself is never reaching out to the Internet, it’s the browser, upon receiving the pointers from the controller, goes to remote server to retrieve the Javascripts. It’s a pretty standard approach. Again, OpenSprinkler does not rely on the Internet to run; however, to see the webpages on your browser, your browser needs to access the Internet.
If you use the OpenSprinkler mobile app on your phone or pad, the app embeds the Javascripts so in that case the app doesn’t need to access Internet either.
You can also serve the Javascript files directly on the SD card. But this is a lot slower due to the transfer speed from the SD card.
RayKeymasterSo apparently firmware 2.0.8 has a bug which prevents station names and location to have the SPACE character in them. Sorry about not finding out the bug ahead of time. We will be fixing this right away. In the mean time the workaround is to use _ or . or – or , or anything that’s not a SPACE. Thanks!
RayKeymasterDoes it matter that i turned on the NEW ui in 2.0.7??
As Samer said, the new UI supports all firmware versions from 2.0.3. If you’ve upgraded your UI to the new one but for any reason need to go back to the old UI, you can click on the Settings icon (top right corner of the new UI), then select ‘Downgrade UI’.
@Ramias: Firmware 2.0.8 still supports the old UI (even though it’s not set as default UI anymore). To do so, type in:
http://your_os_ip/su
then change the script url to http://rayshobby.net/scripts/java/svc2.0.8
This will downgrade the UI. Note that 2.0.8 is the last firmware that will still support the old UI. From the next firmware (2.1.0) the old UI will be discontinued.
RayKeymasterThis is the first time I heard of such an issue.
My suggestion is that Sequential should be the default.
Sequential is the default option in factory default settings. For example, if you perform a hardware (i.e. EEPROM) reset, it will turn sequential on. Can you think of any correllations of the 5 times it has been turned off? Also, next time this happens, try to restart the controller and see if the sequential is still off after restarting. This will help us tell if it’s the value stored in non-volatile memory that’s modified, or it’s the run-time variable that’s modified.
-
AuthorPosts