Possible? if... then pendle (duty cycle) a device

Can this be done with reactor and how?

If virtual switch is true the pendle a device.
How to pendle: 10 minutes ON, 15 minutes OFF. And cycle this as long as virtual switch is true.

Hmmm… never heard that term before… anyway…

Reactor 3.4:

Group - AND + option PULSE output 600 seconds (10 minutes)

  • Device State Virtual Switch Status is TRUE
  • Interval: 25 minutes relative to “condition true” and select the above condition from the menu

Reactor 3.5 (current stable branch/release candidate):

Group - AND + option PULSE output 600 seconds (10 minutes) repeat after 900 seconds (15 minutes)

  • Device State Virtual Switch Status is TRUE

duty cycle is what I would have searched for.

Thanks, gonna play with that. Running 3.4 at the moment. What will happen if 3.5 is auto updated?

I didn’t know a prpoer english word for it. With my induction cooking plate, they call it pendle. (on/off)

I figured it was something like that and added my comment so a search for duty cycle would find this thread.
I worked in building control/automation and in the energy crisis 70s it was a popular energy saving strategy for fans and HVAC units to cycle them off for 5 minutes out of every 15. There was temperature dependent cycling and all kinds of variations. VFDs (Variable Frequency Drives or Inverters) pretty much eliminated this strategy.

The good old days?

I could use a little more help.

3.4:
I made a new device, added if virtual switch it TRUE, with that condition I selected Pulse - on mathch for xx seconds.

But where to configure the interval? Is that an expression? Sorry, newbee here…

The 3.4 (and earlier) method, if you implement it, will continue to work in 3.5, no problem. The 3.5 version is simply a short-cut. If I ever intentionally make a change that would break existing logic, it will come with lots of warning, or, as I’ve been able to do in some cases in the past, Reactor itself will convert to the newer model (that will not be the case here).

Interval is a condition type. Add a new condition and choose “Interval” type

Ah found it.

But o far, it doesn’t work. I am trying with short times and other devices.
Now, when kerstboom turns on, Spotjes go on and directly off again.

Some screenshots…

When I remove the interval, Spotjes go off after 30 seconds.

Sorry, you’re going to have to make a subgroup. The PULSE output mode goes on the GROUP, not the device condition. Like this…

Notice the yellow highlight on the group options–that’s because the PULSE mode is set there. Error in the image, though… the interval should be 25 minutes not 15.

1 Like

Thank you very much, that did it.

Where can I find some more information or examples with groups and subgroups. Bit complex sometimes.

These are good places to start…

Reactor Wiki

Tutorial Videos on YouTube

For those who are curious…

On the second floor we don’t have a thermostat for our floorheating. So the pump stays on for ever, ans so the temperature goes too high.

I now use a virtual switch to control the pump. So switch on, and the pump goes on for 10 minutes and off for 10 minutes. Just as long the virtual switch is on. Saves me a lot of energy.

At the moment, I don’t know if 10/10 is the best setting. But the thermostat in the living is set to max 5 cycles per hour, also because of slow heating for the floor.

1 Like

You could get some kind of temperature sensor and use that to control the pump?

Fibaro FGMS 001 would fit the bill.

Apart from anything else, your duty cycle will (probably) need to change as the ambient temperature changes (I’d have thought)

Effectively you’ve just got a ‘manual’ thermostat to control the pump via the virtual switch…

C

Yes, you are right. This is the first step.

I have that sensor, but then you need to set the update frequency high and that uses a lot of battery.
But you gave me an idea. I also have a KAKU (RFXCom) temperature sensor. I could use that, it updates every minute and has long battery life. But I am a bit afraid that the temperature will go between 21 en 19, if set to 20 for example.

Sorry for going of topic, but it has already been answered…

1 Like

Even with adding a temp sensor you’d want/need some sort of intelligence to control the output for the pump. That way you don’t short cycle the pump and you can tune it to control overshoot. You could try a simple PID or you may even be able to use a Kalman filter. I think there may be some java samples of Kalman filters.