Logical flaw?

FrameXX

Well-known member
So I have been helping micheluzzo with his problem and making an example macro for him, but I noticed one thing with this macro. It should work like when you turn screen on and then if you shake anytime in the first 10 seconds MacroDroids vibrates mobile. This works, but for no appearant reason MacroDroid also vibrates when variables allowing shake trigger to fire changes to false. System log just says that variable chnaged to false and action vibrate happened with no trigger. This "flaw" only works if you shake at least once in 10 seconds timeout before variable changes to false.

I didn't wanted to bother Jamie via troubleshooting section so I am calling you to import macro (from file I attached) and try the macro if it's same for you, or you can tell me that I am an idiot and missed something important.

Macro itself of course makes no practical sense, but still should work.

Test.png
 

Attachments

  • Test.macro
    4.2 KB · Views: 3
  • Screenshot_20210410-190400~2.png
    Screenshot_20210410-190400~2.png
    125.3 KB · Views: 3

SuperDaniel

New member
May be a Bug, looks like that after wait the triggers fire again?

You could move the shake actions before screen on or use macro cancel after you set the variable back to false
 

Attachments

  • Screenshot_20210411_000338_com.arlosoft.macrodroid.jpg
    Screenshot_20210411_000338_com.arlosoft.macrodroid.jpg
    442.1 KB · Views: 3
  • Screenshot_20210411_000324_com.arlosoft.macrodroid.jpg
    Screenshot_20210411_000324_com.arlosoft.macrodroid.jpg
    458.9 KB · Views: 3
Last edited:

Elenkhos

Member
Yep, seems like a bug with multiple triggers and if clauses based on the triggers. If the vibrate on shake option is enabled, it shouldn't be visible in the system log, so it was a long shot.
 

MacroDroidDev

Administrator
Staff member
I think the issue is that the last trigger invoked is being set to shake so by the time it gets to this clause it think the trigger was actually a vibrate when it clearly wasn't. A workaround to solve is to use an IF/ELSE condition. I will add this to my list of things to investigate but I suspect it may not be a trivial fix so I will have to see.
 
Top