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 12.9k 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.
    • E Offline
      ELMAGO @wishmaster270
      last edited by

      @wishmaster270

      Re Goodnight

      It’s awesome, it’s exactly what I wanted.

      Thank you so much.

      b3cb1a61-c845-4689-91a3-53944fca4ee8-image.png

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

        @wishmaster270

        Hello

        sorry to bother you again but is it possible to display an answer following the answer of the request.

        example :
        The JSON request returns false I would like to display “NON”

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

          @ELMAGO Sorry, but i do not understand exactly what you mean. You can override the “na” value which is the one displayed if no value could be parsed in the JSON.

          The config option is:

          naValue: "NON"
          

          There might also be a chance to do add a valueFormat which checks for the “false” value in the JSON but that would be a little more complex and i need to know the exact format of the output.

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

            @wishmaster270
            Hello

            No, not al all.
            the returned value will be “false” or “true” and I would like to replace it with “Non” or “Oui” in French.

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

              @ELMAGO
              You can use valueFormat for this purpose.

              valueFormat: "\"${value}\".replace(\"false\",\"Non\").replace(\"true\",\"Oui\")",
              

              This will convert the value to a string (if needed) and replaces all “false” with “Non” and “true” with “Oui”.

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

                @wishmaster270

                great, thank you.
                Is there a “lexicon” with these commands?

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

                  @ELMAGO
                  I added some to the [documentation] (https://github.com/Tom-Hirschberger/MMM-ValuesByNotification/blob/main/doc/value.md) of the module.
                  As there can be used any build-in JavaScript function in valueFormat there are nearly endless possibilities.

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

                    @wishmaster270

                    good evening,

                    I tested the replace function:

                    {
                    		module: "MMM-ValuesByNotification",
                    		position: "top_right",
                    		header: "INFORMATION MÉGANE",
                    		config: {
                    			updateInterval: 300,
                    			reuseCount: 100,
                    			addClassesRecursive: true,
                    			valueFormat: "\"${value}\".replace(\"false\",\"Non\").replace(\"true\",\"Oui\")",
                    			groups: [
                    				{
                    					items: [
                    						
                    						{
                    							notification: "AUTBATTMEGANE",
                    							itemTitle: "Autonomie  ",
                    							values: [
                    								{
                    									valueUnit: " Km",
                    									valueFormat: "Number(${value}).toFixed(2)",
                    									jsonpath: "data",
                    								},
                    							]
                    						},
                    						{
                    							notification: "BATTMEGANE",
                    							itemTitle: "Charge batterie  ",
                    							values: [
                    								{
                    									valueUnit: " %",
                    									valueFormat: "Number(${value}).toFixed(2)",
                    									jsonpath: "data",
                    								},
                    							]
                    						},
                    						{
                    							notification: "PLUGMEGANE",
                    							itemTitle: "Voirture branchée ",
                    							classes: "withIcons",
                    							valueFormat: "\"${value}\".replace(\"false\",\"Non\").replace(\"true\",\"Oui\")",
                    							values: [
                    								{
                    									
                    									valueFormat: "Number(${value}).toFixed(2)",
                    									jsonpath: "data",
                    								},
                    							]
                    						},
                    						
                    					]
                    				},
                    			]
                    		},
                    	},
                    
                    
                    

                    But unfortunately it doesn’t work.

                    504f3bb6-cb32-49fa-97b6-c872e2b1aa31-image.png

                    Would you know why?

                    Thanks

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

                      @ELMAGO As valueFormat settings further down in the hierarchy override setting further up you only have to much valueFormat settings.

                      This config should do the trick:

                      	{
                      		module: "MMM-ValuesByNotification",
                      		position: "top_right",
                      		header: "INFORMATION MÉGANE",
                      		config: {
                      			updateInterval: 300,
                      			reuseCount: 100,
                      			addClassesRecursive: true,
                      			groups: [
                      				{
                      					items: [
                      						
                      						{
                      							notification: "AUTBATTMEGANE",
                      							itemTitle: "Autonomie  ",
                      							values: [
                      								{
                      									valueUnit: " Km",
                      									valueFormat: "Number(${value}).toFixed(2)",
                      									jsonpath: "data",
                      								},
                      							]
                      						},
                      						{
                      							notification: "BATTMEGANE",
                      							itemTitle: "Charge batterie  ",
                      							values: [
                      								{
                      									valueUnit: " %",
                      									valueFormat: "Number(${value}).toFixed(2)",
                      									jsonpath: "data",
                      								},
                      							]
                      						},
                      						{
                      							notification: "PLUGMEGANE",
                      							itemTitle: "Voirture branchée ",
                      							classes: "withIcons",
                      							values: [
                      								{
                      									valueFormat: "\"${value}\".replace(\"false\",\"Non\").replace(\"true\",\"Oui\")",
                      									jsonpath: "data",
                      								},
                      							]
                      						},
                      						
                      					]
                      				},
                      			]
                      		},
                      	},
                      
                      1 Reply Last reply Reply Quote 0
                      • E Offline
                        ELMAGO
                        last edited by

                        Hi @wishmaster270

                        I come back here, it will be simpler.

                        My code is:

                        //INFORMATION HOMEY EUFY
                        
                        {
                           module: "MMM-CommandToNotification",
                           disabled: false,
                           config: {
                            updateInterval: 300,
                            commands: [
                             
                        
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/ETATEUFY",
                                   timeout: 1000,
                        			
                                   notifications: [
                                    "ETATEUFY",
                                    ],
                                  },
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/CAMSALLE",
                                   timeout: 1000,
                        			
                                   notifications: [
                                    "CAMSALLE",
                                    ],
                                  },
                        
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/CAMPALIER",
                                   timeout: 1000,
                        			
                                   notifications: [
                                    "CAMPALIER",
                                    ],
                                  },
                        
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/CAMARRIERE",
                                   timeout: 1000,
                        			
                                   notifications: [
                                    "CAMARRIERE",
                                    ],
                                  },
                        
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/CAMGARAGE",
                                   timeout: 1000,
                        			
                                   notifications: [
                                    "CAMGARAGE",
                                    ],
                                  },
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/CAMGAUCHE",
                                   timeout: 1000,
                        			
                                   notifications: [
                                    "CAMGAUCHE",
                                    ],
                                  },
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/CAMAVANT",
                                   timeout: 1000,
                        			
                                   notifications: [
                                    "CAMAVANT",
                                    ],
                                  },
                        {
                              script: "/usr/bin/curl",
                              args: "-s  http://192.168.100.244:3000/TEMPSALLE",
                              timeout: 1000,
                              notifications: [
                               "TEMPSALLE",
                               ],
                             },
                        
                             {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/TEMPBUREAU",
                                   timeout: 1000,
                                   notifications: [
                                    "TEMPBUREAU",
                                    ],
                                  },
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/TEMPCHELENA",
                                   timeout: 1000,
                                   notifications: [
                                    "TEMPCHELENA",
                                    ],
                                  },
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/TEMPCHLOUCA",
                                   timeout: 1000,
                                   notifications: [
                                    "TEMPCHLOUCA",
                                    ],
                                  },
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/TEMPCHALAN",
                                   timeout: 1000,
                                   notifications: [
                                    "TEMPCHALAN",
                                    ],
                                  },
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/TEMPCHPARENT",
                                   timeout: 1000,
                                   notifications: [
                                    "TEMPCHPARENT",
                                    ],
                                  },
                        {
                              	script: "/usr/bin/curl",
                              	args: "-s  http://192.168.100.244:3000/AUTBATTMEGANE",
                              	timeout: 1000,
                              	notifications: [
                               	"AUTBATTMEGANE",
                               	  ],
                             		},
                        
                             {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/BATTMEGANE",
                                   timeout: 1000,
                                   notifications: [
                                    "BATTMEGANE",
                                    ],
                                  },
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/PLUGMEGANE",
                                   timeout: 1000,
                        			
                                   notifications: [
                                    "PLUGMEGANE",
                                    ],
                                  },
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/CHARGEMEGANE",
                                   timeout: 1000,
                        			
                                   notifications: [
                                    "CHARGEMEGANE",
                                    ],
                                  },
                        
                             ]
                           },
                          },
                        

                        So I think it launches all requests at the same time, because my server which must answer crashes.

                        I wanted to split it like this:

                        //INFORMATION HOMEY EUFY
                        
                        {
                           module: "MMM-CommandToNotification",
                           disabled: false,
                           config: {
                            updateInterval: 300,
                            commands: [
                             
                        
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/ETATEUFY",
                                   timeout: 1000,
                        			
                                   notifications: [
                                    "ETATEUFY",
                                    ],
                                  },
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/CAMSALLE",
                                   timeout: 1000,
                        			
                                   notifications: [
                                    "CAMSALLE",
                                    ],
                                  },
                        
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/CAMPALIER",
                                   timeout: 1000,
                        			
                                   notifications: [
                                    "CAMPALIER",
                                    ],
                                  },
                        
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/CAMARRIERE",
                                   timeout: 1000,
                        			
                                   notifications: [
                                    "CAMARRIERE",
                                    ],
                                  },
                        
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/CAMGARAGE",
                                   timeout: 1000,
                        			
                                   notifications: [
                                    "CAMGARAGE",
                                    ],
                                  },
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/CAMGAUCHE",
                                   timeout: 1000,
                        			
                                   notifications: [
                                    "CAMGAUCHE",
                                    ],
                                  },
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/CAMAVANT",
                                   timeout: 1000,
                        			
                                   notifications: [
                                    "CAMAVANT",
                                    ],
                                  },
                             ]
                           },
                          },
                        
                        
                        

                        and

                        //INFORMATION HOMEY EUFY
                        
                        {
                           module: "MMM-CommandToNotification",
                           disabled: false,
                           config: {
                            updateInterval: 300,
                            commands: [
                             
                        
                        
                        {
                              script: "/usr/bin/curl",
                              args: "-s  http://192.168.100.244:3000/TEMPSALLE",
                              timeout: 1000,
                              notifications: [
                               "TEMPSALLE",
                               ],
                             },
                        
                             {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/TEMPBUREAU",
                                   timeout: 1000,
                                   notifications: [
                                    "TEMPBUREAU",
                                    ],
                                  },
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/TEMPCHELENA",
                                   timeout: 1000,
                                   notifications: [
                                    "TEMPCHELENA",
                                    ],
                                  },
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/TEMPCHLOUCA",
                                   timeout: 1000,
                                   notifications: [
                                    "TEMPCHLOUCA",
                                    ],
                                  },
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/TEMPCHALAN",
                                   timeout: 1000,
                                   notifications: [
                                    "TEMPCHALAN",
                                    ],
                                  },
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/TEMPCHPARENT",
                                   timeout: 1000,
                                   notifications: [
                                    "TEMPCHPARENT",
                                    ],
                                  },
                        
                        
                             ]
                           },
                          },
                        
                        
                        

                        and :

                        //INFORMATION HOMEY EUFY
                        
                        {
                           module: "MMM-CommandToNotification",
                           disabled: false,
                           config: {
                            updateInterval: 300,
                            commands: [
                             
                        
                        
                        
                        {
                              	script: "/usr/bin/curl",
                              	args: "-s  http://192.168.100.244:3000/AUTBATTMEGANE",
                              	timeout: 1000,
                              	notifications: [
                               	"AUTBATTMEGANE",
                               	  ],
                             		},
                        
                             {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/BATTMEGANE",
                                   timeout: 1000,
                                   notifications: [
                                    "BATTMEGANE",
                                    ],
                                  },
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/PLUGMEGANE",
                                   timeout: 1000,
                        			
                                   notifications: [
                                    "PLUGMEGANE",
                                    ],
                                  },
                        {
                                   script: "/usr/bin/curl",
                                   args: "-s  http://192.168.100.244:3000/CHARGEMEGANE",
                                   timeout: 1000,
                        			
                                   notifications: [
                                    "CHARGEMEGANE",
                                    ],
                                  },
                        
                             ]
                           },
                          },
                        
                        
                        

                        But it doesn’t work, only the last element appears.

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