PLEG scheduling problem

I am trying to find a solution to the following problem, and whatever i try it doesnt work. I think i have a mental block.
Here is what i am trying to do.
WD1 is supposed to switch on 21.30 weekdays Monday to Thursday, switch off 04.50 am. Important, it has to be off (false) from Friday morning 4.30 am
WD2 is supposed to switch on 21.45 Friday, switch off Saturday morning 7.20 again, needs to stay off (false) until next Friday evening
WE1 is supposed to switch on 22.00 Saturday and Sunday, switch off Sunday morning 7.20 and Monday morning 4.50, and again should be switched off (false) until the next weekend

I have got this but as you can see my WE1 did not switch off Monday morning and stayed true
It has not gone through a full cycle yet, so i have 0 for the WD2 but i can see it still is not right

WD1 Weekly 21:30:00 1,2,3,4 None Weekly 04:50:00 1,2,3,4,5 None false 2013-09-06 21:30:00.166
WE1 Weekly 22:00:00 6,7 None Weekly 07:10:00 6,7 None true 2013-09-08 22:00:00.209
WD2 Weekly 21:45:00 5 None Weekly 07:20:00 6 None false 0

The way you have it
WE1 goes on on Sunday @ 22:00:00 and will stay on until the following Saturday @ 7:10

You want to turn WE1 off on Sunday and Monday mornings!

This is why I think Delta Times are easier to understand.

Since all of these intervals are supposed to be orthogonal …
You should see only one reference to each day in the ON Column and the Off Column.
The Ons look good … you need to work on the Offs.

I could add an off time to WE1 on Monday, but that would then be 7.20, not 4.50. That was one of the reasons i introduced a WD2 also wanted a later on time for Friday, but main reason was it did not switch off over the weekend
So i am still struggling to get what i want. The problem is only as it is going over to the next day. I could use the ‘stay on for x mins’ feature, i just thought it is easier to see and change the off time if i wanted to change it.
I want to use this for 3 different things, which all come on different times (AC, Heating and Hot water), so one i have this figured out i can just easily replicate it and just change the times for the different purposes

Remember if you turn ON at night … (Day N) you need to turn OFF the Next Day (Day N + 1)

but i cannot have different off times in one schedule, so have WE1 turn off 7.20 Saturday and Sunday, but turn off Monday 4.50

maybe thats something for a feature request. If you could have one schedule, where you can have different on/off times for every day ?

You can’t have different times … and also it does not make sense for it to turn off on Saturday … Since it does not get turned on until LATE Saturday.

Sounds like You need a WE1 for Saturday (On Sat, Off Sun) and a WE2 for Sunday (On Sun, Off Mon)

Similarly it does not make sense for WD1 to turn off On Monday morning … Since it is first turned on at Monday evening.

I have gone to use the ‘on for x mins’, just about to test it, but i think it will work now. Last time i tested it only stayed on for a few minutes, then gone back to false. Having tested it yesterday evening for a few hours it seems to say on true until switch off time, which is great.
For me it made sense to have a switch off Monday morning, and switch on again Monday evening. I use this particular schedule for my AC, which i want to be onb late evening and then off early mornings. But you are right, it is easier to achieve with the time on for x mins. At least until there will be a feature to have seperate on/off times for every day, or even multiple different on/off timnes per day. If you ever decide to implement this, i think it would not just be me who would use that feature or find it very useful. It would making programming schedules easier and more flexible

I am going from this

AC_On BedroomHot1 and AC_Auto_ON and (((WeekdayOff1; WeekdayOn1) and WE==0) or ((WeekendOff1; WeekendOn1) and WE==1)) and NOT WindowOpen

to this with the improvements from the last update

AC_ON_test2 BedroomHot1 and AC_Auto_ON and (WD1 or WD2 or WE1) and NOT WindowOpen 2013-09-07 19:12:10 false

which could be simplified again with my suggestion

AC_ON_test3 BedroomHot1 and AC_Auto_ON and WD and NOT WindowOpen

We are definitely moving in the right direction.
You can get close to the last by adding the intermediate condition today:

WD WD1 or WD2 or WE1

The first one definitely hurts the brain to try and parse!