[NEW APP] Room Lighting

Yes, but you'd have to set up the seasonal schedules with Rule Machine. Within Room Lights you can disable Activation by using a Boolean Hub Variable, and re-enable as well. So you'd have a Rule in Rule Machine that sets that variable based on the dates for the seasons.

Suppose you want to have a Holiday Lights Room Lights setup that you only want to run between November 15 and January 5. You'd set that up in Room Lights, and use a Hub Variable to disable/re-enable. This rule below would do that for you. Note that Room Lights disables upon a Boolean Hub Variable becoming true, so I named the Hub Variable "Not during Holidays". So when November 15 rolls around, it gets set to false, which enables the Room Light app, and then on January 5, it gets set to true, which disables the Room Lights app. This rule offers virtually zero overhead, as it only runs twice a year.

Incidentally, after setting all this up, you'd want to flip the variable back and forth from Settings / Hub Variables, both to test and to get the Room Lights app into the right state (i.e., disabled for now).

Conversely, it can be handy to have RM set a "Restrict Outside Lights" virtual switch to "On" at various points throughout the year (and restores the VS to "Off" 12 hours later). All other RM and RL rules involving outdoor lighting (Front Porch, Spotlights, etc.) contain a prerequisite condition that this switch be in the "Off" position in order to proceed.

You may ask:

WHY A SWITCH AND NOT A VARIABLE? I could have used a Hub Variable and created a Variable Connector for it, so that's a perfectly viable alternative. But so long as I have an entity that can be seen/controlled by me, Alexa, Dashboards, etc. this setup works fine.

WHAT TIME(S) OF YEAR IS THIS FOR? Here in the Deep South, we get swarming termites that appear suddenly, and the best way to prevent them entering your home is to turn off all the lights.... quickly! I can turn on the VS mentioned above for as many nights as we expect termites to be flying through the neighborhood.
Secondly, nights like Halloween, which I can set for "October 31 at 5pm" in RM, or July 4, New Years Eve, meteor showers, etc. benefit from having outside lights remain off.

Hope this use case comes in handy for someone.

(POTENTIAL BUG WITH FORCE)

If I understand the use of FORCE, all it does is force an on or off command regardless of the state of the device. If this is correct, there appears to be a bug if you have ACT unchecked, OFF checked and FORCE checked. In this scenario, the light gets turned ON even though ACT is not checked. I have included copies of the rule and logs with FORCE checked and unchecked (I made sure I hit done this time :grinning:)

FORCE UNCHECKED


FORCE CHECKED


1 Like

When I open a sub-app of room lights, I get the following error:
app:832022-09-23 09:05:27.920 amerrorjava.lang.NullPointerException: Cannot get property 'id' on null object on line 89 (method mainPage)
The instance of room lighting is still operating. I cannot delete or modify the instance. Updating to 2.3.3.121 did not resolve the issue.

Something is corrupted with this instance. You will have to remove it and recreate it.

1 Like

To delete the child app, even if you can't open it normally by clicking on it, you can click on the gear icon to the left of the child app and scroll down to the bottom of the page that opens and click the Remove button.

image

image

1 Like

Under the page "Set Up Lighting Periods", there is an option "Use Stay Minutes Per Mode for motion stays". I would like to wait on motion inactive for different length of time for each mode. For example, in the evening for 15 minutes and 1 minute at night. Is this what this option does? The language is a bit confusing.

I am not sure the stay time on activation makes any sense. I used the preset off stay time for my purposes.

Hi @bravenel

I did post in a new topic but think it will get more action here.

Please could we get an option to activate a random colour on an LED strip/bulb in room lighting. It is an option in Motion and Mode lighting. I use this for the bathroom at night so as not to fully wake the person and it is one of the most "liked" options I have had from guests. Currently it lets you choose a colour but just adding in the random would mean I can remove Motion and Mode lighting.

Please please

1 Like

I am trying to use Variable Become False as a means to turn off the lights. What I am finding is the list of variables to choose from in Room Lighting consists of variables that were present when I created the rule, not what they currently are. I have been unable to figure out how to refresh the variable list. Am I missing something obvious or could this be a ?

This is happening on the latest version. I updated this afternoon.


have you tried hitting refresh on the front page of the app?

I have to be blind but do not see a REFRESH button anywhere.

Hitting the Update button on the main page should do it.

3 Likes

OK, I was looking in the app, not the browser. I tried it, do change. Anymore ideas before I tag bravenel?

sorry meant "update" not refresh

1 Like

Thanks. That did it.

It looks like there is an issue with level pre-staging and this app.

I have a device (GE Enbrighten zwave switch) which has level pre-staging enabled and this works as expected in my rules in Rule Machine (setLevel() alone does not turn on the device).

However the Room Lighting app doesn't understand when level pre-staging has been enabled for a device and expects the light to turn on with a simple setLevel() which of course doesn't work. The workaround is to disable level pre-staging on the device however that results in functionality loss. Can this be fixed?

2 Likes

None of the apps have support for pre-staging, except for RM where I assume you're doing custom actions for presetLevel() or separating setLevel() and on(). This is tough given how few devices support this.

Is this a built-in driver or a custom driver? The driver should use presetLevel() nowadays (part of a new-ish capability), rather than a level pre-staging preference; then you don't lose functionality, and apps won't work in unexpected ways in terms of how setLevel() normally works. Some (built-in) drivers were changed a while back, though I don't think all were. If it's a custom driver, I'd work with the developer to let them know; if it's built-in, they may be able to address this in the future.

1 Like

No, there isn't such a capability. This is a documentation error. It is not supported.

This is not in our plans.