I wanted to know how it would be possible to program my device handler to sent an event such as on or off until the Smartthings hub knows that the device it’s sending to actually receives the event. Right now I’ve noticed that when I press on or off on the Smartthings app, it only sends 1 event (according to logs). So how could I program my device handler to make the Smartthings hub constantly send the same event until the device has received the event?
You could use webCoRE with the following basic logic.
If X Changes to X
X is not X
Then Execute Piston
Cancel on Condition State Change is enabled by default
This piston will keep calling on the Piston to execute until it actually does. Once the condition is met then it no longer follows up.
However, I would spend my time trying to figure out why the event was not received in the first place and start there.
Example 2 with actual words-Let’s call the below Piston “Switch 1 Turn On”
Piston (Switch 1 Turn On)
If Switch 1 Changes to On
Switch 1 is Not On
Then Using Switch 1
Execute Piston Switch 1 Turn On
I’m sure there will be a way, but on behalf of network engineers everywhere, please don’t. This is not what zwave and zigbee are designed for. They are asynchronous mesh topologies, and your goal should always be to send as few messages as possible. You’ll clog up your own network and since this will require either a custom smartapp or a custom device type Handler, you will add excess traffic to the cloud as well.
If you need response back and continuous communication, use Wi-Fi devices.