Break it down and think of it as three time periods:
- From Thanksgiving through the end of the month of November;
- The entire month of December;
- The part of January before the 6th.
Thanksgiving is the fourth Thursday in November. That’s resolvable with a Weekday condition as a single-day test. To get the period through the end of the month, we’ll play a little date trick: the earliest date that can be the fourth Thursday of November in any year is the 22nd, so the longest range of time from the fourth Thursday of November to the end of month would be from 11/22 to 11/30. If we AND those two conditions together, they will only be true on the fourth Thursday, that one day. But, if we latch the Weekday condition, then once it goes true on the fourth Thursday, it stays true. It will stay true as long as the other (Date/Time) condition in the same group remains true. So that covers Thanksgiving through the end of the month.
Tests 2 and 3 are easy, just date ranges. Now, if you think about it, ranges 2 and 3 can be combined into a single Date/Time range from 12/1 to 1/6. Easy.
We could stop there and just implement it like that in an OR group, but it turns out, we can even combine the last Date/Time condition (12/1 - 1/6) with the earlier one paired with the Weekday condition. We really only need our two conditions in an AND group to do the whole thing.
The result is so simple to implement (but maybe not think about/dream up) that I think you’re going to be blown away:
Make sure you make (only) the Weekday condition latching.
Now, since we’re past Thanksgiving already, this condition can’t trigger immediately, so we need to give it a little help. After setting up the conditions and saving, go to the Tools tab, and set the “Test Date” to Thanksgiving Day (which was 11/26). Then go to the Status tab, and very important when asked if you want to restart the RS, click Cancel. Then, go back to the Tools tab and turn off the “Test Date” checkbox, go back to Status, and again, click Cancel when asked if you want to restart the RS. The group should hold true in the status at this point, and you’re in real time. It should be good this year until 1/6, unless you restart somehow otherwise (then just go through the Test Date machinations to get it back on). Left to itself, next year, it should go true on Thanksgiving Day.
To add control of lights or other devices at specific times, use a Group State condition specifying this group, and AND it with whatever time restrictions you need to place on the devices.
Additional Theory of Operation
The Date/Time group will obviously go true and stay true from 11/22 to 1/6. Because it’s in an AND group, the group itself cannot go true until the Weekday condition is met. Because we made the Weekday condition latching, once it goes true, it stays true, and it will stay true until the group its in goes false. The group can only go false when the Date/Time condition goes false (midnight on 1/6). At that point, the latch reset. Since the conditions are false, the group will be false, until next year…