I have used the Taasmota app and a sonoff module that allows me to send an impulse over MQTT to open my garage door. Currently, I have it set up as a light that reverts to “off” 2 seconds after it receives an ON-command.
This works nicely; I just tell google to “turn on the garage door” and it opens, closes or stops the garage door when it receives the command.
With the goal of being able to treat it as a door, to tell it to open/close or lock/unlock I’ve attached a Xiaomi vibration sensor that gives the tilt-value of the door to homey.
My thought was to use that as a sensor to judge if the door is open or closed, combining that with a switch that allows me to input the impulse. As two separate devices, it works perfectly using virtual devices; I can have it as a “lock” with the state unlock/lock changing depending of the status of the garage door.
- Lock/unlock pressed> operate the garage door
- Tilt changes > change status of door to locked/unlocked depending on tilt. (LOOP; setting status to lock/unlock is considered as a button press)
However, I cannot use the same device to send the instruction, this is because the tilt sensor sets the garage door to “unlocked/locked” when a change in orientation is detected when this happens the garage door, that is triggered based on the lock/unlock command triggers again, essentially creating a loop of the door going up and down.
Is there any smarter way to build this logic so that the intended goal is reached?