tagyoureit / nodejs-poolController

An application to control pool equipment from various manufacturers.
GNU Affero General Public License v3.0
325 stars 94 forks source link

superChlorRemaining does not count down #312

Closed dnikles closed 3 years ago

dnikles commented 3 years ago

When I set SuperChlor through dashpanel, the timer starts counting down on the web page. If the page is refreshed, the timer begins again. I think the countdown is only in the web interface and isn't actually happening on the controller end. When I curl state/chlorinator/1, the superChlorRemaining is always equal, in seconds, to the superChlorHours in hours, it never gets smaller.

To Reproduce Superchlorinate through dashpanel

Expected behavior Dashpanel and API would show amount of time remaining for superchlorinate

Pool Equipment

Additional context I am running the controller in docker from this image https://hub.docker.com/r/msmi/nodejs-poolcontroller

tagyoureit commented 3 years ago

This is expected behavior. EasyTouch only ever tells connected clients about the number of hours. If there are 5 hours left, we can't be sure if there are 4 hours, 59 minutes left or 4 hours, 1 minute left. If you don't refresh your browser, it should be pretty accurate. When EasyTouch tells us there are 4 hours left we'll adjust the countdown and start counting down from that time.

If we tried to synchronize the time between the browser and njsPC there would just be too much traffic and it isn't worth the overhead.

Incidentally, IntelliCenter reports down to the minute so you would see the same behavior if you refreshed the browser before the minute ticked down.

dnikles commented 3 years ago

Even if I wait hours later it doesn't change. Is that expected?

On Fri, Jun 4, 2021 at 11:25 AM tagyoureit @.***> wrote:

This is expected behavior. EasyTouch only ever tells connected clients about the number of hours. If there are 5 hours left, we can't be sure if there are 4 hours, 59 minutes left or 4 hours, 1 minute left. If you don't refresh your browser, it should be pretty accurate. When EasyTouch tells us there are 4 hours left we'll adjust the countdown and start counting down from that time.

If we tried to synchronize the time between the browser and njsPC there would just be too much traffic and it isn't worth the overhead.

Incidentally, IntelliCenter reports down to the minute so you would see the same behavior if you refreshed the browser before the minute ticked down.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/tagyoureit/nodejs-poolController/issues/312#issuecomment-854812661, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEHXED3HYQNOBFUPHYNEOMDTRDV45ANCNFSM46CP4V6Q .

tagyoureit commented 3 years ago

No, that is not expected.

If you go to the OCP (outdoor control panel) or ICP (indoor..) or SL (screenlogic, if you have it) and set the superchlor hours, does it correctly show up in njsPC if you set/change it there? Do you have any trouble setting the chlorinator set point or any other circuit, pump state?

If that works, then we'll have you submit a packet capture and see what's going on internally.

dnikles commented 3 years ago

I'll give it a try on the outdoor control panel. I've never set superchlorinate there, I've only set things to service mode and done it from the chlorinator itself. I'm not very familiar with this stuff so it could very well be something I'm doing wrong on my end.

On Fri, Jun 4, 2021 at 11:53 AM tagyoureit @.***> wrote:

No, that is not expected.

If you go to the OCP (outdoor control panel) or ICP (indoor..) or SL (screenlogic, if you have it) and set the superchlor hours, does it correctly show up in njsPC if you set/change it there? Do you have any trouble setting the chlorinator set point or any other circuit, pump state?

If that works, then we'll have you submit a packet capture and see what's going on internally.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/tagyoureit/nodejs-poolController/issues/312#issuecomment-854831651, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEHXED5RMZ7M2L2PAU35JB3TRDZGLANCNFSM46CP4V6Q .

dnikles commented 3 years ago

I checked it on the outdoor control panel, and now I'm seeing the correct values in the API and the dash panel. I don't know if it had to intialize on the control panel first somehow, I had never been in the chlorinator section on there. Nevertheless, it is working in the manner you suggested, rounding up to the next hour. Thank you.

tagyoureit commented 3 years ago

Let us know if you continue to have trouble setting it from njsPC/dashPanel.

dnikles commented 3 years ago

Ok I checked it again, after it should have been done super chlorinating by an hour or two, but it still showed 2 hours left through dash panel and the API. I captured logs and had it reload config to capture the logs. After doing that, it is showing the appropriate status of the chlorinator. I did not check if the chlorinator was actually superchlorinating when it showed it was, before the reload. replay1704.zip

tagyoureit commented 3 years ago

Ok, thx. I'll take a closer look later (I have ET2-8.). I also see it's resetting the timer even if we open up the chlorinator settings pop-up so there are likely some changes we can make here to improve the experience.

tagyoureit commented 3 years ago

I updated the UI so it won't restart the countdown timer just because you opened the pop-up.

However, I can't tell exactly what's going on with your pool. At some point, njsPC thought the system was doing a super chlorinate, but in the files you sent me the pump is off and the OCP never sent any updates. When OCP is in super chlorinate mode, it will force the pumps to be on.

If you can create a longer packet capture where you can start the super chlorinate, and then get it in a state where it is inconsistent with the OCP that would be helpful.

dnikles commented 3 years ago

My wife did a super chlorinate 2 days ago but it was still showing super chlorinate in dash panel. It was not still super chlorinating at the chlorinator though. I didn't get to grab logs before she did that, I'll try getting that next time.

tagyoureit commented 3 years ago

Please re-open if this is still happening.