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.

    Another PIR sensor

    Scheduled Pinned Locked Moved Requests
    19 Posts 3 Posters 3.1k Views 3 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.
    • wishmaster270W Offline
      wishmaster270 Module Developer
      last edited by

      @DaVinki said in Another PIR sensor:

      MMM-ProfileSwitcher

      Hi,
      your configuration of MMM-ProfileSwitcher is wrong. In your case it will simply look like this:

      {
          module: 'MMM-ProfileSwitcher',
          config: {
              // See 'Configuration options' for more information.
          } 
      }
      

      But you need to add the classes part to your MMM-Wallpaper module:

       {  
            module: 'MMM-Wallpaper',
            config: {
                ...
            }
            classes: 'pageOneEveryone',
      }, 
      

      So your config will look like this:

      {
          module: 'MMM-ProfileSwitcher',
          config: {
              defaultClass: "pageOneEveryone",
              ignoreModules: ["moduleVisiableOnEveryPageOne", "moduleVisibleOnEveryPageTwo"]
          } 
      },
      {  
            module: 'MMM-Wallpaper',
            config: {
               //Add your wallpaper config here
            }
            classes: 'pageOneEveryone',
      }, 
      {
           module: 'MMM-ProfileControl',
           position: 'bottom_bar',
           config: {
              profiles: [
                 ['pageOneEveryone'],
                 ['pageTwoEveryone'],
              ],
           }
      },
      {
           module: 'MMM-GPIO-Notifications',
           config: {
               '22': {
                   gpio_state: 1,
                   gpio_debounce: 10,
                   delay: 1000,
                   notifications: [
                       {
                          notification: 'PROFILE_DECREMENT_HORIZONTAL',
                       },
                   ]
              }
        }
      },
      

      The result will be two pages “pageOneEveryone” and “pageTwoEveryone”.
      Every time your PIR triggers an “1” the GPIO Module will send an Notification to switch to the next page (and start again with “pageOneEveryone” if the end is reached).

      You then can add “classes: ‘pageOneEveryone’,” to every module you want to be displayed an “pageOneEveryone” and “classes: ‘pageTwoEveryone’,” to every module you want to be displayed on “pageTwoEveryone”.

      If you want to have modules displayed on every page you can add them to the ignore list of MMM-ProfileSwitcher.

      D 1 Reply Last reply Reply Quote 0
      • D Offline
        DaVinki @wishmaster270
        last edited by

        @wishmaster270 Hi,

        Almost there. :-) . I’ve got two pages, PIR sensor is working. I can see notifications switching from page one to page two. However, the sensor seems to bounce. I can see the “enter” notification for page two, and almost immediately see the “leave” notification for page two. Sometimes it indeed accidentally switches to page two though, so the mechanism itself is working.

        I Have been playing around with the debounce and delay timers, with no success.

        What I’m trying to accomplish is switch to page two when the PIR is triggered, and return to page one using a timer in ProfileSwitcher.

        Current config for GPIO-Notifications:

             {
                   module: 'MMM-GPIO-Notifications',
                    config: {
                  '22': {
                  gpio_state: 1,
                  gpio_debounce: 1000,
                  delay: 1000 * 20,
                  notifications: [
                    {
                        'notification': 'PROFILE_DECREMENT_HORIZONTAL',
                        'profiles': 'pageOneEveryone',
                         },
                        ]
                        }
                        }
                },
        
        

        Doesn’t the “profiles” flag only trigger an action when that specific profile is active?

        I Have never done it before, so I think I can do it.

        1 Reply Last reply Reply Quote 0
        • wishmaster270W Offline
          wishmaster270 Module Developer
          last edited by

          Sorry, my mistake. Sure the profiles option in the GPIO config will cause the module to only fire the notification on pageOneEveryone.

          What kind of PIR are you using, a HC-SR501? Maybe your jumper is set to pulse a signal as long as a object is in distance.

          D 1 Reply Last reply Reply Quote 0
          • wishmaster270W Offline
            wishmaster270 Module Developer
            last edited by

            Ps.: My modules write a lot of debug output to the log file. Maybe there is a hint in “~/.pm2/logs/MagicMirror-out.log”

            1 Reply Last reply Reply Quote 0
            • D Offline
              DaVinki @wishmaster270
              last edited by

              @wishmaster270 I’m using one of the cheaper sensors from a Chinese store. Doesn’t even have jumpers on it. Seems to me that setting the debounce ridiculously high would solve the issue of it keeping firing.

              Kind of at a lost here. Reading the PIN with a Python script gives a contiinue high, with an occasional low. However, setting the gpio_state to 0 doesn’t give any reaction. It also does not seem to react to changing the debounce or delay timers.

              I Have never done it before, so I think I can do it.

              1 Reply Last reply Reply Quote 0
              • wishmaster270W Offline
                wishmaster270 Module Developer
                last edited by wishmaster270

                Maybe the problem is not the GPIO. Did you find same useful information in the log. Is the GPIO module fireing that often?

                If an delay is configured in the GPIO module any events within this time range will be ignored. It is a simple mechanism and does not depend on the sensor. I use it with three PIRs in my setup without any problems.

                Edit: There should be some entry like “MMM-GPIO-Notifications: : Skipped notifcation…” in the log if the delay works and the sensor fires

                D 1 Reply Last reply Reply Quote 0
                • D Offline
                  DaVinki @wishmaster270
                  last edited by

                  @wishmaster270 The GPIO does indeed fire a lot. I’m sure it is a simple mechanism. I’m trying to figure out a way to “filter” the signals. Be it by a delay, a debounce or whatever… there should be a simple work-around, right? (Don’t take this personally please, my work as IT engineer let’s me think in solutions and workarounds)

                  A small piece from the mm-out.log:

                  [2020-04-26 12:58:43.092] [LOG]    [12:58:43] - MMM-OpeningHours : : Error:  timeout
                  [2020-04-26 12:59:00.692] [LOG]    MMM-GPIO-Notifications: Watched pin: 22 triggered!
                  [2020-04-26 12:59:00.694] [LOG]    MMM-GPIO-Notifications: Sending notifications of pin 22...
                  [2020-04-26 12:59:00.695] [LOG]    CurProfile: pageOneEveryone
                  [2020-04-26 12:59:00.696] [LOG]    CurProfileString: pageOneEveryone
                  [2020-04-26 12:59:00.702] [LOG]    MMM-ProfileControl: Received notification PROFILE_DECREMENT_HORIZONTAL
                  [2020-04-26 12:59:00.872] [LOG]    MMM-ProfileControl: Received notification PROFILE_DECREMENT_HORIZONTAL
                  [2020-04-26 12:59:01.039] [LOG]    MMM-ProfileControl: Received notification CHANGED_PROFILE
                  [2020-04-26 12:59:01.111] [LOG]    MMM-ProfileControl: Received notification CHANGED_PROFILE
                  [2020-04-26 12:59:02.201] [LOG]    MMM-ProfileControl: Received notification CHANGED_PROFILE
                  [2020-04-26 12:59:02.252] [LOG]    MMM-ProfileControl: Received notification CHANGED_PROFILE
                  [2020-04-26 12:59:09.191] [LOG]    MMM-GPIO-Notifications: Watched pin: 22 triggered!
                  [2020-04-26 12:59:09.192] [LOG]    MMM-GPIO-Notifications: Skipping pin 22 because the delay is not exceeded !
                  [2020-04-26 12:59:17.471] [LOG]    MMM-GPIO-Notifications: Watched pin: 22 triggered!
                  [2020-04-26 12:59:17.472] [LOG]    MMM-GPIO-Notifications: Skipping pin 22 because the delay is not exceeded !
                  [2020-04-26 12:59:27.987] [LOG]    MMM-GPIO-Notifications: Watched pin: 22 triggered!
                  [2020-04-26 12:59:27.989] [LOG]    MMM-GPIO-Notifications: Sending notifications of pin 22...
                  [2020-04-26 12:59:27.991] [LOG]    CurProfile: pageOneEveryone
                  [2020-04-26 12:59:27.992] [LOG]    CurProfileString: pageOneEveryone
                  [2020-04-26 12:59:28.005] [LOG]    MMM-ProfileControl: Received notification PROFILE_DECREMENT_HORIZONTAL
                  [2020-04-26 12:59:28.102] [LOG]    MMM-ProfileControl: Received notification CHANGED_PROFILE
                  [2020-04-26 12:59:28.112] [LOG]    MMM-ProfileControl: Received notification PROFILE_DECREMENT_HORIZONTAL
                  [2020-04-26 12:59:28.537] [LOG]    MMM-ProfileControl: Received notification CHANGED_PROFILE
                  [2020-04-26 12:59:29.213] [LOG]    MMM-ProfileControl: Received notification CHANGED_PROFILE
                  
                  

                  I Have never done it before, so I think I can do it.

                  1 Reply Last reply Reply Quote 0
                  • wishmaster270W Offline
                    wishmaster270 Module Developer
                    last edited by wishmaster270

                    Sorry if it look liked i am taking the things personal that wasn’t my goal.
                    I want my modules to work and not to cause problems…

                    Could it be that you run two Browser (maybe build in and a second head) because the notifications get fired twice?

                    Edit: The delay seems to work. Because there are 20 seconds between the first time the gpio fires and the second time.

                    D 1 Reply Last reply Reply Quote 0
                    • D Offline
                      DaVinki @wishmaster270
                      last edited by

                      @wishmaster270 No, it didn’t look like you took it personal, I just didn’t want you to on forehand.
                      I Have indeed a second browser open on my laptop. Never thought of that being the issue… :-D

                      Let’s close that one, and fiddle around with the timers a bit. My laptop shut down during lunchtime, and then I indeed saw the second screen show up.

                      I Have never done it before, so I think I can do it.

                      1 Reply Last reply Reply Quote 0
                      • 1
                      • 2
                      • 2 / 2
                      • 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