-
Notifications
You must be signed in to change notification settings - Fork 277
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Backwards-compatible version of scheduler-feature + more (grouped stations, date ranges, pause/resume) #173
Conversation
…inishfor proof of concept). Additional refactoring.
… times are adjusted such that execution continues
… a string option or not. Also implemented positive pump off time
… to decode at the moment
…h to refactoring all options
…e more robust. Added positive off adjustment
…ge-program(cp) API
This reverts commit 9354d9c.
…o span over new year's day
81aec80
to
b917b64
Compare
I am checking this PR and will slowly integrate all the features into the firmware 2.2.0 branch. I started working on the date range feature without noticing this PR, and found I had similar thoughts (i.e. using the dummy bit for enable_daterange and move the parsing of the date to the UI instead of firmware :). I am going to keep the program name size the same, the reason being that firmware 2.2.0 is going to be compiled with ESP8266 core 3.0.2, with OTC (openthings) cloud connection enabled, and also it has changed to use LittleFS (because SPIFFS has a bug under core 3.0.2). Due to these changes, the flash memory will have to be wiped out anyways, so I am going to keep the program name size untouched (believe it or not, some users find even 32 characters too short...) |
Again, thanks for the PR. Most of the changes are now integrated into firmware 2.2.0 branch, with bug fixes as well. The UI changes are also integrated into the scheduler-ui branch with bug fixes. So I am closing this PR now. |
That's awesome! I'm super excited to see these changes be officially released. |
This PR is a combination of @vsoltan's branch, combined with #171 which I just closed and a few changes on top.
I've edited the structures used in the scheduler-feature so that they maintain the same size, which means you could apply this PR, rebuild opensprinkler, and not lose any of your settings:
A few changes on top of @vsoltan's amazing work:
(month << 5) + day
, rather than4/26
form which makes parsing simpler. Plus it's easier to deal with only 1 form on the frontend.@vsoltan's additions include scheduling programs with group ids, simplifying master station logic and adding support for more than 2, scheduling with date ranges, and pausing the queue.
I've only been working with grouped stations & date ranges, so that's been the most tested by me. There's probably a few more features of @vsoltan's in here that I haven't tested myself.
Most of the frontend work is done too, and I'll PR that soon once I add pause support. The latest version is here.
Testing instructions
If you'd like to test these changes, you'll first need to clone the fork. I recommend doing that in a separate directory so in case something goes wrong, it's easy to revert. Then copy all the
.dat
files holding your settings to the new directory and build.If you need to revert to the official OpenSprinkler software, run the build command and restart command in the original firmware folder (
cd OpenSprinkler-Firmware
andsudo ./build.sh ospi
andsudo /etc...
)The changes for the frontend are not merged yet as well, so you'll need to change your OSPi's frontend url. Go to
http://<address-of-ospi>:8080/su
, and change "JavaScript URL" to https://rianadon.github.io/OS-App/js. Enter your password, and click "submit query". If successful, the frontend should say "unofficial build" at the top.