• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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.

2 Mirrors and one Sensor ( MMM-PIR-Sensor )

Scheduled Pinned Locked Moved Hardware
11 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.
  • B Offline
    binia
    last edited by Mar 6, 2019, 8:39 AM

    its 160cm x 65cm
    One is a TV and one a Display

    1 Reply Last reply Reply Quote 0
    • ? Offline
      A Former User
      last edited by A Former User Mar 6, 2019, 8:57 AM Mar 6, 2019, 8:56 AM

      You can install one PIR on one RPI(A).
      Then, you can modify or build a module to send HTTPRequest to other RPI(B) on RPI(A) which has PIR sensor
      Then, you can also modify or build a module to catch HTTPRequest on RPI(B) to use it as a signal for your job.

      • MMM-PIR-Sensor (RPI(A)) : You can modify socektNotificationReceived() to emit your custom notification,
        Or send HTTPRequest directly to RPI(B)
      • MMM-NotificationTrigger (RPI(A)) : Or you can translate notification from MMM-PIR-Sensor to your custom notification for further relayed module,
        Or you can execute directly external shell command/internal javascript for sending HTTPRequest when notification is coming from MMM-PIR-Sensor
      • Or … you can build your own module for this job.

      • MMM-Remote-Controller (RPI(B)) : You can get HTTPRequest from RPI(A) to do something
      • MMM-NotificationTrigger(RPI(B)) : This module also can catch HTTPRequest and do something
      • Or … you can build your module for this job.

      • Or you can make scripts with javascript or python or any other language to communicate between two RPIs. It will be not so difficult to expert, but…
      1 Reply Last reply Reply Quote 0
      • B Offline
        binia
        last edited by Mar 6, 2019, 10:10 AM

        Thanks for your answer.
        I will try it.

        1 Reply Last reply Reply Quote 0
        • ? Offline
          A Former User
          last edited by A Former User Mar 6, 2019, 11:45 AM Mar 6, 2019, 11:39 AM

          Here is a simple example for using MMM-NotificationTrigger. Not tested, but you can catch the concept.

          Assumption

          • RPI_A
            • MM IP : 192.168.178.101:8080
            • PIR_SENSOR is installed
            • This will emit notification "USER_PRESENCE" with payload true/false
          • RPI_B
            • MM IP : 192.168.178.102:8080
            • PIR_SENSOR IS not installed.
            • It needs payload value of USER_PRESENCE from RPI_A

          RPI_A MMM-NotificationTrigger config

          {
            module: "MMM-NotificationTrigger",
            config: {
              triggers: [
                {
                  trigger: "USER_PRESENCE",
                  triggerPayloadFilter: (payload) => {
                    return payload
                  },
                  fires: [
                    {
                      fire: "DUMMY_NOTIFICATION",
                      exec: `curl -d "notification=RELAYED_USER_PRESENCE&payload=true" http://192.168.178.102:8080/webhook`
                    }
                  ]
                },
                {
                  trigger: "USER_PRESENCE",
                  triggerPayloadFilter: (payload) => {
                    return !payload
                  },
                  fires: [
                    {
                      fire: "DUMMY_NOTIFICATION",
                      exec: `curl -d "notification=RELAYED_USER_PRESENCE&payload=false" http://192.168.178.102:8080/webhook`
                    }
                  ]
                },
              ]
            }
          },
          

          If USER_PRESENCE notification is emitted from MMM-PIR-Sensor, it will be translated to DUMMY_NOTIFICATION and curl shell command will be executed to transfer message(RELAYED_USER_PRESENCE) to RPI_B

          RPI_B MMM-NotificationTrigger config

          {
            module: "MMM-NotificationTrigger",
            config: {
              useWebhook: true,
              triggers: [
                {
                  trigger: "RELAYED_USER_PRESENCE",
                  fires: [
                    {
                      fire: "DOING_MY_JOB",
                      payload: (payload) => {
                        return (payload == "true") ?  true : false
                      }
                    }
                  ]
                }
              ]
            }
          },
          

          By useWebhook:true it can listen message from RPI_A. When RELAYED_USER_PRESENCE is coming, DOING_MY_JOB (or whatever you want) notification will be emitted on RPI_B

          1 Reply Last reply Reply Quote 0
          • S Away
            sdetweil @binia
            last edited by Mar 6, 2019, 12:21 PM

            @binia very cool implementation!

            Sam

            How to add modules

            learning how to use browser developers window for css changes

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