Help combining three shades as one

She says the same thing to me but does it anyway. Alexa is fickle.

Here you go. Note that I renamed the child app as "Shade Control Instance"

Parent App "Shade Controls":

Child App "Shade Control Instance":

4 Likes

Thanks, @alexcapone !

Quick question for you... So I created a virtual shade called "Bedroom Shades." Added the parent/child apps and created an instance called Bedroom Shades, setting the virtual shade group as the control and my 2 bedroom shades as the devices to control. If I set level or position with the virtual shade in hubitat to 50%, both shades close completely. If I try 75%, they open up completely to 100%. Am I doing something wrong? Thanks for any insights.

Edit: Ok I think I got it working. Set had to remove the line in the child app for setLevel as it seems my drivers don't support that setting. Also set the transition time in the virtual shade to ASAP. Looks like its working as intended. Thanks so much!

I actually had a similar problem. When I was setting position by % the group shades were overshooting and coming back to the desired position. Once I changed transition time to ASAP it worked perfectly.

@alexcapone Quick question. I had the previous version of the shade controls app (no child instances) setup using two physical shades and a virtual shade for control. Then, when you updated the app code to create child instances I created one for those two physical shades. However, the physical device still shows as 'In Use By' the master app 'Shade Control'. Is there a way to clear this, I dont believe it interferes with the performance of the virtual shade and the use of the child instance, but it just doesnt seem right.

Any help appreciated.

I'm not really sure about that. Do you still have the previous version of the app as well? If so, I would start by deleting that first.

Unfortunately I have no way to compare to my shades because I was using HubConnect to bring my shades from Smartthings to Hubitat. However, that integration broke a few weeks ago.

The app was never truly deleted. I simply opened it to edit, erased all, and pasted in new code. So, the next question would be, what happens to the child instances if I delete the parent app and then recreate it? Will they still be connected to the parent app by name or if not is there a way to reconnect, or associate them to the new parent app?

I'm not sure about that as I've never tried doing that. Maybe @bravenel would know?

Editing the parent app would have no direct impact on the child apps, provided its name remains the same, and it's the same source 'file'. There is no way to reconnect or change the parent/child association of child apps. Deleting the parent app would delete all of its child apps. But, editing it, even by wholesale replacement, will not change the parent/child association (thankfully). Think about it, we have to make changes all of the time to parent apps and child apps, without upsetting the apple cart.

Worked like a charm! Thank you!

I keep getting this error in logs for 'Shade Controls':
2022-01-16 10:35:20.992 pm errororg.codehaus.groovy.runtime.metaclass.MissingMethodExceptionNoStack: No signature of method: user_app_hubitat_Shade_Controls_596.handler() is applicable for argument types: (com.hubitat.hub.domain.Event) values: [com.hubitat.hub.domain.Event@1237287] (handler)

Just what I was looking for. Thank you.

I have multiple shades in my home using this app for some time now. However, one group in particular just seems to have a mind of its own. My Back Shades are a set of two zigbee shades where one is operated in the forward direction and the other reverse. All of my other shade groups are in the same direction (forward).

Sometime for no reasons I can detect, the 1st shade (forward) in my pair while the shade control group is closing gets up to 10-15% from closed and decides it should open. Then in other cases, if opening it decides to go astray and close. It used to be once a month, now its nearly every day. I have the shades set to open around sunrise and close at sunset.

The only clear difference is that this pair has different direction settings for the two shades in the Shade Control Instance. Can this be the cause of the problem, is there a way to fix this or a procedure I am missing?

The reason they have to be in different directions is because they use Zemismart roller motors with AC supply cords on one end of the motor. The power sockets for each window are on the outside of this double window frame, so that one motor cord is on the right side of the window and the other on the left. Simple depiction shown below:

[X--------------] [-------------X]

