How do I create a repeating Reactor output state (both when ON and OFF) to keep another device awake?

Hi Rigpapa, and thanks for keeping the Reactor forum going and the solutions incoming. Reactor genuinely has to be one of the most useful and powerful home-automation plugins ever.

I was hoping you could help with an issue I have regarding the Horstmann / Secure Thermostat & Relay Combo devices (SRT321 thermostat and the SSR303 receiver).

The devices can be paired with Vera and also directly to each other via Z-wave, allowing them to operate in the absence of a controller signal. The direct pair method relies on the signal being strong, so for long distances, or through thick walls, the signal often disconnects. If this happens overnight for example, the rooms can be unheated by morning. I have noted there are lots of pages online about the method/fixes to directly pair these as it is tricky, so perhaps this might help others in the future use Reactor instead of direct connections.

In switching to Vera controlling the heating, I have reset the devices and connected them only to Vera, and to be controlled through Reactor. I have created an expression that successfully gets the state for the current set point temperature on the thermostat device and in the conditions, compare that to the current temperature. If the current temperature is lower than the current set point, the relay is turned on to start the heating, and vice versa. This works very well, but I have an issue I can’t figure out!

The relay device features failsafe logic that means if it has not received a response in 60 minutes it will turn off. Ideally, the Reactor activity output would be in a loop that sends a signal to the relay every X seconds, to say it should be either ON or OFF.

I have tried various implementations of the pulse feature, but the drawback is that it requires a period of being OFF between pulses (min 1 second), which repeatedly turns off the heating. So, if I set a pulse output that goes true for 300 seconds, it can take up to this time for the relay to follow the thermostat. If I set it for 10 seconds, the heating turns off for 1 second every 10 seconds! Also, there is no corresponding “keep-alive” pulse when the device is set to be OFF. Is there a way to pulse the output activity with the desired state (ON or OFF) without the opposite state in the interim?

Handy Tip: For anyone doing the same, I found the SRT321 Thermostat batteries need regular changing, so have hardwired a USB “fake” battery kit which works extremely well now. One important consideration if you do this, is that in the event of mains failure however, the thermostat reverts to a default temperature of 21 degrees C. This means that the heating/cooling may come on unintentionally and in my case I have often returned to find the house very warm for that reason, where there might have only been a brief power loss. To resolve this, I created a Reactor sensor that is tripped when the current set point is 21 degrees (NB so don’t use this exact temperature manually or in automation). So create an expression like this: tonumber(getstate( DEVICEID, “urn:upnp-org:serviceId:TemperatureSetpoint1”, “CurrentSetpoint” )) , then in the condition set the expression value of it to 21, and the activity as device action to set the temperature to a new default (9 deg in my case).

No, it wouldn’t be able to pulse otherwise (the transition is part of what makes it a pulse). The issue I see (without you having posted your actual conditions or a Logic Summary, so I’m drawing an inference from your question) is that your group structure is probably too simplistic. You either need to do the pulse/recovery in a separate group, that doesn’t affect the overall logic output or even in a separate ReactorSensor if you can’t wrap your head around the structure to do it in one RS with the other logic.

Thanks Rigpapa, your reply was very helpful and I used the group structure to achieve what I needed. The operation of the thermostats have been faultless since I unpaired them from the relay and used Reactor to control them. I have taken a screenshot of my setup for the downstairs heating zone (DNS) for others
that might want to do the same. I imagine any temperature sensor/multi-sensor will work in place of the thermostats, so I may upgrade the SRT321 and use this method in the future. Appreciate your advice with this.