tagyoureit / nodejs-poolController

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

[BUG] Schedule not turning on after first day #972

Open celestinjr opened 3 weeks ago

celestinjr commented 3 weeks ago

nodejs-poolController Version/commit

8.0.1/0e291ca

nodejs-poolController-dashPanel Version/commit

8.0.0/d4f24a2

relayEquipmentManager Version/commit

14b2b6a

Node Version

v16.16.0

Platform

Linux nixie-poolcontroller 6.1.21-v7+ #1642 SMP Mon Apr 3 17:20:52 BST 2023 armv7l GNU/Linux

RS485 Adapter

BAS passthrough

Are you using Docker?

OCP

Nixie Standalone

Pump(s)

Pentair Challenger 1 Speed

Chlorinator(s)

AquaRite

What steps will reproduce the bug?

Leave njsPC running for more that one day.

What happens?

The spa schedule (ID 1) in the attached replays will turn on between 0900-0930 as intended on the first day after starting njsPC. The next day, the schedule does not turn on.

What should have happened?

Schedule ID 1 (Spa) should turn on daily between 0900-0930.

Additional information

I do not see any logs in the replay at 0900 the second day. Restarting njsPC while the schedule should be running seems to address the issue, until the next day. Trying to nail down the specifics has been difficult, since it takes a day to test.

Could this be related to https://github.com/tagyoureit/nodejs-poolController/discussions/963? I will start with a fresh install if needed but would prefer to try to identify the issue first.

2024-06-11_11-05-53.zip (Spa schedule triggered correctly) 2024-06-12_09-20-02.zip (Spa schedule did not trigger)

rstrouse commented 2 weeks ago

You have a pool and spa schedule that overlap. Are you running the spa to just run water through the pipes. If you are you should consider setting up a spillway circuit. This way it is not actually engaging the spa.

celestinjr commented 2 weeks ago

My intention was for the spa schedule to end when the pool schedule starts, not for them to overlap.

I prefer to run the spa for a few minutes a day at least to circulate water through the bottom and spa suction piping. Can those two schedules not share an “end (spa) / start (pool)”time?

I noticed the “triggered” property never resets to false for my spa schedule. Reading some other discussions, I believe it should be reset to false at the end of the schedule and/or at midnight. Is this correct?

rstrouse commented 2 weeks ago

@celestinjr that is correct. When it recalculates the next schedule date it should be setting the triggered flag to false.

celestinjr commented 2 weeks ago

Based on poolState.json snapshots, it does not appear to be resetting the triggered flag for the spa circuit (circuit 1). The below are 2 minutes apart just before and after midnight last night.

I'll capture a replay at that time if it would be helpful.

image

rstrouse commented 2 weeks ago

You are correct on this. I will get some time this weekend to take a look at it. The new start/end times have been calculated but the triggered flag needs to be reset when there is a new start time.