๐Ÿšท Automatic Room Occupancy

Hi :slight_smile:

First of all, thank you for this blurprint.

maybe you can add a sensor for humidity. so when you are in shower it knows you are in the rum an will not turn off the light :slight_smile:

It would be nice to have an option if a light or light group is triggered manually/locally, then reset the timeout timer. I understand that sometimes motion detectors can be less than perfect, so sometimes I have to hit the light. I also see it as beneficial if there are NO other sensors in the room (motion/media/presence, etc.)

Could be optional and an added feature to integrate under one blueprint.

Nvm. Still posting before I troubleshoot. Should have learned by now.

Adding a request for this.

If occupancy is on for any defined room, and the household changes to not_home and guest input boolean is off, then turn off occupancy input_boolean for that room.

Iโ€™ve covered with adding to away script triggered by automation, but would prefer this being a part of the blueprint.

Thanks!

This is a great idea, as a person that spends a lot of their free time on the computer, my computer being in use could be pretty useful data for room occupancy. Maybe you could work IOT link sensors into this?

1 Like

I believe this is not working on the motion side if presence sensors are additionally used. I am finding that when the bluetooth goes โ€œoffโ€, it overrides all of the above including motion + timer.

I will work to improve the blueprint on my side (@gdeboos) with over 1K clicks, do you intend to maintain this further?

There is indeed a bug in the motion timeout logic. You need to change the following variables in the blueprint to make it work:

motion_timeout: '{{ states(''input_number.motion_occupancy_timeout'') | float(10) }}'
motion_last_changed: '{{ states[motion_sensor].last_changed.timestamp() | float(0) }}'
motion_is_timed_out: '{{ (time_now - motion_last_changed) > (motion_timeout * 60) }}'

motion_timeout had no default value and wasnโ€™t converted to seconds for motion_is_timed_out.

1 Like