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.
    • wishmaster270W Offline
      wishmaster270 Module Developer @ELMAGO
      last edited by

      @ELMAGO
      Do you mean something like this…
      example.png

      We first define a width for the most outer wrapper. I choose 200px but can adjust it to the value you want:

      .MMM-ValuesByNotification .vbn .groupsWrapper{
        width: 200px;
      }
      

      Then we configure the next two deeper wrappers to expand to the maximum width:

      .MMM-ValuesByNotification .vbn .groupWrapper,
      .MMM-ValuesByNotification .vbn .itemsWrapper {
        width: 100%;
      }
      

      And we tell the itemWrapper to expand to maximum width and justify its content by putting space around the items equally:

      .MMM-ValuesByNotification .vbn .itemWrapper {
        flex-direction: row;
        line-height: 1.0;
        width: 100%;
        justify-content: space-between;
      }
      

      The rest stays the same as before:

      .MMM-ValuesByNotification .vbn .itemTitle {
        margin-top: 0px;
        margin-bottom: 0px;
        min-width: 60px;
        text-decoration: unset;
        color: white;
      }
      
      .MMM-ValuesByNotification .vbn .groupWrapper {
        border-style: none;
      }
      
      E 2 Replies Last reply Reply Quote 0
      • 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
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5
                        • 5 / 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