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.

    Read dates from file and do a compare

    Scheduled Pinned Locked Moved Development
    12 Posts 2 Posters 2.7k Views 2 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.
    • B Offline
      BravoOscar @sdetweil
      last edited by

      @sdetweil

      What do you meen by " need some trigger function"? is that in the node_helper.js or where should it be?

      modulename.js sends node_helper a socket notification w the module config info
      node_helper sends the data back as object

      Should I write some code in the modulename.js that call file read or do you mean that this is the place to make the compare?

      S 2 Replies Last reply Reply Quote 0
      • S Offline
        sdetweil @BravoOscar
        last edited by

        @bravooscar compare back in modulename.js, it needs to decide.

        trigger
        just say nothing happens in node helper without some event

        this should get the file contents and send to modulename.

        modulename.js sends socketNotification to helper w config info to start the process

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        1 Reply Last reply Reply Quote 0
        • S Offline
          sdetweil @BravoOscar
          last edited by

          @bravooscar

          full node_helper.js above, tested, working
          need to get path to file in module folder (not current folder)

          sends object to module to make decisions on what to display

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          B 1 Reply Last reply Reply Quote 0
          • B Offline
            BravoOscar @sdetweil
            last edited by

            @sdetweil

            It now works, I can get data into my new object.

            My new json file look like this:

            {
              "RecyclingDates": [
            { "Type": "House", "Date": "02.01.2021"},
            { "Type": "House", "Date": "08.01.2021"},
            { "Type": "House", "Date": "15.01.2021"},
            { "Type": "Glass", "Date": "22.01.2021"},
            { "Type": "Glass", "Date": "29.01.2021"},
            { "Type": "Glass", "Date": "05.02.2021"},
            { "Type": "Garden", "Date": "12.02.2021"},
            { "Type": "Garden", "Date": "19.02.2021"},
            { "Type": "Garden", "Date": "26.02.2021"},
            { "Type": "Garden", "Date": "05.03.2021"},
            { "Type": "Big", "Date": "12.03.2021"},
            { "Type": "Big", "Date": "19.03.2021"},
            { "Type": "Big", "Date": "26.03.2021"}
            ]
            }
            

            I get this object output:

            Object
            RecyclingDates: Array(13)
            0:
            Type: "House"
            Date: "02.01.2021"
            __proto__: Object
            1:
            Type: "House"
            Date: "08.01.2021"
            __proto__: Object
            2: {Type: "House", Date: "15.01.2021"}
            3: {Type: "Glass", Date: "22.01.2021"}
            4: {Type: "Glass", Date: "29.01.2021"}
            5: {Type: "Glass", Date: "05.02.2021"}
            6: {Type: "Garden", Date: "12.02.2021"}
            7: {Type: "Garden", Date: "19.02.2021"}
            8: {Type: "Garden", Date: "26.02.2021"}
            9: {Type: "Garden", Date: "05.03.2021"}
            10: {Type: "Big", Date: "12.03.2021"}
            11: {Type: "Big", Date: "19.03.2021"}
            12: {Type: "Big", Date: "26.03.2021"}
            length: 13
            

            I opend “0” and “1” in the object, so you can see how its stored in the object.

            How do I access these values in my module.js file. I hope to make a loop/compare of the array.
            My plan is to show different pictures according to the Type and if the Date is equale to current date.

            S 1 Reply Last reply Reply Quote 0
            • S Offline
              sdetweil @BravoOscar
              last edited by sdetweil

              @bravooscar

              for( let entry of object.RecylingDates){
                if (entry.Type ==='House'){
                    if(entry.Date==='........'){
                    }
                 }
              }
              

              you can use moment().format(???)
              where ??? is the layout of yiur date strings to get something for today, tomorrow…

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              B 1 Reply Last reply Reply Quote 0
              • B Offline
                BravoOscar @sdetweil
                last edited by

                @sdetweil

                I have this now, and this is working.

                for(let type of Object.keys(obj)){
                var date = obj[type];
                console.log(type, date);
                }
                

                This will show the correct type and date.
                But I have something in mind, that look like this:

                if date === currentdate {
                picture=type+"Div"}
                
                ex:  
                20.02.2021 === 20.02.2021 then var piture= "bigDiv"
                

                picture is then displayed.

                but this have to be a loop, because there can be same dates but with different types(pictures)

                Does this gives any meaning? its hard to descripe, but I’m realy glad for all the help I get.

                S 1 Reply Last reply Reply Quote 0
                • S Offline
                  sdetweil @BravoOscar
                  last edited by

                  @bravooscar as i said u can use the js library moment().format(‘dd.mm.yyyy’) to get today in string to compare

                  see the online doc for exact syntax

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  B 1 Reply Last reply Reply Quote 0
                  • B Offline
                    BravoOscar @sdetweil
                    last edited by

                    @sdetweil
                    That I know. I allready have the actual date and the date from the array,
                    Im unsure of how to get all the dates and all the types from the array, so if there are more of the same dates, then there are more types taht has to be displayed.

                    S 1 Reply Last reply Reply Quote 0
                    • S Offline
                      sdetweil @BravoOscar
                      last edited by

                      @bravooscar u are usuing object.keys() to.loop.over the array this only gives u unique entries, house, …

                      i would use my loop, which covers every entry.
                      i dont understand your file data

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      B 1 Reply Last reply Reply Quote 0
                      • B Offline
                        BravoOscar @sdetweil
                        last edited by

                        @sdetweil

                        Thanks for all the help.
                        I ended the project because I found a module that allready hat the function that I was looking for.

                        You came up with some good information, thx for the help.

                        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