MagicMirror Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • Donate
    • Discord
    MagicMirror² v2.20.0 is available! For more information about this release, check out this topic.

    Module Refresh Time

    Forum
    3
    11
    271
    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.
    • mumblebaj
      mumblebaj Project Sponsor last edited by

      I have a quick question. I am wondering if the following is possible. In our modules we set a refresh Interval, say 1 hour 2 hours or 24 hours etc. Is it possible to set it to a specific time of day other than having to start the mirror at that specific time of day?

      So, currently I have a module that refreshes every 24 hours but to get it to refresh at the specific time of day that I want it to, I had to start the mirror at that specific time in order for the module to only refresh at that specific time the next day. Instead of having to do that, is it possible to set a module to refresh at a specific time?

      Was just wondering if it is possible and how if it is?

      S cowboysdude 2 Replies Last reply Reply Quote 0
      • S
        sdetweil @mumblebaj last edited by

        @mumblebaj we you can calculate the delta between now and that specific time of day, as the initial delay, and then shift to 24 hours for the next from the new ‘now’

        I do this in my COVID module, as the data won’t be available before 8 am every day… get the data, reset to wait til 8am, then try to get the data… repeat… sometimes it’s available at 8:05, sometimes not til after 11am

        milliseconds is just a number

        Sam

        Create a working config
        How to add modules

        mumblebaj 1 Reply Last reply Reply Quote 0
        • mumblebaj
          mumblebaj Project Sponsor @sdetweil last edited by

          @sdetweil Thanks for that Sam. Let me have a look at what you set on your module.

          So setting a specific time like one would in say crontab is not possible.

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

            @mumblebaj correct. setTimeout() and setInterval() take milliseconds from now

            Sam

            Create a working config
            How to add modules

            1 Reply Last reply Reply Quote 0
            • cowboysdude
              cowboysdude Module Developer @mumblebaj last edited by cowboysdude

              @mumblebaj in some modules at the top of the main js file you may see this ->

              updateInterval: 50 * 60 * 1000,
              

              Or you could add it to a module if need be.

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

                @cowboysdude but he wanted to wake up at a specific time of day

                so,
                create a date object with the target date and time,
                extract its milliseconds,
                subtract now ms from that= wait_ms,
                setTimeout(fn, wait_ms)

                Sam

                Create a working config
                How to add modules

                cowboysdude 1 Reply Last reply Reply Quote 1
                • cowboysdude
                  cowboysdude Module Developer @sdetweil last edited by

                  @sdetweil Yes you are right on both accounts 🙂

                  mumblebaj 1 Reply Last reply Reply Quote 0
                  • mumblebaj
                    mumblebaj Project Sponsor @cowboysdude last edited by

                    @cowboysdude I love it when you old timers get into it… I am looking at the @sdetweil suggestions. Thought there might have been an easier way.

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

                      @mumblebaj u can of course add ANOTHER library, only accessable from node_helper…

                      https://www.npmjs.com/package/node-cron

                      seems a lot of work for one little routine… with 1 line of code

                      and you can use moment too

                      https://stackoverflow.com/questions/36158193/javascript-set-a-new-date-to-tomorrow-8am

                      Sam

                      Create a working config
                      How to add modules

                      mumblebaj 1 Reply Last reply Reply Quote 0
                      • mumblebaj
                        mumblebaj Project Sponsor @sdetweil last edited by

                        @sdetweil Yep, i will look at your suggestion. Keeps it nice and tidy

                        S 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 Paul-Vincent Roll and Rodrigo Ramírez Norambuena.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy