MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    MMM-GroveGestures

    Scheduled Pinned Locked Moved System
    51 Posts 8 Posters 18.8k Views 12 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B Offline
      Benjaminh86
      last edited by

      Hello World,

      I love your module!
      I use MMM-page-selector to switch between 2 pages. I wanted to use grove gesture to change pages, but I can not adapt the script.
      I can see my gestures in the Magic Mirror when I pass my hand in front of the grove gesture; after, i do not know what to put in config.js
      Can you help me?
      For information, my english is bad, and I do not know anything about programming!

      Thank you

      BenH

      ? 1 Reply Last reply Reply Quote 0
      • ? Offline
        A Former User @Benjaminh86
        last edited by

        @Benjaminh86
        Let’s assume You have page 1 and 2.

        You can assign gesture LEFT to 1, RIGHT to 2.
        At that case, you can add this to your command set(default or any other you want).

        "LEFT": {
          notificationExec: {
            notification: "PAGE_SELECT",
            payload: "1",
          }
        },
        "RIGHT": {
          notificationExec: {
            notification: "PAGE_SELECT",
            payload: "2",
          }
        },
        

        The problem is, MMM-page-selector has no feature of “NEXT PAGE” or “PREVIOUS PAGE”. so when there be more than 2 pages, you should assign gestures per each page.

        B 1 Reply Last reply Reply Quote 0
        • B Offline
          Benjaminh86 @Guest
          last edited by

          @Sean as I said, I’m a beginner, and I do not understand everything in programming.
          In addition, I have a synthaxe error on the line “exec: (module, gestures) => {”
          it indicates a problem with the symbol =>.
          Can you help me?

          ? 2 Replies Last reply Reply Quote 0
          • ? Offline
            A Former User @Benjaminh86
            last edited by

            @Benjaminh86
            Show me your configuration.

            B 1 Reply Last reply Reply Quote 0
            • B Offline
              Benjaminh86 @Guest
              last edited by

              @Sean

              here is my configuration for your module :

              {
              module: “MMM-GroveGestures”,
              position: “top_right”,
              pages: {‘all’: ‘top_right’},
              config: {
              autoStart: true, //When Mirror starts, recognition will start.
              verbose:false, // If set as true, useful messages will be logged.
              recognitionTimeout: 1000, //Gesture sequence will be ended after this time from last recognized gesture.
              cancelGesture: “WAVE”, //If set, You can cancel gesture sequence with this gesture.
              visible: true, //Recognized gesture sequence will be displayed on position

              idleTimer: 1000*60*30, // `0` for disable, After this time from last gesture, onIdle will be executed.
              onIdle: { // See command section
                moduleExec: {
                  module: [],
                  exec: (module, gestures) => {
                    module.hide(1000, null, {lockstring:"GESTURE"})
              	}
                   }
                    },
              onDetected: {
                notificationExec: {
                  notification: "GESTURE_DETECTED",
                },
                /* You can make Mirror to wake up the modules which were hidden by onIdle with any gestures.
                moduleExec: {
                  module: [],
                  exec: (module) => {
                    module.show(1000, null, {lockstring:"GESTURE"})
                  }
                }
                */
              },
              
              gestureMapFromTo: { //When your sensor is installed with rotated direction, you can calibrate with this.
                "Up": "UP",
                "Down": "DOWN",
                "Left": "LEFT",
                "Right": "RIGHT",
                "Forward": "FORWARD",
                "Backward": "BACKWARD",
                "Clockwise": "CLOCKWISE",
                "anti-clockwise": "ANTICLOCKWISE",
                "wave": "WAVE"
              },
              commandSet: {
                   "LEFT": {
              	notificationExec: {
              		notification: "PAGE_SELECT",
              		payload: "main",
              	}
                   },
                    "RIGHT": {
              	notificationExec: {
              		notification: "PAGE_SELECT",
              		payload: "2",
                    }
                  },
                },
              },
              

              }
              },

              ? 1 Reply Last reply Reply Quote 0
              • ? Offline
                A Former User @Benjaminh86
                last edited by

                @Benjaminh86
                Your configuration about commandSet has something wrong.

                commandSet: {
                  "default" : {
                    "LEFT": {
                      notificationExec: {
                        notification: "PAGE_SELECT",
                        payload: "main",
                      }
                    },
                    "RIGHT": {
                      notificationExec: {
                        notification: "PAGE_SELECT",
                        payload: "2",
                      }
                    },
                  },
                },
                
                1 Reply Last reply Reply Quote 0
                • ? Offline
                  A Former User @Benjaminh86
                  last edited by

                  @Benjaminh86
                  And Have you syntax error? How did you know? Have you used npm check:config? That knows old-fashioned style javascript grammar. So it might not understand new trendy ES6 style grammar.
                  Try this to check your javascript syntax.
                  http://esprima.org/demo/validate.html

                  B 2 Replies Last reply Reply Quote 0
                  • B Offline
                    Benjaminh86 @Guest
                    last edited by

                    @Sean

                    I used the command “npm run config: check”

                    1 Reply Last reply Reply Quote 0
                    • B Offline
                      Benjaminh86 @Guest
                      last edited by

                      @Sean I modified my JavaScript and corrected the errors.
                      On my Magic Mirror, I can see my left right scan, but the page does not change.
                      an idea…

                      ? 1 Reply Last reply Reply Quote 0
                      • ? Offline
                        A Former User @Benjaminh86
                        last edited by A Former User

                        @Benjaminh86
                        Well, If notification would be emitted properly, remains are MMM-page-selector’s business.
                        You can check whether notification is broadcasted well with npm start dev (before it, stop your pm2) or Ctrl+Shift+i on MM running. You can get some useful messages on dev-console

                        B 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5
                        • 6
                        • 1 / 6
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy