Wouldn't it be easier to connect the window switch to INT1 and use sleeping?
int8_t sleep(int interrupt, int mode, unsigned long ms=0); int8_t smartSleep(int interrupt, int mode, unsigned long ms=0);
I'd say the advantage of this is:
Very low power sensors, since they are essentially completely turned off most off the time.
Controllers don't need to implement a new MySensors type. To them it just looks like a normal binary switch