#Propagate "window open" for thermostats to adjacent rooms

4 messages · Page 1 of 1 (latest)

tired island
#

Hey HA automation geeks, since winter is approaching, I've turned the piggy bank upside down and out fell enough money to outfit all my windows and doors with sensors, as well as replace all my ancient expanding-oil thermostats with digital ones.

I've got a nice setup to disable those whenever an external door is opened, and it's working nicely enough.

Now what I want to do is, propagate the off or on command to adjacent rooms if the internal doors are open. That is to say, if a window gets opened in the living room, and the door to the hallway is open, I want the thermostat in the hallway to turn off too.

I think the best way to do that would be to set a semaphore variable in the living room automation and use that together with the hallway door sensor as a trigger for the automation controlling the thermostat in the hallway and so on.

Now the fear that I have is that the system might get stuck or disjuncted if the conditions change in an unexpected way.

I'd love to hear everyone's ideas about how to build the interlock in such a way that the propagation of the condition throughout the house cannot break down.

brittle pond
tired island
#

Turns out my gut feeling was right. Consider the following scenario: Room 1 turns off and sets its semaphore because a window gets opened. Since the door to the next room is open and the semaphore of Room1 is set, Room2 also turns off and sets ITS semaphore in turn. Now the window gets closed again. Room1 would turn on, but since the door is still open to Room2 and Room2's semaphore is set, it can't. And already we are standing on our own hands and can't move. I think I'll have to look into events to build this.

late sandal
#

Are you only wanting to propagate to the immediately adjacent room? I haven’t thought completely through this, but hers an idea anyway:
Using customize: add an attribute to every door called adjacent_areas which contains a list of the areas on each side of the door.

When a window is opened, look up what area it is in, and then generate a list of all opened doors and filter that list to ones that have the adjacent_areas attribute and that attribute contains the area the window is in. Then, turn off the thermostat in every adjacent_area.