Rooms Manager: Smarter Rooms: Personalized home automation with Occupancy



they also know that the error only started after moving to the samsung account?

(Jane) #1069

They say it is working now but it isn’t. There was this error:

5e18e06c-7d86-4b48-9bc2-eea82f5dd724 8:11:19 AM: error groovy.lang.GroovyRuntimeException: Could not find matching constructor for: java.util.Date(java.lang.Long, sun.util.calendar.ZoneInfo) @line 4466 (processRules)


seems to be same error as before.

when you check the location information is the information here correct?


(Brad) #1071

There looks to be a bug introduced in a previous commit of yours.

The code started throwing an error of “groovy.lang.GroovyRuntimeException: Could not find matching constructor for: java.util.Date(java.lang.Long, sun.util.calendar.ZoneInfo)” on June 6, the day after you made updates to the code. I see that there are changes to your date formatting and would look into that, such as this:

The issues reported by pcgirl65 are unrelated to account migration as the errors started 2 days after migration. My guess is the repo wasn’t updated until that time at which point the errors started.


ahh ok. understood the error started with the account migration. thanks for confirming it did not … will dig and fix.

thank you.

(Jane) #1073

The issues did start after the migration. I just didn’t contact them until two days later. I am having other issues since migrating also. Some of the Routines aren’t working such as my Night Routine which is supposed to turn lights off when Motion Detection has stopped. This isn’t working. And Good Morning isn’t working when Motion Detection starts.


got it. cant help with the other issues … hopefully ST will work with you to get those resolved.

but for this i plan to take a look and see if i can get it working by doing something different. will post an update with that before eod. please give that a try and let me know how it goes.



updated to github with following changes:

*  Version: 0.50.0
*   DONE:   6/30/2018
*   1) added icons to main settings page for a room in hubitat. ST already shows these icons on the settings page.
*   2) added option to hide advanced settings.
*   3) added setting to adjust cooling and heating temperature by 0.5ªF when outside temperature is respectively over 90ªF and below 32ªF.
*   4) rewrote temperature management to be more consistent.
*   5) cleaned up rooms manager settings.
*   6) added option for how often device health message should be announced.
*   7) fixed a bug here and there.

(Jane) #1076

It seems to be working!:grinning: I have a question though about the app…when we set up rules do we still need to set the lights to turn on in the Occupied and Engaged Settings? I don’t have anything set for "Which Switch turns ON " in the Occupied and Engaged Settings because I have rules setup. It seems to work but just wondering if I am missing something.

(Jane) #1077

Also, does the same program work in Hubitat? After having a number of power outages lately, I am thinking of maybe trying Hubitat out.


glad to hear its working now. sorry for the trouble you had after the ST account migration.

yes. wanted the user to have the flexibility for which lights/switches turn on in occupied state vs in engaged state and maybe use different level settings or colors for each of those states. you dont have to … but the rules give you the flexibility of doing that.

if in both occupied and engaged state all of the same lights/switches should turn on with the same level/color temperature/color … just create one rule where both occupied and engaged states are selected and set which switches to turn on optionally with level, color temperature and color.


(Xernomis) #1080

I’ve just discovered this fabulous code and am testing it on a few rooms in my house.

Two things I’m not quite clear about:

  • Why do some stall in “checking”? I think I have the rooms configured the same as others but I have a room or two that just sit in that status indefinitely. I’m not using the “engaged” logic as I want to keep things simple as to just “occupied”.
  • How does the maintain temperature really work? For instance, in one room with a thermostat I have a rule to set the cool thermostat at 78 when occupied and 82 when vacant. The vacant rule is not executing regardless if the room is showing vacant. Is there a timeout or something else here? I’ve also seen the thermostat lower to 77, which I assume is because of the room sensor variance. That’s fine, but why not the change in setpoint when the room goes to vacant?

Thank you so much for this great code. It’s the first I’ve seen to accomplish what I need to move over from my old automation server.


thats awesome to hear.

strange. are you using the latest code - version 0.50.0? what is the timeout setting for checking state?

what i found was occupied works well if you are moving around in a room. but if you are sitting and watching TV you are likely not moving enough to trigger the motion sensor and keep the room occupied. couple of choices here:

  1. wave your arms vigorously so the motion sensor sense motion and keeps the room occupied :slight_smile:
  2. use a sensor to keep the room engaged so you dont have to engage in #1 above frequently

