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 1.9k 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.
    • S Offline
      sdetweil @MMRIZE
      last edited by

      @MMRIZE he is trying to get the alert module popup

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      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
        What is the request body from the gate? “SHOW_ALERT”? I think it would be better to emit other dedicated custom notification other than “SHOW_ALERT”.

        It is just a webhook that is meant to get cached by MMM-NotificationTrigger module, that in turn should be able to send notifications to the Alert module.

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