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.

    JSON request module

    Scheduled Pinned Locked Moved Solved Requests
    41 Posts 3 Posters 13.0k Views 4 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 @ELMAGO
      last edited by wishmaster270

      @ELMAGO Hi,

      You can use a simple curl command to fetch the data and get the data send as notification with my MMM-CommandToNotification module. The module supports to call commands periodically.
      As you do have the data as payload of a notification then you can use my MMM-ValuesByNotification module to display it. This module is very powerful, allows parsing the payload as Json, selecting values in the Json with JSONPath syntax and even reformatting.

      E 1 Reply Last reply Reply Quote 0
      • E Offline
        ELMAGO @wishmaster270
        last edited by

        @wishmaster270

        Thank you for your reply.
        So I installed the two modules and configured my config as follows:

        //TEMPERATURE MAISON
        
        {
           module: "MMM-CommandToNotification",
           disabled: false,
           config: {
            updateInterval: 10,
            commands: [
             {
              script: "http://192.168.100.244:3000/TEMPSALLE",
              args: "-10 10",
              timeout: 5,
              notifications: [
               "TEMPSALLE",
               ],
             },
             ]
           },
          },
        
        
        // AFFICHAGE
        
        {
           module: "MMM-ValuesByNotification",
           position: "top_right",
           header: "Module-1",
           config: {
            groups: [
             {
              items: [
               {
                notification: "TEMPSALLE",
                itemTitle: "Item-1",
                values: [
                 {
                  valueTitle: "Value-1",
        		valueUnit: "°C",
        		jsonpath: "data",
                 },
                ]
               },
              ]
             },
            ]
           },
          },
        
        

        and i get :

        663f9695-cd87-4675-9191-428defbea809-image.png

        Can you help me ?

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

          @ELMAGO You can NOT enter the url directly into the Command module. You need to call a valid Shell Command.
          In your case I will suggest curl.

          The full command will be:

          curl -vs  http://192.168.100.244:3000/TEMPSALLE2
          

          So the command configuration should be something like:

          {
             module: "MMM-CommandToNotification",
             disabled: false,
             config: {
              updateInterval: 10,
              commands: [
               {
                script: "/usr/bin/curl",
                args: "-vs  http://192.168.100.244:3000/TEMPSALLE2",
                timeout: 5,
                notifications: [
                 "TEMPSALLE",
                 ],
               },
               ]
             },
            },
          

          As a result the output of the curl command will be send as notification “TEMPSALE”.

          You can test the curl command in a terminal.

          E 1 Reply Last reply Reply Quote 0
          • E Offline
            ELMAGO @wishmaster270
            last edited by

            @wishmaster270 said in JSON request module:
            Good evening

            (I am in France)

            Thanks for your answer but I still have the same result.

            //TEMPERATURE MAISON
            
            {
               module: "MMM-CommandToNotification",
               disabled: false,
               config: {
                updateInterval: 10,
                commands: [
                 {
                  script: "/usr/bin/curl",
                  args: "-vs  http://192.168.100.244:3000/TEMPSALLE",
                  timeout: 5,
                  notifications: [
                   "TEMPSALLE",
                   ],
                 },
                 ]
               },
              },
            
            
            // AFFICHAGE
            
            {
               module: "MMM-ValuesByNotification",
               position: "top_right",
               header: "TEMPERATURE MAISON",
               config: {
                groups: [
                 {
                  items: [
                   {
                    notification: "TEMPSALLE",
                    itemTitle: "TEMPSALLE",
                    values: [
                     {
                      valueTitle: "TEMPSALLE",
            		valueUnit: "C",
            		jsonpath: "data",
                     },
                    ]
                   },
                  ]
                 },
                ]
               },
              },
            
            

            I have to miss something but I don’t see what

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

              @ELMAGO Hi, no problem let’s dive deeper. Can you please run the curl command manually on the console and paste the result here, please.

              E 1 Reply Last reply Reply Quote 0
              • E Offline
                ELMAGO @wishmaster270
                last edited by

                @wishmaster270

                There she is
                7b0d670b-43f1-410d-a6ba-5ce99a1012ed-image.png

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

                  @ELMAGO
                  Sorry, my fault.
                  Can you please remove the v option of the curl command. It needs to be curl -s ....

                  E 1 Reply Last reply Reply Quote 0
                  • E Offline
                    ELMAGO @wishmaster270
                    last edited by

                    @wishmaster270

                    It’s same

                    //TEMPERATURE MAISON
                    
                    {
                       module: "MMM-CommandToNotification",
                       disabled: false,
                       config: {
                        updateInterval: 10,
                        commands: [
                         {
                          script: "/usr/bin/curl",
                          args: "-s  http://192.168.100.244:3000/TEMPSALLE",
                          timeout: 5,
                          notifications: [
                           "TEMPSALLE",
                           ],
                         },
                         ]
                       },
                      },
                    
                    
                    // AFFICHAGE
                    
                    {
                       module: "MMM-ValuesByNotification",
                       position: "top_right",
                       header: "TEMPERATURE MAISON",
                       config: {
                        groups: [
                         {
                          items: [
                           {
                            notification: "TEMPSALLE",
                            itemTitle: "TEMPSALLE",
                            values: [
                             {
                              valueTitle: "TEMPSALLE",
                    		valueUnit: "C",
                    		jsonpath: "data",
                             },
                            ]
                           },
                          ]
                         },
                        ]
                       },
                      },
                    
                    
                    wishmaster270W 1 Reply Last reply Reply Quote 0
                    • wishmaster270W Offline
                      wishmaster270 Module Developer @ELMAGO
                      last edited by wishmaster270

                      @ELMAGO
                      Sorry, took me a moment to set up a test environment…
                      I think if your webserver is not very very fast you need to increase the timeout value in the command module.
                      The timeout is in milliseconds and you configured 5. I guess it should be 5000.
                      This config works fine in my development environment.

                                       {
                      			module: "MMM-CommandToNotification",
                      			disabled: false,
                      			config: {
                      			 updateInterval: 60,
                      			 commands: [
                      			  {
                      			   script: "/usr/bin/curl",
                      			   args: "-s http://192.168.100.244:3000/TEMPSALLE",
                      			   timeout: 5000,
                      			   notifications: [
                      				"TEMPSALLE",
                      				],
                      			  },
                      			  ]
                      			},
                      		},
                      		 
                      		{
                      			module: "MMM-ValuesByNotification",
                      			position: "top_right",
                      			header: "TEMPERATURE MAISON",
                      			config: {
                      			 groups: [
                      			  {
                      			   items: [
                      				{
                      				 notification: "TEMPSALLE",
                      				 itemTitle: "TEMPSALLE",
                      				 values: [
                      				  {
                      				   valueTitle: "TEMPSALLE",
                      				 valueUnit: "C",
                      				 jsonpath: "data",
                      				  },
                      				 ]
                      				},
                      			   ]
                      			  },
                      			 ]
                      			},
                      		},
                      

                      Edit: I increased the updateInterval to 60

                      E 1 Reply Last reply Reply Quote 0
                      • E Offline
                        ELMAGO @wishmaster270
                        last edited by

                        @wishmaster270
                        You are phenomenal…but I still have three problems:
                        1 - When I look for several values, it only shows me the first one.
                        2- The Celsius symbol does not seem to be accepted

                        76b9ae31-734f-49b5-a4be-5cbf0490a0be-image.png

                        3- 3- If I may abuse…is it possible to do the same formatting as this one. CSS and me…

                        7e8bc18c-c15d-46ab-a37d-4f7782032f2f-image.png

                        Here is my code :

                        //TEMPERATURE MAISON
                        
                        {
                           module: "MMM-CommandToNotification",
                           disabled: false,
                           config: {
                            updateInterval: 60,
                            commands: [
                             {
                              script: "/usr/bin/curl",
                              args: "-s  http://192.168.100.244:3000/TEMPSALLE",
                              timeout: 5000,
                              notifications: [
                               "TEMPSALLE",
                               ],
                        	
                             },
                             ]
                           },
                          },
                        
                        {
                           module: "MMM-CommandToNotification",
                           disabled: false,
                           config: {
                            updateInterval: 60,
                            commands: [
                             {
                              script: "/usr/bin/curl",
                              args: "-s  http://192.168.100.244:3000/TEMPBUREAU",
                              timeout: 5000,
                              notifications: [
                               "TEMPBUREAU",
                               ],
                        	
                             },
                             ]
                           },
                          },
                        
                        
                        // AFFICHAGE
                        
                        {
                           module: "MMM-ValuesByNotification",
                           position: "top_right",
                           header: "TEMPERATURE MAISON",
                           config: {
                            groups: [
                             {
                              items: [
                               {
                                notification: "TEMPSALLE",
                                values: [
                                 {
                                  valueTitle: "SALLE A MANGER",
                        		valueUnit: "°C",
                        		jsonpath: "data",
                                 },
                                ]
                               },
                        	          {
                                notification: "TEMPBUREAU",
                                values: [
                                 {
                                  valueTitle: "BUREAU",
                        		valueUnit: "°C",
                        		jsonpath: "data",
                                 },
                                ]
                               },
                              ]
                             },
                            ]
                           },
                          },
                        
                        

                        Once again thank you for everything.

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