in the latest version temperature i may have introduced an unintentional bug. will take a look at this and make sure the temperature management is driven only by the rules even in vacant state.

note that if you have a single whole house thermostat and are not using automatic vents or in room ACs / heaters … probably best to just set the temperature setting in one room to turn it on and off because its always cooling all areas and has no way of really controlling per room temperature.

thank you for the kind words … this is music to my ears.

(Xernomis) #1082

I’ve just updated the code to the latest you have posted. Will see how the “checking” thing goes.

I understand your reasoning for “engaged” and I’ll probably use it at some point. With that said, I’m coming off an automation server setup I’ve been using for basically 20 years using old X10 motion sensors. My logic to mark a room as “occupied” there was simply how long as it been since a sensor in that room has seen motion. Nothing more fancy. I’m trying to duplicate this same kind of simple logic for now in your code to see if I can replicate the functionality of what I’ve used in this code. For my purposes, a room is either occupied or vacant.

I’m noticing that the “checking” setting is now gone in the room configuration so maybe something you’ve changed (used to be under the “engaged” setting).


I have two HVAC units and have only one “room” assigned to monitor the one I’m testing.

Thanks for all your work. I’ve had this Smartthings hub for a year and while I’ve played around with trying to replace my exisiting system here and there over that time, no solution looked to solve what I needed. Your work seems to duplicate what I’ve been doing so I’m excited to see if I can retire the old girl. :slight_smile:



understood. once everything works with occupied and vacant may be then explore other settings to take advantage of everything else that is possible.

see the screenshot below. this is what the current version of the settings page looks like. if you turn on easy settings or hide the advanced settings it looks different. if you are not seeing the checking settings turn off the hide advanced settings if that is on and you should see it again.


you are quite welcome. thats awesome to hear that this app might be able to replace the old girl and become your new girl. :slight_smile:

please feel free to ask questions if i can clarify anything or to suggest features if there is functionality i could add.

thanks again.


working on updating docs with a feature list at the top because i know like me most people enjoy reading all the rest of the docs :wink:

once finalized will probably add these at the top of the main post …

Here is a summary of features for the quick reader.

  • Rooms settings:
    • Manage room occupancy state with:
      • Presence sensors.
      • Motion sensors.
      • Contact sensors.
      • Music players.
      • Button pushes.
      • Switches on and off.
      • Power wattage.
    • Create rules based on:
      • For all rules:
        • Room occupancy state
        • Hub mode
        • Day of week
        • Lux value
        • Humidity range
        • Date filter
        • Time trigger
      • For temperature rules only:
        • Temperature
    • Rules allow you to:
      • For execution rules:
        • Turn on and off lights / switches.
          • Auto adjust level and color temperature when turning on lights.
          • Set light color when turning on.
        • Setup recurring schedule for holiday light shows including annually recurring holidays.
        • On Hubitat send any command to any device.
        • Run pistons.
        • Run routines.
        • Start and stop music players.
        • Set window shade position.
      • For temperature rules:
        • Maintain room temperature with thermostat or in-room AC and heaters.
        • Turn fan on/off and manage fan speed with room temperature.
        • Control vents with room temperature.
    • Other settings:
      • Setup multiple color routines for holiday light shows.
      • Turn on night lights with motion while room state is asleep.
  • Rooms occupancy device settings:
    • Set alarm to play on a daily or weekly schedule for each room.
  • Rooms manager settings:
    • Check and announce device battery status.
    • Check and announce device health monitoring status.
    • Announce arrival and departure including with randomly selected messages.
    • Announce time every quarter, half or on the hour.
    • Announce sunrise and sunset.
    • Announce when door stays open.
    • Announcements support speakers and / or lights for making announcements.

(Brad) #1085

Thank you for the fixes!

I have been monitoring the errors on our end and the errors went from ~1,500 a day to zero as users have updated the code!


sure thing.

thanks for sharing the data point … they are always helpful.


UPDATE: updated to github with the following changes:

*  Version: 0.52.5
*   DONE:   7/9/2018
*   1) added occupany icon to rooms device state for use with Hubitat.
*	2) added icons to settings for rooms device for Hubitat
*	3) added icons to settings for rooms manager for Hubitat
*	4) optimized performance of device health check on Hubitat.
*	5) started cleaning up code for room state replay.
*	6) added option to announce sunset and sunrise with speaker along with the color option that was already there.
*	7) added more granular control for window shade level.
*	8) added processing for room cool or heat rules on room state change.
*	9) swatted a bug here and a bug there.