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 26.5k 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.
    • S Offline
      Screech @Guest
      last edited by

      @Sean
      Thank you for the info ;) I just command one to test ;)
      Cya in about 1 month (when I receiv and test it) I give you a feedback then :D

      1 Reply Last reply Reply Quote 0
      • B Offline
        bolish
        last edited by bolish

        @Benjaminh86

        Here is an extract of mine that should help you to understand. You just have to tweak the notification and pages based on your setup.

        		{
        			// 22
        			module: "MMM-GroveGestures",
        			position: "top_right",
        			config: {
        				autoStart: true, //When Mirror starts, recognition will start.
        				verbose:true, // 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: "0", // `0` for disable, After this time from last gesture, onIdle will be executed.
        				defaultCommandSet: "DEFAULT_MODE",
        				commandSet: {
        					"DEFAULT_MODE": {
        							"LEFT": {
        						        notificationExec: {
        						          notification: "PAGE_INCREMENT",
        						        }
        	      						},
        							"RIGHT": {
        						        notificationExec: {
        						          notification: "PAGE_DECREMENT",
        						        }
        	      						},
        						},
        					"0": { // this corresponds to the page N° sent back by MMM-Pages 
        							"LEFT": {
        						        notificationExec: {
        						          notification: "PAGE_INCREMENT",
        						        }
        	      						},
        							"RIGHT": {
        						        notificationExec: {
        						          notification: "PAGE_DECREMENT",
        						        }
        	      						},
        							"UP": {
        						        notificationExec: {
        						          notification: "CALEXT2_SCENE_NEXT",
              						              payload: null,
        							}
        	      						},
        							"DOWN": {
        						        notificationExec: {
        						          notification: "CALEXT2_SCENE_PREVIOUS",
              						              payload: null,
        							}
        	      						},
        						},
        					"1": {
        						        "LEFT-RIGHT-LEFT": {
        						        notificationExec: {
        						          notification: "REMOTE_ACTION",
        							    payload: {
        							  	action: "SHOW",
        							  	module: "module_13_MMM-BackgroundSlideshow",
        								     },	
        						        }
        	      						},
        						        "RIGHT-LEFT-RIGHT": {
        						        notificationExec: {
        						          notification: "REMOTE_ACTION",
        							    payload: {
        							  	action: "HIDE",
        							  	module: "module_13_MMM-BackgroundSlideshow",
        								     },	
        						        }
        	      						},
        						        "UP-DOWN-UP": {
        						        notificationExec: {
        						          notification: "REMOTE_ACTION",
        							    payload: {
        							  	action: "SHOW",
        							  	module: "module_14_MMM-BackgroundSlideshowInfo",
        								     },	
        						        }
        	      						},
        		        				"DOWN-UP-DOWN": {
        						        notificationExec: {
        						          notification: "REMOTE_ACTION",
        							    payload: {
        							  	action: "HIDE",
        							  	module: "module_14_MMM-BackgroundSlideshowInfo",
        								     },	
        						        }
        	      						},
        							"LEFT": {
        						        notificationExec: {
        						          notification: "PAGE_INCREMENT",
        						        }
        	      						},
        							"RIGHT": {
        						        notificationExec: {
        						          notification: "PAGE_DECREMENT",
        						        }
        	      						},
        							"UP": {
        						        notificationExec: {
        						          notification: "ARTICLE_MORE_DETAILS",
        						        }
        	      						},
        							"DOWN": {
        						        notificationExec: {
        						          notification: "ARTICLE_LESS_DETAILS",
        						        }
        	      						},
        							"CLOCKWISE": {
        						        notificationExec: {
        						          notification: "BACKGROUNDSLIDESHOW_NEXT",
        						        }
        	      						},
        							"ANTICLOCKWISE": {
        						        notificationExec: {
        						          notification: "ARTICLE_PREVIOUS",
        						        }
        	      						},
        						},
        					"2": {
        							"LEFT": {
        						        notificationExec: {
        						          notification: "PAGE_INCREMENT",
        						        }
        	      						},
        							"RIGHT": {
        						        notificationExec: {
        						          notification: "PAGE_DECREMENT",
        						        }
        	      						},
        							"UP": {
        						        notificationExec: {
        						          notification: "SWD_NEXT",
        						        }
        	      						},
        							"DOWN": {
        						        notificationExec: {
        						          notification: "SWD_PREV",
        						        }
        	      						},
        							"FORWARD-BACKWARD": {
        						        notificationExec: {
        						          notification: "SWD_PAUSE",
        						        }
        	      						},
        							"BACKWARD-FORWARD": {
        						        notificationExec: {
        						          notification: "SWD_PLAY",
        						        }
        	      						},
        						}
        					},
        					commandSetTrigger: {
        					  "DEFAULT_MODE": "DEFAULT_MODE",
          					  "PAGE_NUMBER_IS": (payload) => { return payload } // this is what set the right command set based on MMM-Pages feedback "PAGE_NUMBER_IS"
        					},
        				}
        		},
        		{
        			//22
        			module: "MMM-NotificationTrigger",
        			config: {
        				useWebhook: false,
        				triggers: [
        					{
        						// Is hiding the compliments module when newsfeed article is toggled fullscreen
        						trigger: "ARTICLE_MORE_DETAILS",
        						fires: [
        							{		
        								fire: "REMOTE_ACTION",
        								  payload: {
            									action: "HIDE",
            									module: "module_6_compliments",
        									},
        							}
        							]
        					},
        					{
        						// Is showing the compliments module again when newsfeed is minimized.
        						trigger: "ARTICLE_LESS_DETAILS",
        						fires: [
        							{		
        								fire: "REMOTE_ACTION",
        								  payload: {
            									action: "SHOW",
            									module: "module_6_compliments",
        									},
        							}
        							]
        					},
        					{
        						// Is triggering PAGE NUMBER NOTIFICATION when pages is changing
        						trigger: "PAGE_DECREMENT",
        						fires: [
        							{		
        								fire: "QUERY_PAGE_NUMBER",
        							}
        							]
        					},
        					{
        						// Is triggering PAGE NUMBER NOTIFICATION when pages is changing
        						trigger: "PAGE_INCREMENT",
        						fires: [
        							{		
        								fire: "QUERY_PAGE_NUMBER",
        							}
        							]
        					},
        					{
        						// Slideshow_Show.
        						trigger: "SLIDESHOW_SHOW",
        						fires: [
        							{		
        								fire: "REMOTE_ACTION",
        								  payload: {
            									action: "SHOW",
            									module: "module_13_MMM-BackgroundSlideshow",
        									},
        							}
        							]
        					},
        					{
        						// Slideshow_Hide.
        						trigger: "SLIDESHOW_HIDE",
        						fires: [
        							{		
        								fire: "REMOTE_ACTION",
        								  payload: {
            									action: "HIDE",
            									module: "module_13_MMM-BackgroundSlideshow",
        									},
        							}
        							]
        					},
        					{
        						// SlideshowInfo_Show.
        						trigger: "SLIDESHOWINFO_SHOW",
        						fires: [
        							{		
        								fire: "REMOTE_ACTION",
        								  payload: {
            									action: "SHOW",
            									module: "module_14_MMM-BackgroundSlideshowInfo",
        									},
        							}
        							]
        					},
        					{
        						// SlideshowInfo_Hide.
        						trigger: "SLIDESHOWINFO_HIDE",
        						fires: [
        							{		
        								fire: "REMOTE_ACTION",
        								  payload: {
            									action: "HIDE",
            									module: "module_14_MMM-BackgroundSlideshowInfo",
        									},
        							}
        							]
        					},
        					{
        						// Is showing the compliments module again when newsfeed is minimized.
        						trigger: "ARTICLE_LESS_DETAILS",
        						fires: [
        							{		
        								fire: "REMOTE_ACTION",
        								  payload: {
            									action: "SHOW",
            									module: "module_6_compliments",
        									},
        							}
        							]
        					},
        					{
        						// AT START - Is hiding MMM-ImageSlideshow at start.
        						trigger: "ALL_MODULES_STARTED",
        						fires: [
        							{		
        								fire: "REMOTE_ACTION",
        								  payload: {
            									action: "HIDE",
            									module: "module_13_MMM-BackgroundSlideshow",
        									},
        							},
        							{		
        								fire: "REMOTE_ACTION",
        								  payload: {
            									action: "HIDE",
            									module: "module_14_MMM-BackgroundSlideshowInfo",
        									},
        							},
        							{		
        								fire: "QUERY_PAGE_NUMBER",
        							},
        							{		
        								fire: "PAGE_INCREMENT",
        							},
        							]
        					},
        					{
        						// SHUTDONW - turns screen off and shutdown pi
        						trigger: "SCREENOFFSHUTDOWN",
        						fires: [
        							{		
        								fire: "REMOTE_ACTION",
        								  payload: {
            									action: "MONITOROFF",
        									},
        							},
        							{		
        								fire: "REMOTE_ACTION",
        								  payload: {
            									action: "SHUTDOWN",
        									},
        							},
        							]
        					}
        					]
        				}				
        		},
        
        B 2 Replies Last reply Reply Quote 0
        • B Offline
          Benjaminh86 @bolish
          last edited by

          Hello @bolish,

          thanks for sharing the script. I will watch this carefully ;)

          BenH

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

            @bolish
            I see in your MMM-notificationtrigger module that you have a MONITOROFF action.
            I imagine that we can associate a gesture command in Grove Gestures, for example: I make the gesture high, it turns on the screen.
            I would like to do that but I do not understand how to integrate it into Grove Gestures …
            If I do :

            “UP”: {
            notificationExec: {
            notification: “REMOTE_ACTION”,
            payload: {
            action: “MONITORON”,
            module: “MMM-Remote-Control”,
            }

            And in MMM-notificationtrigger:

            {
            // MONITOR_ON - turns screen on
            trigger: “MONITOR_ON”,
            fires: [
            {
            fire: “REMOTE_ACTION”,
            payload: {
            action: “MONITORON”,
                                     module: “MMM-Remote-Control”,
            }
            }
            ]
            }

            is it good?..

            1 Reply Last reply Reply Quote 0
            • B Offline
              bolish
              last edited by

              @Benjaminh86
              Not really…

              “MONITORON” is already an action which is managed by MMM-REMOTECONTROL so you don’t need MMM-Notificationtrigger for that.

              You just need MMM-GroveGesture to send it :

              		        				"UP": {
              						        notificationExec: {
              						          notification: "REMOTE_ACTION",
              							    payload: {
              							  	action: "MONITORON",
              								     },	 // you don't need to refer to a module name for the MONITORONN action (only necessary for HIDE and SHOW)
              						        }
              

              But you need to make sure that MMM-REMOTEControl is configured in the right way so that when it receives “MONITORON” it sends the right command (depending if you use HDMI, CEC, etc…)

              Regards

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

                @bolish
                thank you
                when you say: “But you need to make sure that MMM-REMOTEControl is configured in the right way”, when I send the request http://192.168.xxx.xxx:8080…MONITOROFF, it works.
                is that enough, or do I have to add something to the MMM-Remote-Control script?

                1 Reply Last reply Reply Quote 0
                • B Offline
                  bolish
                  last edited by

                  No, if it’s works by sending the request, it should work with Gesture also!

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

                    @bolish

                    Great!
                    I will try tonight the adaptation I made of your script.
                    I put the action “MONITOROFF” in the “Default_Mode” part of Grove Gestures, that’s it?

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

                      Hello @bolish,

                      thanks to you! everything is working!
                      however, I thought Grove Gestures would activate automatically, but I have to make the command line for the sensor to be active:
                      cd ~ / MagicMirror / modules / MMM-GroveGestures / py
                      cp grove_gesture_sensor.py.RPI grove_gesture_sensor.py
                      Is this normal?
                      Another question about MMM-Pages; I would like to display the Google Calendar calendar on page 1 and the holiday calendar on page 2, but I do not know how to differentiate and name them on MMM-Pages …
                      Do you have an idea?

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

                        @Benjaminh86 said in MMM-GroveGestures:

                        cd ~ / MagicMirror / modules / MMM-GroveGestures / py
                        cp grove_gesture_sensor.py.RPI grove_gesture_sensor.py

                        It is described on instruction for installation. And that command is not for activation. I provide 2 scripts for each of Raspberry Pi and Asus TinkerBoard. you need to select one for your device. You don’t need to do that job again after once you did.

                        The real activation would be performed in the module itself on every running of MM.

                        B 2 Replies Last reply Reply Quote 0
                        • B Offline
                          bolish
                          last edited by

                          @Benjaminh86
                          You have to search a bit on the forum.
                          One idea could be to create 2 calendars instances.
                          See below post extract :

                          well… I believe it’s far from being perfect…but at least it seems to do the job…
                          
                          I created a “new” module which does exactly same / has the same code as the one I want to use, but has a different name (folder named “MMM-Calendar2” -> file named “MMM-Calendar2.js” -> within the line Module.register(‘MMM_Calendar2’)).
                          Not in the default module folder but into the 3rd party module folder…
                          

                          And put instance 1 on page 1 and isntance 2 on page 2.

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

                            Hello @Sean,
                            I will look at this in more detail in the module.
                            Thank you again for your work.

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

                              @bolish
                              I will explore this track.
                              Thanks to you ; you already helped me a lot!

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

                                @Sean
                                it’s weird; the sensor is not active if I do not order:

                                cd ~ / MagicMirror / modules / MMM-GroveGestures / py
                                cp grove_gesture_sensor.py.RPI grove_gesture_sensor.py

                                would not it come from “chmod + x * .sh” where I hurt something? …

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

                                  @bolish
                                  it works!
                                  thanks for your help

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

                                    @Benjaminh86
                                    Can’t understand.
                                    Do you need to do that shell command per every execution of MM? Have you reinstalled it?
                                    That commands just need to be done once when you install this module.

                                    And that command isn’t related with chmod + x .sh at all.

                                    Check this.

                                    ls ~/MagicMirror/modules/MMM-GroveGestures/py
                                    

                                    There should be grove_gesture_sensor.py besides grove_gesture_sensor.py.RPI and grove_gesture_sensor.py.ATB.
                                    Are those files there?

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

                                      @Sean
                                      I have to make this command every start of the pi, knowing that I do not start the MM automatically (pmm2) time to set everything (npm start).
                                      I’ll be watching tonight with
                                      ls ~ / MagicMirror / modules / MMM-GroveGestures / py

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

                                        @Sean
                                        That’s what happens :
                                        pi@raspberrypi:~ $ ls ~/MagicMirror/modules/MMM-GroveGestures/py
                                        gesture_print.py grove_gesture_sensor.pyc
                                        grove_gesture_sensor.py grove_gesture_sensor.py.RPI
                                        grove_gesture_sensor.py.ATB

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

                                          @Benjaminh86
                                          If you have those files, you don’t need to execute any manual commands o n MM running

                                          1 Reply Last reply Reply Quote 0
                                          • M Offline
                                            MisterT
                                            last edited by

                                            Hi everybody,@Sean and @Benjaminh86
                                            I use this module just for change pages with MMM-Pages and MMM-Pages indicator but after a while, my sensor is unknown.
                                            when i just want to test the sensor with “python gesture_print.py”, i have:

                                            Error with sensor
                                            Paj7620 initialize register finished.

                                            my matrix is good i think:

                                            sudo i2cdetect -y 1
                                            0 1 2 3 4 5 6 7 8 9 a b c d e f
                                            00: 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
                                            10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
                                            20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
                                            30: 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f
                                            40: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
                                            50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f
                                            60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
                                            70: 70 71 72 73 74 75 76 77

                                            and i have 5 file in /home/pi/MagicMirror/modules/MMM-GroveGestures/py
                                            I restart Raspberry but the result is the same

                                            Can aybody help me please ?

                                            ? 1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 3
                                            • 3 / 3
                                            • 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