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.

    Calendar Module: How to declare local calendar

    Scheduled Pinned Locked Moved Troubleshooting
    13 Posts 5 Posters 10.1k Views 5 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.
    • D Offline
      DazDavid @yawns
      last edited by

      @yawns Ok, the link finally solved my problem. I tried first to place the ics file under /MagicMirror directly but that doesnt work. As mentioned in the link I also created a new folder under /MagicMirror/modules and it works now. Thanks for your help.

      yawnsY 1 Reply Last reply Reply Quote 1
      • strawberry 3.141S Offline
        strawberry 3.141 Project Sponsor Module Developer @bhepler
        last edited by

        @bhepler something like this should do the job:

        move the call of complimentFile into the start method, you want to load that file only once not every 30 secs
        then override the the config compliments object with your data, that should be it

        start: function() {
            Log.info("Starting module: " + this.name);
        
            this.lastComplimentIndex = -1;
        		
            this.complimentFile((response) => {
                this.config.compliments = JSON.parse(response);
            });
        
            // Schedule update timer.
            var self = this;
            setInterval(function() {
                self.updateDom(self.config.fadeSpeed);
            }, this.config.updateInterval);
        },
        

        Please create a github issue if you need help, so I can keep track

        1 Reply Last reply Reply Quote 0
        • yawnsY Offline
          yawns Moderator @DazDavid
          last edited by

          @DazDavid
          great, glad to help!

          1 Reply Last reply Reply Quote 0
          • bheplerB Offline
            bhepler Module Developer @cowboysdude
            last edited by bhepler

            @cowboysdude said in Calendar Module: How to declare local calendar:

            console.log(json.compliments.morning[0])

            I’m not programmer either but doesn’t this line just call the first object in the json file?

            Yes, it does. My test file has ten compliments loaded for each array (morning, afternoon & evening). That line was just to verify that I was getting a JSON object and not a file path. Which it does, meaning that I have the code reading from a local and parsing into a JSON object correctly. Now if I can just get that object in place of the default one, I’m golden.

            @strawberry-3-141 said in Calendar Module: How to declare local calendar:

            @bhepler something like this should do the job:
            move the call of complimentFile into the start method, you want to load that file only once not every 30 secs
            then override the the config compliments object with your data, that should be it

            Well, nuts. I inserted this code and now the config.compliments is undefined. But I do think you’ve got me on the right track. Thanks!

            compliments.js:67 Uncaught TypeError: Cannot read property 'length' of undefined
            
            bheplerB 1 Reply Last reply Reply Quote 0
            • bheplerB Offline
              bhepler Module Developer @bhepler
              last edited by

              Okay, thanks to @strawberry-3-141 expert advice, I have it up and running. The code he gave me is good, the JSON file I am loading from is not. We’ve got it sorted out and now I’m loading a compliment array from a file. Woohoo!

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