Dimmer – memorized atmospheric dimlevel

A related thread Dimmer - prestage value went in a direction of the OP wanting to have two dim values only, which is already well described in two FAQs, one based on virtual relays and another based on the sensor channels and locks.

However, what I would like to achieve is slightly different. I want a curve, rather than two distinct values. In particular the room is quite well lit by the windows, so any automated lighting during the day is unnecessary. But at around sunset I want the light level to ease-in towards 100%, rather than immediately going to 100%.

My installation is roughly as follows:

VMB4RYLD ----> +------------------+
               | LED power supply | -> Lights
VMB4DC ------> +------------------+

So far this is what I’ve been doing:

  1. Use Programs on one of the panels to implement time awareness based on sunset and sunrise;
    • When it is “day”, lock the PIR channel used to control lighting, this way the light does not turn on at all;
    • Before the sunset unlock the sensor and trigger Atmospheric dimvalue on the VMB4DC channel over a long period of time (hours) to DIM from 0 towards some percentage;
    • Before the bedtime trigger Atmospheric dimvalue to gradually reduce dim level to a lower percentage;
    • Before the sunrise trigger Atmospheric dimvalue on the VMB4DC channel over the a long period of time to DIM towards 0.
  2. Whenever PIR sensor detects movement turn on and off the VMB4RYLD channel as if this was an usual on/off lamp.

This achieves roughly the intended effect, but in order to do so I need to keep the dimmer channel running constantly.

Does anybody know of a better way to achieve something like this without keeping a dimmer on all the time? I feel that ideally I would use one of the actions that involve memory and have this whole dim curve thing happen in the “memory” instead. Restrictions for alternatives would be:

  • I would rather not rely on OpenHAB et al. for this.
  • I do not have spare dimming channels to use as master for a master-slave setup, nor do I see any virtual dim channels in my system.

I feel like an ideal solution would somehow be able to dim in accordance to the light levels as seen by some of the sensors, but that’s probably a stretch (and hard to implement correctly anyhow)…

Ah, inhibiting a dimmer channel “turns” it off, without actually turning it off. I’ll have to experiment with this.

1 Like


I’m struggling to work out what it is you are aiming for,

My best guess is that you want to turn the light on and off when there is a presence, based on PIR activity… BUT you also want the light to vary in intensity for the ON periods depends on time of day or external light levels.

Yes, using rules and logic in Node-RED / openHAB / Signum etc would be fairly easy, not simple, but fairly easy.

I think your Hardware only option is along the lines of what you have already.

A dimmer device (a channel of a 4DC) running all the time, to set the light level, with a relay interrupting either the 10V signal or the power to the PSU

But that doesn’t get you the soft start / dim up that you might be seeking.

How did you get on with the Inhibit action? Did that give you the dim up and down that you are looking for?


Yeah, your summary is exactly what what I wanted to achieve. And indeed, inhibiting the dimmer output gets me pretty much exactly the intended effect (including the smooth start/stop.)

Here’s my setup so far, although I’m still experimenting with it and what could be done with it:

  1. VMB4DC.CH3 o-[On when initiator closes, delayed off when initiator opens]-> VMB4RYLD.CH3
    • Enable the light relay when dimmer needs something to light up – won’t have to think about the relay ever again this way :slight_smile:
  2. VMBPIRM.Motion 1 o-[Inhibit while initiator is open]-> VMB4DC.CH3
    • When motion switch is open (off), turn off the lights.
    • Configure the duration of lights in the VMBPIRM configuration, by setting the duration of the Motion 1 channel.
  3. At this point I can control the dimlevel of the channel using whatever means desired (Program steps? OpenHAB? Anything goes.) The module will remember and turn up to that specific dimlevel every time Motion 1 triggers. If there is an atmospheric dimlevel going somewhere in the background, it keeps running just fine, giving the neat over-time effect.

The negative in this exact approach is that if I wanted to also control this light with a button, now I would have to use the Forced On and similar actions. Stuff like Dim at long press, memory or off at short press are not going to work eitheri. I think timer-based actions are lost too. I imagine I could figure out a way to make inhibiting less aggressive in some way or another if I wanted more control or functionality, but this works great for now.

1 Like

Thanks for the update.

It’s great to know that you have achieved almost what you want.

If you do ever want the extra functionality and need to move to a logic engine like Node-RED or openHAB, I’m sure we will all help you