Step 10 in the task is a debug output which when the issue occurs will output the same notification content and id buy a different timestamp so the task is running concurrently wh|not shouldn't, this is even with variable logic to manually 'lock' the task when in progress.
Profile: Read New Notification
State: Variable Value [ %PACTIVE ~ *Buds* | %PACTIVE ~ *Car* ]
Event: AutoNotification Intercept [ Configuration:Event Behaviour: true
Notification Type: Only Created Notifications
Persistency Type: Non-Persistent Only
Ignore Group Summaries: true ]
Enter Task: Read Notification
Settings: Run Both Together
<Wait until previous instance ends (& resets the var)>
A1: Wait Until [
MS: 0
Seconds: 10
Minutes: 0
Hours: 0
Days: 0 ]
If [ %ReadNotificationTask_Running = 0 ]
<Set locking var>
A2: Variable Set [
Name: %ReadNotificationTask_Running
To: 1
Do Maths: On
Max Rounding Digits: 3
Structure Output (JSON, etc): On ]
A3: Variable Convert [
Name: %anapp
Function: To Lower Case
Store Result In: %appNameLowered
Mode: Default ]
<Check if app is on ignore list>
A4: Variable Set [
Name: %index
To: %ReadNotificationAppBlacklist(#?%appNameLowered)
Do Maths: On
Max Rounding Digits: 3 ]
A5: If [ %index > 0 ]
A6: Variable Set [
Name: %ReadNotificationTask_Running
To: 0
Do Maths: On
Max Rounding Digits: 3
Structure Output (JSON, etc): On ]
A7: Stop [ ]
A8: End If
<Check if notification content is in recent list>
A9: Variable Set [
Name: %index
To: %RecentNotifications(#?%antext)
Structure Output (JSON, etc): On ]
<Debug>
A10: Notify [
Title: [%anid] Search, position: %index, time: %TIMEMS
Text: [%anapp] %antext
Number: 0
Priority: 3
LED Colour: Red
LED Rate: 0
Category: Debug Notifications ]
<Prevent same notification firing more than once>
A11: If [ %index > 0 & %PreventDuplicateNotifications = 1 ]
A12: Variable Set [
Name: %DedupeCountToday
To: %DedupeCountToday + 1
Do Maths: On
Max Rounding Digits: 3
Structure Output (JSON, etc): On ]
A13: Variable Set [
Name: %ReadNotificationTask_Running
To: 0
Do Maths: On
Max Rounding Digits: 3
Structure Output (JSON, etc): On ]
A14: Stop [ ]
A15: End If
<Ignore Main Tasker (Active Profiles) Notification>
A16: If [ %anapp eq Tasker & %antext ~ *active profiles* |+ %antext ~ *BT*Buds* |+ %antext ~ *Buds*BT* |+ %antext ~ *Car* ]
A17: Variable Set [
Name: %ReadNotificationTask_Running
To: 0
Do Maths: On
Max Rounding Digits: 3
Structure Output (JSON, etc): On ]
A18: Stop [ ]
A19: End If
<Ignore notifications about dedupes if config dictates>
A20: If [ %AnnounceDedupeAlert = 0 & %antitle ~ *De-dupe* ]
A21: Variable Set [
Name: %ReadNotificationTask_Running
To: 0
Do Maths: On
Max Rounding Digits: 3
Structure Output (JSON, etc): On ]
A22: Stop [ ]
A23: End If
<Add new item to top of array of notifications for dupe check>
A24: Array Push [
Variable Array: %RecentNotifications
Position: 1
Value: %antext ]
<Delete 11th item from array if it exists>
A25: Array Pop [
Variable Array: %RecentNotifications
Position: 11 ]
If [ %RecentNotifications(#) > 10 ]
A26: Perform Task [
Name: Say: message, time, battery, no log
Priority: %priority+1
Parameter 1 (%par1): %anapp %antitle ]
If [ %antext !Set ]
A27: Perform Task [
Name: Say: message, time, battery, no log
Priority: %priority+1
Parameter 1 (%par1): %anapp %antitle %antext ]
If [ %antext Set ]
<Reset locking var>
A28: Variable Set [
Name: %ReadNotificationTask_Running
To: 0
Do Maths: On
Max Rounding Digits: 3
Structure Output (JSON, etc): On ]