Sunset trigger in WebCore executes twice

Anyone have an idea why sunset triggers my pistons more than once?
I also get the same thing with a time event triggering twice.
@gopher.ny Maybe an HE thing issuing the event more than once?

Sunset

Every Hour
image

what version of webcore?

The lastest you have up.
3.114 in WC
v0.3.114.20240115_HE - February 24, 2024' WC Piston

set logging to medium then pause / resume the piston and show me the logs

Paused/resumed both; not much there.

app:122024-02-27 13:21:25.865tracebroadcastPistonList sent

app:122024-02-27 13:20:21.718tracebroadcastPistonList sent

I do notice lately when pausing/resuming a piston I'll get a warning which isn't true.

are you in the northern or southern hemisphere?

on a separate thought, wild thought here, wondering if Hubitat is waking the piston up seconds before the actual sunset, say at :00 seconds when sunset calculation says :03 seconds, with the platform being much faster to execute than ST, there is a possibility the code executes before the actual sunset and the next sunset happens in a few seconds, thus the repeat run? meh, no… lol

Yes, I'm a Northerner :wink:
You hypothesis might work for one but the other one (Time Happens) fires a 2 minutes later. :frowning:

you need to set the log to full and wait for sunset to happen (or alter the sunset to use an offset that puts it a couple minutes into the future for a shorter wait).

Then we can try and debug things…

I'll try that tomorrow morning.
Tried it tonight but WC still thinks I'm in the Pacific without a reboot.
WAF to consider. :smile:

if !WAF {
replace(H)
}

that’s bad

LE: bad coding, I meant :rofl:

Tried to trick HE/WC this morning but even though the hub was now happy in Central Africa WebCore is smarter and still thinks I'm in the Pacific NW.
Some brilliant programmer saw that coming. :rofl:

I'll wait for the real sunset tonight to catch the logs.

eez just a bug LOL

You can easily shift the sunset by simply using an offset. If 360 minutes to sunset, use an offset of negative 365 minutes so you only wait for 5 minutes. If after sunset, use positive numbers, you get the point

Ran only once, no logs produced in WC at Full.
just this as expected, app:15942024-02-28 10:31:00.271info ║║ Blinds evening delay -73

Last night it ran twice at sunset:
app:16552024-02-27 18:38:01.090info ║ Blinds Evening
app:16542024-02-27 18:38:00.917info ║║ Blinds Evening

What do the single and double bars mean in the Log string? Maybe a clue?
There is the same thing with the Good Day issue as it ran twice today:
app:16552024-02-28 08:18:21.233info ║ Good Day
app:16542024-02-28 08:18:19.657info ║║ Good Day

Both these scenarios execute the same 2 lines of code so that may be the issue; calling multiple Execute Piston?

We are talking about the logs the piston itself
produces in the piston view page, do you have anything there?

Ah, I turned on full WebCore logging where there was nothing in the system logs.
I had logging in the actual piston on and it ran only once.

I turned on logging in the WebCore app | Blinds Evening and Good Day piston and will capture those.
I forget those are there as I never access the WebCore app through the little expand arrows.

image

image

PS: Where do the app identifiers come from? I notice the logs show duplicate entries but each line says 1655,1654, not the same.
I can't find a list anywhere in the HE UI. Are they dynamic or do they point back to a piston?
This would give me a clue to the double execution.

I see the issue, and I'm testing a fix. Will post an update once testing is completed

3 Likes

Impressive. I really didn't have any hardcore trail for you to follow except the first log posts.

Just in time for daylight saving time madness.