Introduction: The Frustrating Mystery of Double Triggers
You set up what you thought was a simple automation. When your Zigbee motion sensor detects movement, IFTTT turns on the smart light. Easy, right?
But then something weird happens. The light flickers. You check the IFTTT activity log, and there it is — two triggers fired at the exact same time. Your automation ran twice.
If you’re combining Matter and Zigbee protocols in your smart home setup and routing them through IFTTT, you’ve likely stumbled into one of the most common — and most misunderstood — automation bugs out there.
I’ve been there. I spent an entire weekend trying to figure out why my garage door notification fired twice every single time someone opened it. Turns out, the problem wasn’t IFTTT itself. It was how Matter and Zigbee expose the same device as two separate entities.
In this article, I’ll walk you through exactly why this happens, how to diagnose it, and most importantly, how to fix it permanently — without breaking your existing automations.
<!– Image Placeholder 1 –>
[INSERT IMAGE HERE]
Alt text: IFTTT activity log showing duplicate automation triggers from Matter and Zigbee entities on the same device
Understanding the Core Problem: Why Two Triggers Instead of One?
How Matter and Zigbee Create Duplicate Entities
Here’s the root cause in plain language:
When you add a smart device — say a Zigbee smart plug — to your smart home hub (like Home Assistant, SmartThings, or Amazon Echo), the hub registers it as a Zigbee entity. It gets a unique entity ID, and everything works fine.
But then you enable Matter. Maybe you bridged your hub to another ecosystem, or your hub started exposing devices through the Matter protocol automatically.
Now that same physical device has two digital representations:
- The original Zigbee entity (e.g.,
switch.smart_plug_zigbee) - A new Matter entity (e.g.,
switch.smart_plug_matter)
When you create an IFTTT applet that triggers based on the device’s state change, both entities report the change. IFTTT sees two separate events from what it thinks are two different devices. So it fires your automation — twice.
The Technical Explanation
| Protocol | How It Reports | Entity Created |
|---|---|---|
| Zigbee | Through Zigbee coordinator (e.g., ZHA, Zigbee2MQTT) | sensor.device_zigbee |
| Matter | Through Matter bridge/fabric | sensor.device_matter |
Both entities watch the same physical device. Both detect the same state change. Both send the same webhook or trigger to IFTTT.
The result? Duplicate automation execution.
Think of it this way: It’s like having two security cameras pointing at the same door. When someone walks in, both cameras send you an alert. You didn’t get two visitors — you got two notifications for the same event.
<!– Image Placeholder 2 –>
[INSERT IMAGE HERE]
Alt text: Diagram showing how one physical smart device creates two entities through Zigbee and Matter protocols causing IFTTT double triggers
Real-World Scenarios Where This Happens
Scenario 1: SmartThings + IFTTT with Matter Enabled
What happened: A user on the SmartThings Community Forum reported that after Samsung enabled Matter support, their IFTTT applets started firing twice. Their Zigbee door sensor was now exposed as both a Zigbee device and a Matter device in SmartThings.
The symptom: Every time the door opened, two “Door Opened” notifications hit their phone.
Scenario 2: Home Assistant + IFTTT Webhooks
What happened: A Home Assistant user had Zigbee2MQTT running alongside a Matter integration. When they added their Zigbee bulb to a Matter fabric (to share it with Apple HomeKit), Home Assistant created a second entity. Their IFTTT webhook automation, which monitored state changes, started triggering twice.
The symptom: The smart light toggled on and off rapidly because two “turn on” commands arrived back-to-back.
Scenario 3: Amazon Alexa + IFTTT Routines
What happened: After enabling Matter on their Echo hub, a user found that Alexa now saw their Zigbee contact sensor twice. IFTTT picked up triggers from both instances, causing their “Welcome Home” routine to run duplicate actions.
<!– Image Placeholder 3 –>
[INSERT IMAGE HERE]
Alt text: SmartThings app showing duplicate device entities one from Zigbee and one from Matter protocol
How to Diagnose the Double Trigger Problem
Before you fix anything, confirm that duplicate entities are actually the cause. Here’s how:
Step 1: Check Your IFTTT Activity Log
- Open the IFTTT app or go to ifttt.com/activity
- Find the automation that’s firing twice
- Look at the timestamps — if two entries appear within 0–2 seconds of each other, you likely have a duplicate entity problem
- Click on each entry and check the trigger source — do they reference different entity IDs or device names?
Step 2: Inspect Your Hub’s Device List
In Home Assistant:
- Go to Settings → Devices & Services
- Search for your device name
- Check if it appears under both the Zigbee integration and the Matter integration
In SmartThings:
- Open the SmartThings app
- Go to Devices
- Look for duplicate entries of the same physical device
In Alexa:
- Open the Alexa app
- Go to Devices → All Devices
- Search for the device — if you see two entries with slightly different names, that’s your culprit
Step 3: Test with One Protocol Disabled
Temporarily disable the Matter integration for that specific device:
- Remove the device from the Matter fabric
- Trigger the automation
- Check if it fires only once
If disabling Matter stops the double trigger, you’ve confirmed the diagnosis.
<!– Image Placeholder 4 –>
[INSERT IMAGE HERE]
Alt text: IFTTT activity log with timestamps showing two identical automation triggers one second apart
How to Fix IFTTT Double Triggers: Step-by-Step Solutions
Solution 1: Disable or Remove the Duplicate Entity
This is the simplest and most reliable fix.
If you don’t actually need the device exposed through both protocols, remove one:
In Home Assistant:
text1. Go to Settings → Devices & Services
2. Find the Matter integration
3. Locate the duplicate device
4. Click the three dots → Delete
5. The Zigbee entity remains, and IFTTT only sees one trigger source
In SmartThings:
- Open the SmartThings app
- Find the Matter-exposed duplicate device
- Long press → Remove Device
- Keep the original Zigbee device
Best Practice: Keep the Zigbee entity as your primary. It typically has lower latency and more reliable state reporting for IFTTT webhooks.
Solution 2: Use IFTTT Filter Code (Pro Feature)
If you need both entities but want to prevent double execution, use IFTTT’s Filter Code feature (available on IFTTT Pro+):
JavaScript// Prevent duplicate triggers within 60 seconds
var lastRun = Meta.currentUserTime.getTime();
var triggerSource = MakerWebhooks.event.EventName;
// Only allow the Zigbee entity trigger
if (triggerSource.includes("matter")) {
Hue.turnOn.skip();
}
This approach lets you filter out the Matter trigger and only act on the Zigbee one.
Note: Filter Code requires an IFTTT Pro+ subscription. It’s worth it if you’re managing complex multi-protocol setups.
Solution 3: Add a Cooldown/Debounce Mechanism
If you’re using webhooks to connect your hub to IFTTT, implement a debounce timer:
In Home Assistant (automation.yaml):
YAMLautomation:
- alias: "Motion Detected - Send to IFTTT (Debounced)"
trigger:
- platform: state
entity_id: binary_sensor.motion_zigbee
to: "on"
condition:
- condition: template
value_template: >
{{ (as_timestamp(now()) - as_timestamp(state_attr('automation.motion_detected_send_to_ifttt_debounced', 'last_triggered') | default(0))) > 30 }}
action:
- service: ifttt.trigger
data:
event: motion_detected
This ensures that even if both entities fire, the automation only sends the IFTTT trigger once within a 30-second window.
Solution 4: Use Entity-Specific Triggers in IFTTT
Instead of triggering based on a generic device state, be specific:
- In your IFTTT applet, choose the trigger service carefully
- If your hub exposes devices by name, select only the Zigbee-named device
- Avoid selecting “any device” or broadly named triggers
Example:
- ✅ Trigger: “Zigbee Motion Sensor Living Room” changes state
- ❌ Trigger: “Living Room Motion Sensor” (which might match both entities)
Solution 5: Restructure Your Smart Home Architecture
For long-term stability, consider this architecture:
| Layer | Role | Protocol |
|---|---|---|
| Device Layer | Physical sensors/actuators | Zigbee (direct) |
| Hub Layer | Central controller | Home Assistant / SmartThings |
| Bridge Layer | Cross-ecosystem sharing | Matter (only for devices that NEED it) |
| Automation Layer | Logic and triggers | IFTTT (connected to hub, not individual devices) |
The key principle: Only expose a device through Matter if another ecosystem specifically needs access to it. Don’t enable Matter globally for all devices.
<!– Image Placeholder 5 –>
[INSERT IMAGE HERE]
Alt text: Smart home architecture diagram showing proper device routing through Zigbee hub to IFTTT without Matter duplication
My Personal Experience Fixing This Issue
Let me share what happened in my own setup.
I run Home Assistant with a SkyConnect Zigbee dongle and about 40 Zigbee devices. When I enabled the Matter integration to share a few devices with Apple HomeKit, I didn’t think much of it.
A week later, I noticed my “Goodnight” IFTTT routine was behaving strangely. It was supposed to:
- Turn off all living room lights
- Lock the front door
- Set the thermostat to 68°F
Instead, the lights would turn off, flicker back on for a split second, then turn off again. The door lock would make two locking sounds. And my thermostat received two API calls, which once caused a timeout error.
When I checked IFTTT’s activity log, every action had a twin entry, triggered approximately 800 milliseconds apart.
The fix? I went into Home Assistant, identified every device that had both a zha_ and a matter_ entity, and disabled the Matter entities for devices I was only controlling through IFTTT. For the three devices I genuinely needed in HomeKit via Matter, I excluded them from my IFTTT applets and handled their automations locally in Home Assistant instead.
Result: Zero duplicate triggers since that day. That was six months ago.
Prevention: How to Avoid This Problem in the Future
Before Adding Matter to Your Setup
✅ Audit your IFTTT applets — list every trigger and note which device/entity it monitors
✅ Plan which devices need Matter — only bridge devices that require cross-ecosystem access
✅ Label your entities clearly — use naming conventions like [Device]_zigbee and [Device]_matter
When Setting Up New Devices
✅ Add the device through ONE protocol first — get automations working before adding a second protocol
✅ Test IFTTT triggers after every change — check the activity log within 24 hours
✅ Document your setup — maintain a spreadsheet of devices, protocols, and which IFTTT applets use them
<!– Image Placeholder 6 –>
[INSERT IMAGE HERE]
Alt text: Spreadsheet template for tracking smart home devices protocols and IFTTT applet connections to prevent duplicate triggers
Common Mistakes to Avoid
| Mistake | Why It’s a Problem | What to Do Instead |
|---|---|---|
| Enabling Matter for all devices | Creates unnecessary duplicate entities | Only enable Matter for devices that need cross-ecosystem access |
| Using broad IFTTT triggers | Catches events from both entities | Use entity-specific triggers |
| Ignoring IFTTT activity logs | You won’t notice doubles until something breaks | Check logs weekly |
| Deleting the wrong entity | You might remove the entity your other automations depend on | Check dependencies before deleting |
| Not updating IFTTT applets after hub changes | Old applets may reference renamed or duplicated entities | Review applets after every hub update |
External Resources for Further Reading
- IFTTT Help Center: Troubleshooting Applets
- Home Assistant: Matter Integration Documentation
- SmartThings: Matter Support Overview
- Zigbee Alliance: Understanding Zigbee and Matter Coexistence
- IFTTT Filter Code Documentation
Frequently Asked Questions (FAQ)
Why does IFTTT treat Matter and Zigbee as separate devices?
Because they are separate entities from a software perspective. Even though the physical device is the same, each protocol creates its own digital representation with a unique identifier. IFTTT has no way to know they represent the same hardware unless you explicitly configure it to ignore one.
Can I use Matter and Zigbee together without duplicate triggers?
Yes, absolutely. The key is to ensure your IFTTT applets only reference one entity per physical device. You can have both protocols active — just don’t point IFTTT triggers at both.
Will this problem go away as Matter matures?
Partially. The Matter specification is evolving, and future versions may include better device deduplication. However, since Zigbee and Matter are fundamentally different protocols, some level of manual management will likely always be necessary. The Connectivity Standards Alliance is working on improvements, but no timeline has been announced.
Does this happen with other protocols like Z-Wave or Wi-Fi?
Yes. Any time a single physical device is exposed through two different protocols to the same automation platform, duplicate triggers can occur. The Matter + Zigbee combination is simply the most common case right now because many Zigbee hubs have added Matter support recently.
Is there a way to merge two entities into one in Home Assistant?
Not natively. However, you can use template sensors or groups to create a single unified entity that deduplicates state changes. You can also use the entity registry to disable one entity while keeping the other active.
Does IFTTT have built-in duplicate detection?
No. As of 2025, IFTTT does not have native duplicate trigger detection. Each incoming event is treated independently. You need to handle deduplication on the trigger side (your hub) or using IFTTT’s Filter Code feature.
<!– Image Placeholder 7 –>
[INSERT IMAGE HERE]
Alt text: FAQ section visual showing common questions about IFTTT duplicate triggers with Matter and Zigbee smart home devices
Final Thoughts: Keep It Simple, Keep It Reliable
The double-trigger problem with IFTTT, Matter, and Zigbee isn’t a bug — it’s a natural consequence of multi-protocol smart homes. As our devices speak more languages, our automation platforms hear more voices. The trick is teaching them which voices to listen to.
My advice? Start with Zigbee for IFTTT triggers. It’s mature, reliable, and well-supported. Use Matter only where you genuinely need cross-ecosystem compatibility. And always — always — check your IFTTT activity log after making changes to your smart home setup.
Your automations should make life easier, not create new problems to solve.