Hello, new to all this. added Graber power blinds to our home and have them all working individually by rooms with my Hubitat hub. I have added Bruce's "Shade Controls" parent app and "Shade Control Instance" child app into my "Apps". I want to be able to raise all blinds in a room to 85% in the morning and close them in the evening (at set times if possible). I have been unable to create a dashboard tile to execute the "Shade Control" app for each room. Could someone please provide the steps, now that the apps are installed, to execute the code? I have created a virtual shade device, but that is as far as I have been able to stumble. I have also read hours of user posts and Hubitat "get started" docs but here I am. Thanks

I just did this with ThirdReality blinds. The Shade Controls app created/used a virtual shade device. You used that device for your rules. Just add that device to the devices for the Dashboard of choice. Then in the dashboard create a new tile using the devices and the Shades template.

1 Like

I am not sure by what you wrote whether you want to always set the shades to 85% via a dashboard, or if you want what ccoupe above outlines where you have a "dimmer" (slider) on the dashboard where you can control the shades?

If you want a button where you press it and the shades always do something, you would create a virtual button named "raise blinds morning". Go to a Basic Rule, and create a rule using this newly created button "When a button is pressed" do this action "Open shades to 85%". Then add this button to a Dashboard (be sure to add it to the Dashboard App in the Apps tab first)

You can do a second Basic Rule to close using a second virtual button if desired.

Thanks, your both right, I wasn't clear. All blinds are currently controlled individually. On the Dashboard I have defined individual rooms (eg. Bedroom, Family room). within each room is a tile for each blind using ccoupe's method (I imported the "Springs Window Fashions Roller Shade" device code from Github). Each morning my wife has to use the slider to open each blind to 85% - this is what she wants me to automate by room and one for all blinds.

I initially tried to create the automation with "Basic Rule" and failed miserably as I could never get the 85% to work. After more research that's when I found Bruce's code but maybe I don't need it.

I will work on this again per neonturbo instructions and let you know.

It depends on where the blinds and windows are used. In my office I have two windows so I named the blinds 'office shade left' and 'office shade right'. Then I defined a virtual shade 'office blinds' and grouped that with Shade controller for the two 'shade' devices. Note: I use the word 'shade' for individual devices and 'blinds' for a group.

The 'office blinds' device (group) is used on the Dashboard to set the position or close. I also use it with Alexa so I can say Alexa 'set office blinds to 80'. I also have a Alexa good morning routine that sets a virtual switch in Hubitat which triggers a rule to open all blinds groups.

ccoupe, I get no response from the dashboard tile - think I may not be linking the "virtual shade" correctly. I have all blinds individually created as "Devices". I have "Rooms" created for each grouping of devices.

I created a "Virtual Shade" in "Devices" called "Morning Blinds" with the standard defaults and added the following settings:
set position = 85
Transition time = ASAP
Room = Den (note, for testing purpose I only have 1 blind in Den. when I get this working I will create a room called House with all the blinds included)

I then went to "Apps" and selected my "Test" Dashboard and under "Choses Devices" I selected "Morning Blinds" (the virtual device created above)

I then went to "Dashboards" and selected the "Test" dashboard. The tile is defined using the Device "Morning Blinds" and Template "Button". The tile shows a finger pressing a button and labeled morning blinds.

When I select the tile I expected the Den blind to open to 85%, but nothing happens.

I think the problem is I am missing the step where I link/group devices to the virtual shade...maybe

I'm not familiar w/the app/device drivers in use with your shades, but shades are supported in the Room Lighting app. If your shades expose a % close/open setting, you should be able to use an RL scene set to activate based on time, or as a switch in a dashboard, to get what you want.

Set the shades to the desired opening manually (all three of them) then capture them as a scene in the Room Lighting app, and then set that scene to come on at the specific time you want.

In Room Lighting you can create an "activator" (basically just a virtual switch created by the app that is tied to your scene) to enable/disable the scene in a dashboard. Add the scene activator to a dashboard and all your wife should have to do is tap on it to set all the shades to the desired position if she wants to control the blinds from a dashboard.

Below is an example of what the scene activator from a blinds scene I have looks like.
Off
2022-10-17 12_27_21-Chrome Main

On
2022-10-17 12_29_27-Chrome Main

Read up on using Room Lighting here: