Forum Replies Created
-
AuthorPosts
-
SamerKeymasterDan,
I am using your latest 7-10-13 copy and having issues doing a run-once program. I see it appear in the queue then it just disappears. Not sure what is going on, is it just me?
Thanks!
SamerKeymaster@momanz wrote:
One thing I noticed is that after a while the weather box seems to just disappear from the main page. Sometimes it happens when I’m moving between pages, and just moments ago caught the section containing the weather information very elegantly slide off the screen while the “Information” group expanded in size to fill up the space. Is this normal / expected behavior? Once the weather disappears it seems the only way to bring it back is to restart the app.
I believe I fixed this issue recently. I also took steps to make sure the weather returned if it ever hide. So at the very least it’s able to come back and hopefully doesn’t hide frequently. By the way, the hiding is related to Yahoo not replying within a 5 second window.
@momanz wrote:
Another issue I saw occurs when I have a zone running and am watching the time remaining in the green dropdown. If I set down my phone and the phone display turns off (phone goes to sleep) and I return to the app after the sprinkler turns off, the countdown timer continues counting from what appears to be the time when the phone went to sleep. Seems like there may be a bit of missing code to check station status when waking from sleep and the green dropdown is present.
I just addressed this issue in the latest update. If the timer drifts for more than 3 seconds it assumes the device went to sleep and instead of attempting to recalculate the timer it immediately requests a new status page from the server. Should fix this issue completely.
SamerKeymasterPushed out an update to address issue #2. This is a small step toward a larger re-work but its a nice upgrade already IMO. I moved all the status messages to the status bar on the home page. This includes: system operation, rain delay, rain sensor, and manual mode. These will now show up in order of importance in the status bar. The order is:
System Operation Off (red) > Rain Delay On (red) > Rain Sensor On (red) > Program Running (green) > Manual Mode On (red)
I also hide the firmware below the station status on the current status page and move the time above the list. This puts more focus on the station themselves rather than a bunch of text.
SamerKeymasterYou only need to install once. To update, enter the directory and issue a pull request.
cd /var/www/sprinklers
git pull
If you have issues recovering from already deleting the files then do this first before trying to re-install:
rm -r /var/www/sprinklers
SamerKeymaster@cox8996 Just added the log clearing feature https://github.com/salbahra/OpenSprinkler-Controller/commit/c44116ae48e5883b20754bed0e40e792c3c04bf2
Let me know how it works (seems to be working fine here).
SamerKeymaster@kenbob I already do my own logging don’t see why I would use a platform specific log when the idea is to be cross platform (OpenSprinkler vs OpenSprinkler Pi). I don’t see any real advantage, honestly.
I just added a simple user management system. It allows you to add/edit/delete users for the mobile app. The user management is in the settings menu and lists the users which are expandable to reveal a change password option and a delete button. You can also tap add in the top right corner to add a new user. If you delete a user that’s currently signed in, you will be logged out. Also, all tokens for the deleted user will expire instantly. So, don’t delete yourself or you could lock yourself out (at which point you could delete config.php and run the installer again).
If any bugs crop up please let me know!
SamerKeymasterThat’s a great idea! Sure, should have it posted soon.
SamerKeymasterThank you @Oasiz37! I only tested my last update on the RPi and overlooked the mistake for OpenSprinkler. I got this fixed let me know if it works for you now.
Update: Found a bug in the fix and pushed another update. Should work now.
SamerKeymasterAre you trying to submit on the install page or have you gotten past that point? Are you getting any error messages? Try to attach a screenshot or check the error log at /var/log/apache2/error.log and paste any errors you see.
SamerKeymasterIf you update to the latest version, it will now do a closer inspection and confirm if the device is OpenSprinkler (Pi). Hopefully this clears up some confusion.
SamerKeymasterI tried to address some of the issues tonight but the bigger ones are just taking longer that’s all.
Here’s what I got in today:
– When in the edit programs page, program headers are highlighted red to mark they are disabled
– Run-once will now remember your last programmed values and restore them each time you open the page. Also, I have added a reset button to change all the sliders to 0.
– Fixed a bug that caused AJAX requests to be sent twice. Possibly caused issues rendering pages and should be resolved now.
– The installer now does a more stringent test and attempts to identify OpenSprinkler machines, only. This should help focus people towards the right IP:port.Update: @andrew I assign my own numbering to preview stations when on a narrow screen using CSS. Unfortunately, I have limited control numbering this way but it is a lot faster then a javascript solution hence why I am using it. Good news is rotating your iPhone clears to the next @media query which shows the full name. For now, I am going to ignore this bug, hopefully not a big deal?
Update 2: All above changes have also been pushed to the hosted version.
SamerKeymaster1) What browser are you using that’s causing the app to render so poorly?
2) You can’t use the :80 since that’s the web apps’s port. I will add some code to prevent you from using the wrong port since this is becoming an issue. In the meantime, just use 192.168.1.50:8080 instead of 127.0.0.1:80 and see if that helps. Just to be clear the web app is asking for the OpenSprinkler interval program IP and port.
SamerKeymasterMake sure there’s no other program that is matching the same time/stations. Also, check the interval app directly and make sure it’s interpreted the same way there. If not, it’s a bug on my end however if they are the same then it’s a bug with the interval program.
Update: On the preview, why does S07,S08, etc not show up? They should…
SamerKeymasterI have noticed the weather issues and trying to figure out what in the world is causing them as we speak! Glad it’s not just me. Sometimes hard to reproduce others instantly.
The timer issue I have also noticed but not sure how to resolve yet. Javascript doesn’t fire an event when waking from sleep so I have no reliable way to know when we drifted. I can use an interval instead and compare actual date. I will try this see how it works.
I like the forum for discussion of new ideas (100% agree) but I think to keep track of things, since development time has decreased, we can use Github. The other plus to Github is if people get familiar with it indirectly they can down the road push updates upstream and allow quick code modification/upgrades.
SamerKeymasterJust run this command from the Raspberry Pi:
/usr/bin/python /home/pi/OSPi/ospi.py
Should at least get the code up. Then you can deal with auto starting?
Update: If it does work just add a crontab line with the following:
@reboot /usr/bin/python /home/pi/OSPi/ospi.py
Update 2: Just to be clear, this method isn’t as robust as a rc.local configuration. But this should at least get you running.
SamerKeymasterYour code is bad…it has the execution line commented out. Anyways, I would use what @JBinkley provided above. Looks like a fantastic script.
By the way the fi is the end if in a shell script so that’s fine.
SamerKeymasterBy the way I just want to thank Dan for building an awesome program for the Pi users! It’s the only reason my app works on the OSPi devices. Major strides have been made in mirroring the feature set and API calls between the two allowing the same code for my web app to work for both.
Fantastic stuff!
By the way, I have one request: As you are installing the app if you run into issues you can solve, please update the wiki with your solution or editing the problem step to prevent the problem to begin with. Nothing fancy just a small blurb would prob help the next user. The wiki is available here: http://rayshobby.net/mediawiki/index.php?title=Main_Page
Thanks!
SamerKeymasterYou are correct, it’s not running. I personally background mine for testing but have never needed/wanted it to start on boot but maybe a ghetto way of doing it is adding a crontab line:
@reboot cd ~/OSPi; nohup python ospi.py &
I haven’t tried that but I think it should work. I might be confusing you in which case just follow Dan’s instructions which is a more reliable auto launcher.
SamerKeymasterOkay, is the port forwarded for your interval program? If not, navigate to your router’s administration page/application and open the port. The port is the one used by your interval application (default: 8080). The IP is the Raspberry Pi’s IP.
SamerKeymasterExtract that now:
tar xvzf ospi.tar.*
SamerKeymasterTry:
wget https://github.com/rayshobby/opensprinkler/blob/master/OpenSprinkler%20Pi/software/demos/interval_program/ospi.tar.gz?raw=true
Directly on your Pi
SamerKeymasterYou need to download the RAW file from Github. Use this link for example:
*** This is becoming a re-occurring issue and needs to be addressed in the Wiki or the documentation for the interval program on your blog Ray ***
SamerKeymasterNothing is required just depends on how you want to set it up.
If you want to install the app and run it from a home computer follow the instructions on the Github page.
If you just want to start using the app and don’t have a server to run the app you can use the hosted version on Ray’s website available here: http://rayshobby.net/apps/sprinklers/. The only thing to keep in mind with this option is you need to forward the port used to the outside. Just Google port forwarding if your unfamiliar with this terminology. The OpenSprinkler natively uses port 80 but your welcome to change it.
If you need further help from here feel free to ask!
SamerKeymasterThe IP your trying to use is a local IP (192.168.0.0, 10.0.0.0, and 172.16.0.0). Since Ray’s server is outside of your LAN the app cannot ever reach your sprinkler (hence the constant spinning).
Sorry for the confusion. I completely understand why it’s confusing. Lets just focus on you installing my mobile app. The only computer you will interact with is your Raspberry Pi. SSH or login to your Raspbian and install apache, php, and git (like the instructions state). Then you will copy the files in using git (instructions on Github).
After that point you should be able to launch the app by going to your Raspberry Pi’s IP on your machine (doesn’t matter if its a desktop or mobile device).
Example: http://192.168.1.50 (notice no port is defined because Apache uses the default HTTP port which is 80).
Now you should be presented with an install screen which helps setup the rest of my app. This WILL ask for your OSPi’s IP and in your case it will be: 127.0.0.1:8080. Just to explain: 127.0.0.1 is a loop back IP that every machine has. It lets you access services. The port 8080 is what your interval program uses.
Hope this helps.
SamerKeymasterThat’s fantastic! Glad the device and my software are catching on! When paired together I think they beat every other solution in terms of price and features.
-
AuthorPosts