Older thread but I did this on my dryer w/ a Samsung vibration sensor a couple of months ago. Here's the code of the RM rule that I wrote. LaundryRunning holds the rule state so you don't spawn off multiple instances from the vibration detector triggering (only the first instance persists for the duration of the load of laundry). Legit simply was a tuning mechanism for me to not get spurious notifications when loading or unloading the dryer.
Local Variables:
LaundryRunning: Boolean -> False
Legit: Number = 0
Trigger: Vibration Sensor Active
IF (Variable LaundryRunning(false) = true(F) [FALSE]) THEN
Exit Rule
ELSE
Set LaundryRunning to true
Repeat every 0:03:00 (stopable)
IF (Dryer Sensor inactive(T) [TRUE]) THEN
Stop Repeating Actions
END-IF
Add 1 to Legit
END-REP
IF (Variable Legit(0) > 3(F) [FALSE]) THEN
Notify SM-G970U: 'Dryer Cycle Complete @%time% on %date%'
END-IF
Set LaundryRunning to false
Set Legit to 0
END-IF