MagicMirror² v2.8.0 is available! For more information about this release, check out this topic.

Further development of the MMM-Swipe module

  • Hi @richland007,

    could you figure out a solution with the help of @AxLed by now? If not, let me know and I will try to help you. I should definitely put the math-statistics module in the package.json, sorry for that.
    Edit: I just saw I removed it from the dependencies at some point, that was a mistake.
    About the error with electron: Here and there I get the error after adding submodules, but I’m still not sure when and how… When I have time I should check this, but it’s probably a problem with more than just my module.

    I hope this helps,


  • @nowis Sorry for the late reply i did figure out the math statistic on my own “…the power of research on the internet” 🙂
    and also a simple npm install fixes “… the got 53 and expected 48 issue”

    Everything on my end is working nicely i got no errors on my Magic Mirror and i have a lot of modules… however i can’t test the MMM-Swipe …granted it is not installed in the exact position where it is going to ultimately be. Mirror’s Raspi is still on my desk hooked to the monitor, wired though with the sonic sensors… cause i just got done with the programming part and have not started with the physical built of the mirror yet but i had a couple of question regarding the wiring of the two sonic sensors!!

    Are both of the trigger pins for both sensors connected to the same Rpi GPIO?? How can i test if my hand movement can move the pages?? I have tried but nothing happens the module on the software side has no errors but i don’t know if it works!!

    How far apart should the centers of the 2 sensor pairs be from each other ultimately on the mirror frame??

    Any help will be greatly appreciated
    thank you

  • @richland007: I’m glad you could figure a solution for your problems.
    Ragarding your questions: Yes, both trigger pins are connected to one RPi GPIO pin. It works fine for me.
    There are two ways for testing your movements:

    1. In the module-config, set a position: this will display “waiting for movement …” and will change to “Swipe Left” or “Swipe Right” for 2 seconds, if a movement is recognized.
    2. More precise method: In the module config, set “verbose” to true. This will print to the console (see attached image). The first line means where a potential swipe started. The next two rows give you the measured distanced used to detect a swipe. So far this does not mean we detected a swipe! Only if there is a line “----> Swipe Left” or “----> Swipe Right” a swipe is detected. This output helps you to figure out how fast do move your hand. Sometimes the sensors get noise and try to therefore try to detect a swipe. In this case you won’t see the last line, which means we do not recognize the false positive.

    The centers of sensors are 20cm apart from each other. In general you can mount them just as you like, since you can configure the swipe-speed

    I hope this helps! Just let me know if you need any further help.

    0_1521189887407_Bildschirmfoto 2018-03-16 um 09.44.09.png

  • @nowis Thank you very much for the quick reply i will try it as soon as i get some free time …can’t do much on the weekends. I will report back any changes or difficulties i might have
    have a great remeinder of the weekend

  • @nowis Ok so i got the chance to try it with your suggestions and i guess my connections are right and it sort of works!!!

    I got to read a swipe only once … a Swipe Left and judging from the readings on the console it detects movement but i am unable to replicate any additional swipes granted they are very close to each other and not aligned.
    However do these numbers seem right to you?? judging from this pic that i am attaching …what are these reading in the 3 thousand range?

    Any pointer in the alignment or calibration of the sensors and when i get it to read the swipes left and right correctly does that mean the pages are going to be go left and right also meaning if i swipe from left to right the pages are going to ump one forward and if i swipe from light to left the MM pages are going to go backwards?? that’s our ultimate goal isn’t it

    thanks again

    ps. I cant upload a image so here is a text copy of it

    Start: Right
    [MMM-Swipe] Left : [{“dist”:“158”},{“dist”:“3076”},{“dist”:“5593”},{“dist”:“13”},{“dist”:“280”}]
    [MMM-Swipe] Right: [{“dist”:“7”},{“dist”:“3054”},{“dist”:“8”},{“dist”:“165”},{“dist”:“237”}]
    [MMM-Swipe] ----> Swipe Left
    [MMM-Swipe] -------------------------
    [MMM-Swipe] Start: Left
    [MMM-Swipe] Left : [{“dist”:“4”},{“dist”:“2805”},{“dist”:“143”},{“dist”:“7”},{“dist”:“151”}]
    [MMM-Swipe] Right: [{“dist”:“12”},{“dist”:“9”},{“dist”:“12”},{“dist”:“154”},{“dist”:“3”}]
    [MMM-Swipe] -------------------------

  • @richland007 Hey, I am on vacation right now, so I cannot access my mirror but I will try to help you anyways.
    The output “Start: Right” means the application detected a distance smaller than rightDistance (from the config) and therefore checks if you made a swipe. In your example with the detected left swipe it found a value (7) for the right sensor and so checks if there is a valid swipe.
    For your second example it does not detect a valid swipe, since the first measurement for both sensors is lower than the threshold (I assume so?!). We assume your hand never covers both sensors, so we declare this event as invalid and therefore no swipe.
    To get a feeling for the sensors set calibrate to true and a position for the module in your config. This will print the measured distances for both sensors on your mirror. I experienced I have to make my hand very flat in order to trigger the sensors.

    Regarding the page increment/decrement: Just to be sure, a “Swipe Left” means you start at the right and move to the left. The right sensor is the one on your right side when you look at your mirror and vice versa. Currently a “Swipe Right” sends a PAGE_INCREMENT. If you want to change this, check the function socketNotificationReceived in the MMM-Swipe.js file.

    Hope this helps,


  • @nowis Hello can you take a photo and video of your installation ? it’s difficult to properly setup motion detection.

    how did you integrate the sensors on the mirror ?

    Sor for my bad english

  • You may also be interested in my gesture sensor module:, which is based on infra red, which I found more reliable and silent 🙂 I developed it after a couple of iterations with ultra sonic sensors like the HC SR04, which didn’t satisfy my needs.

  • @thobach hello, the plugin looks more accurate is it easy to set up?
    can you show me a picture of the wiring?
    I do not know if I will be able to install it,
    it most difficult like MMM-Swipe no ?