You need to specify scene_value_id in your trigger.
It looks like your switch is going to send ‘scene_id: 2’ for your ‘on’ button, and ‘scene_id: 1’ for your off button. Now, in addition to this it is going to send a “scene_value_id”, which from your EventListener logs we see is ‘5’ for ‘clicked 3 times.’ Scene_id is ‘which button’, while ‘scene_value_id’ is “how many times was it pressed”.
Your triggers are only looking at ‘which button’ and not ‘how many times.’ Since you want to differentiate based off how many times, you must include this as a criteria.
A simple thing you could do is to just literally copy+paste the ‘event_data’ from the Event Listener after performing the action you want, into the trigger for that action. For example, when you pressed the button 3x you got:
Event 3 fired 5:50 PM:
{
"event_type": "ozw.scene_activated",
"data": {
"node_id": 15,
"scene_id": 1,
"scene_label": "Scene 1",
"scene_value_id": 5,
"scene_value_label": "Pressed 3 Times"
},
"origin": "LOCAL",
"time_fired": "2020-09-10T00:50:20.130312+00:00",
"context": {
"id": "99edd2bbf2ff11ea82bb7963257e654a",
"parent_id": null,
"user_id": null
}
}
So, you know this is ‘data’ is exactly what you receive when you press the button 3x. Copy that into what your trigger matches against:
event_data:
node_id: 15,
scene_id: 1,
scene_label: "Scene 1",
scene_value_id: 5,
scene_value_label: "Pressed 3 Times"
event_type: ozw.scene_activated
platform: event
I don’t believe that the ‘label’ identifiers are necessary, but over-specifying your match shouldn’t hurt.