[BETA] silentLevelLights – Control light’s brightness without turning it on!

One minor annoyance I have with SmartThings is being unable to control the brightness of a light without it having to turn on. I think I came up with an idea to solve it.

Using a Virtual Dimmer and a SmartApp, you create a new (Virtual) device for controlling the real one. You can adjust the brightness as you please, but the new brightness doesn’t go into effect until the light is turned on. The real device is not interfered with, meaning you can control it normally. This solution isn’t perfect, I’m open to feedback. Instructions are below, but better steps can be found here.

Installation

Virtual Device:
GitHub Integration Info:
Owner: ajpri
Name: silentLevelLights
Branch: master

Manual Instructions:

  1. Go to the SmartThings IDE, My Device Types.
  2. Click “Create new device handler”
  3. Click the “From Code” tab. Paste the Device Type Code in the GitHub link. Click Create
  4. Click "Publish, then “For me”
  5. Go to “My Devices” and create a new device by clicking on “+ New Device”
  6. Chose any name you want (Will show as than on app & other ST tools.
  7. Choose any Device Network ID you want
  8. Important: Select “Silent Dimmer” for Type and click Create!

SmartApp:
GitHub Integration same as above.

Manual Instructions:

  1. Go to the “My SmartApps” section of the IDE.
  2. Click “New SmartApp”
  3. Click “From Code" and paste in the SmartApp Code from the GitHub link. Click Create.
  4. Click Publish > For Me.
  5. The SmartApp is ready for use! It’ll be in the “My Apps” Section of the Marketplace.

Please read!:
All my code released is free and open source, however if you would like to donate to the efforts, you may do so with the PayPal link. I’m in my First Year of College. Automating my house has been a passion of mine for a while now. Everything I’ve automated was paid for with my part-time job. Every little bit helps!
Paypal.me/ajpri

1 Like

Sorry to break the sad news, but this will not solve the problem you seek to solve. The dimmer level of the actual physical dimmer is stored in the dimmer. Changing the virtual dim level does not affect that. Suppose the physical dimmer was last on at 100%, and now it’s night time. You reduce the dim level on the virtual dimmer to 25%. When you turn on the physical dimmer, the lights will go to 100%. When all of the cloud and smartapp actions you propose run, the light will then dim to 25%, possibly several seconds later. So if the plan was to prevent the blinding bright light at midnight, it fails.

The only way to turn on a dimmer to a new dimmer level, say, to 25% as above, is to use setLevel on the device instead of on. From the physical switch, only on is available. If some other stimulus besides the physical switch turns on the light using setLevel, it will come on to the desired level – however, none of that requires anything special or a virtual dimmer.

Nice try, but …

The SmartApp is designed where much of a delay shouldn’t happen. It should be near instant. When you press the on button in the virtual dimmer with a brightness of 25%, the smartapp will send setlevel(25) to the real device. Unless the real device behaves differently, it won’t brighten then dim. I tested this to reset the brightness to 100% of the virtual device at about 1am, then when the virtual dimmer is turned on in the morning, it’ll go to bright. As the platform continues to get better, I will work to make the virtual and real devices closer and closer. I’m also open to any PRs on the repo. I’m a huge believer in Community and Open Source.

1 Like