• 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.

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

Scheduled Pinned Locked Moved Solved Troubleshooting
14 Posts 3 Posters 962 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
    MilkShake @MMRIZE
    last edited by Sep 30, 2024, 1:16 PM

    @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 Sep 30, 2024, 1:52 PM

      @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 Sep 30, 2024, 2:02 PM Reply Quote 0
      • M Offline
        MilkShake @MMRIZE
        last edited by Sep 30, 2024, 2:02 PM

        @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 Sep 30, 2024, 2:31 PM Reply Quote 0
        • M Offline
          MMRIZE @MilkShake
          last edited by Sep 30, 2024, 2:31 PM

          @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 Sep 30, 2024, 2:52 PM

            @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 Sep 30, 2024, 6:30 PM Reply Quote 0
            • M Offline
              MilkShake
              last edited by Sep 30, 2024, 3:27 PM

              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 Sep 30, 2024, 6:32 PM Sep 30, 2024, 6:30 PM

                @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 Oct 2, 2024, 6:57 AM Reply Quote 0
                • M Offline
                  MilkShake
                  last edited by Sep 30, 2024, 6:36 PM

                  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 Oct 2, 2024, 6:57 AM

                    @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 Oct 2, 2024, 11:46 AM Reply Quote 0
                    • M Offline
                      MMRIZE @MilkShake
                      last edited by MMRIZE Oct 2, 2024, 12:36 PM Oct 2, 2024, 11:46 AM

                      @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
                      • 1
                      • 2
                      • 1 / 2
                      1 / 2
                      • First post
                        8/14
                        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