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.

    Receive a HTTP request and subsequently wake up display and display alert/notification

    Scheduled Pinned Locked Moved Solved Troubleshooting
    14 Posts 3 Posters 2.5k 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.
    • M Offline
      MMRIZE @MilkShake
      last edited by

      @MilkShake
      24fb8089-36b9-4131-96bf-5f1e7ad12574-image.png

      First, What request method and body is emitted from the gate?
      It should be something like;

      • endpoint : http://MYMM:8090/webhook
      • requestMethod : "POST"
      • requestHeader: "Content-type: application/json"
      • requestBody : (
      {
        notification: "SOMEONE_AT_THE_DOOR"
      }
      

      If you select “GET” as requestMethod, you may need to deliver the notification as parameter instead of requestBody JSON

      Then you can configure like this.

      {
      	module: "MMM-NotificationTrigger",
      	config: {
      		useWebhook: true,
      		triggers: [
      			{
      				trigger: "SOMEONE_AT_THE_DOOR",
      				fires: [
      					{
      						fire: "SHOW_ALERT",
      						payload: {
      							title: "Someone arrives home",
      							message: "Welcome back home!",
      							timer: "10000",
      						}
      					}
      				]
      			}
      		]
      	}
      },
      
      M 2 Replies Last reply Reply Quote 0
      • M Offline
        MilkShake @MMRIZE
        last edited by

        @MMRIZE said in Receive a HTTP request and subsequently wake up display and display alert/notification:

        @MilkShake
        24fb8089-36b9-4131-96bf-5f1e7ad12574-image.png

        First, What request method and body is emitted from the gate?
        It should be something like;

        • endpoint : http://MYMM:8090/webhook
        • requestMethod : "POST"
        • requestHeader: "Content-type: application/json"
        • requestBody : (
        {
          notification: "SOMEONE_AT_THE_DOOR"
        }
        

        If you select “GET” as requestMethod, you may need to deliver the notification as parameter instead of requestBody JSON

        Then you can configure like this.

        {
        	module: "MMM-NotificationTrigger",
        	config: {
        		useWebhook: true,
        		triggers: [
        			{
        				trigger: "SOMEONE_AT_THE_DOOR",
        				fires: [
        					{
        						fire: "SHOW_ALERT",
        						payload: {
        							title: "Someone arrives home",
        							message: "Welcome back home!",
        							timer: "10000",
        						}
        					}
        				]
        			}
        		]
        	}
        },
        

        Thanks man! I will try that out. I think the doorbird appliance is using application/json POST requests, even though that is hard to find in the documentation.

        M 1 Reply Last reply Reply Quote 0
        • M Offline
          MMRIZE @MilkShake
          last edited by

          @MilkShake
          Could you share the doc? Let’s look inside together.

          1 Reply Last reply Reply Quote 0
          • M Offline
            MilkShake @MMRIZE
            last edited by

            @MMRIZE All I have is this:

            https://www.doorbird.com/downloads/manual_d10x_en_de.pdf

            It works when I include the notification in the URL like this:

            http://MMIP:8090/remote?action=NOTIFICATION&notification=SOMEONE_AT_THE_DOOR

            That is sweet. Now I need to exec a shell script also.

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

              Also, do you know the syntax for executing a shell script in MMM-NotificationTrigger?

              I though it would be like this:

              {
                      module: "MMM-NotificationTrigger",
                      config: {
                              useWebhook: true,
                              triggers: [
                                      {
                                              trigger: "SOMEONE_AT_THE_DOOR",
                                              fires: [
                                                      {
                                                              fire: "SHOW_ALERT",
                                                              exec: "home/Kragh/monitor_on.sh",
                                                              payload: {
                                                                      title: "PORTEN",
                                                                      message: "Der er nogen ved porten!",
                                                                      timer: "10000",
                                                              }
                                                      }
                                              ]
                                      }
                              ]
                      }
              }
              
              

              monitor_on.sh is set as executionable.

              1 Reply Last reply Reply Quote 0
              • M Offline
                MMRIZE @MilkShake
                last edited by MMRIZE

                @MilkShake said in Receive a HTTP request and subsequently wake up display and display alert/notification:

                It works when I include the notification in the URL like this:

                http://MMIP:8090/remote?action=NOTIFICATION&notification=SOMEONE_AT_THE_DOOR

                Simply, you can use this.

                http://MMIP:8090/webhook?notification=SOMEONE_AT_THE_DOOR
                

                That is the GET method.

                for the shellscript, your trial seems right, but you should take care for the path and the permission.
                I think this would be right. (It depends on your environment)

                exec: "bash /home/Kragh/monitor_on.sh",
                // OR
                exec: ". /home/Kragh/monitor_on.sh",
                
                M 1 Reply Last reply Reply Quote 0
                • M Offline
                  MilkShake
                  last edited by

                  Oh well, succeded in turning the display on as well:

                  {
                          module: "MMM-NotificationTrigger",
                          config: {
                                  useWebhook: true,
                                  triggers: [
                                          {
                                                  trigger: "SOMEONE_AT_THE_DOOR",
                                                  fires: [
                                                          {
                                                                  fire: "SHOW_ALERT",
                                                                  exec: "vcgencmd display_power 1",
                                                                  payload: {
                                                                          title: "PORTEN",
                                                                          message: "Der er nogen ved porten!",
                                                                          timer: "20000",
                                                                  }
                                                          }
                                                  ]
                                          }
                  
                                  ]
                          }
                  },
                  

                  Last thing to do is to also play the doorbell. I need to configure the speaker on the rasp4 first.

                  1 Reply Last reply Reply Quote 0
                  • M Offline
                    MilkShake @MMRIZE
                    last edited by

                    @MMRIZE said in Receive a HTTP request and subsequently wake up display and display alert/notification:

                    @MilkShake said in Receive a HTTP request and subsequently wake up display and display alert/notification:

                    It works when I include the notification in the URL like this:

                    http://MMIP:8090/remote?action=NOTIFICATION&notification=SOMEONE_AT_THE_DOOR

                    Simply, you can use this.

                    http://MMIP:8090/webhook?notification=SOMEONE_AT_THE_DOOR
                    

                    That is the GET method.

                    for the shellscript, your trial seems right, but you should take care for the path and the permission.
                    I think this would be right. (It depends on your environment)

                    exec: "bash /home/Kragh/monitor_on.sh",
                    // OR
                    exec: ". /home/Kragh/monitor_on.sh",
                    

                    Well, I got it working, sort off.

                    I cannot get http://192.168.1.100:8090/webhook?action=notification=SOMEONE_AT_THE_DOOR to work. It returns a 200:OK but nothing is displayed.

                    I have to use http://MMIP:8090/remote?action=NOTIFICATION&notification=SOMEONE_AT_THE_DOOR for it to work.

                    M 1 Reply Last reply Reply Quote 0
                    • M Offline
                      MMRIZE @MilkShake
                      last edited by MMRIZE

                      @MilkShake said in Receive a HTTP request and subsequently wake up display and display alert/notification:

                      I cannot get http://192.168.1.100:8090/webhook?action=notification=SOMEONE_AT_THE_DOOR to work. It returns a 200:OK but nothing is displayed.

                      http://MMIP:8090/webhook?notification=SOMEONE_AT_THE_DOOR
                      

                      read carefully.

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

                        @MMRIZE said in Receive a HTTP request and subsequently wake up display and display alert/notification:

                        @MilkShake said in Receive a HTTP request and subsequently wake up display and display alert/notification:

                        I cannot get http://192.168.1.100:8090/webhook?action=notification=SOMEONE_AT_THE_DOOR to work. It returns a 200:OK but nothing is displayed.

                        http://MMIP:8090/webhook?notification=SOMEONE_AT_THE_DOOR
                        

                        read carefully.

                        You are absolutely correct. Thanks for pointing it out.

                        1 Reply Last reply Reply Quote 0
                        • S sdetweil has marked this topic as solved on

                        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 / 1
                        • 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