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.

    Simple(?) module to send a notification every x minutes?

    Scheduled Pinned Locked Moved Solved Requests
    35 Posts 3 Posters 20.6k Views 3 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.
    • S Do not disturb
      sdetweil @UncleRoger
      last edited by

      @UncleRoger done, git pull to update

      if the notification received matches the configured notification restart the timer

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      UncleRogerU 1 Reply Last reply Reply Quote 0
      • UncleRogerU Offline
        UncleRoger @sdetweil
        last edited by

        @sdetweil
        You truly are amazing!

        Am I right in thinking that if I change this:

              } else if(topic==this.config.notification){
        

        to this:

              } else if(topic==this.config.resetNotification){
        

        and put this in the config:

        resetNotification: "DIFF_NOTIF",
        

        in addition to the notification: setting, then I can have it reset when a different notification is received? And I’m assuming all modules get all the notifications?

        This would be so that if someone comes up and pushed the button to switch to the info display close to the end of the timer, it will reset it so they have time to look at what they want.

        UncleRogerU S 3 Replies Last reply Reply Quote 0
        • UncleRogerU Offline
          UncleRoger @UncleRoger
          last edited by

          @sdetweil
          I made that change and it does indeed work as I’d hoped. This is totally awesome!

          Thank you!

          1 Reply Last reply Reply Quote 0
          • S Do not disturb
            sdetweil @UncleRoger
            last edited by sdetweil

            @UncleRoger yes, make sure to add a default value in the defaults section

            one could consider a list of notifications that cause reset, then you can search the list w includes()

            as it’s a list, you could pre or postpend the notification to send to that list too

            this stops the code from growing with other else clauses

            resetNotifications:[]

            in start maybe,
            this.config.resetNotifications.unshift(this.config.notification)

            that puts the actual notification of the front of the list

            the in notificationReceived

            if(this.config.resetNotifications.includes(notification)
            resetTimer()

            only one test

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            1 Reply Last reply Reply Quote 0
            • S Do not disturb
              sdetweil @UncleRoger
              last edited by

              @UncleRoger said in Simple(?) module to send a notification every x minutes?:

              And I’m assuming all modules get all the notifications?

              yes, sendNotifications are broadcast to all modules

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              1 Reply Last reply Reply Quote 0
              • UncleRogerU Offline
                UncleRoger
                last edited by

                @sdetweil
                Do modules each have their own timer or does resetting the timer in one module affect another?

                I ask because I have MMM-BackgroundSlideshow set to change pictures each hour and MMM-SendNotification set to send a notification to MMM-Pages to switch to page 1 every 5 minutes. But in this setup, the picture never changes. My hypothesis is that when SendNotification resets the timer after 5 minutes, that affects BGSS which then never gets to 1 hour to switch to the next picture.

                If I change BGSS to change pictures every 1 minute (or less than 5 minutes), the picture does change as expected.

                Mind you, it’s probably something I’ve done that’s screwed it up, but I figured I’d ask about this first just to eliminate it as the source of the issue.

                M UncleRogerU 2 Replies Last reply Reply Quote 0
                • M Offline
                  MMRIZE @UncleRoger
                  last edited by MMRIZE

                  @UncleRoger
                  Unfortunately, BGSS is implementing suspend method to stop it’s timer. So when you page rotator hides BGSS, it’s timer doesn’t work.
                  If you have some knowledge of JS, you can make monkey-patch with MMM-ModuleMonkeyPatch to suspend method not to stop its timer.

                  UncleRogerU 1 Reply Last reply Reply Quote 0
                  • UncleRogerU Offline
                    UncleRoger @MMRIZE
                    last edited by

                    @MMRIZE
                    Hmmm… That’s actually a good behaviour, in my case. If it’s not being shown, there’s no need to be changing the picture.

                    But even when it’s not suspended, i.e., the picture is shown, it doesn’t change if its interval is greater than the SendNotification interval.

                    If i disable SendNotification and manually switch to the picture (i.e., unsuspend BGSS), it will happily switch pictures every hour.

                    M 1 Reply Last reply Reply Quote 0
                    • M Offline
                      MMRIZE @UncleRoger
                      last edited by MMRIZE

                      @UncleRoger
                      The module also implements “resume” method to reset timer, so if the module get shown, it may be reset.
                      But I’m not sure unless examining all three modules related.

                      S 1 Reply Last reply Reply Quote 0
                      • S Do not disturb
                        sdetweil @MMRIZE
                        last edited by

                        @MMRIZE the sendnotification module implements both suspend and resume

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        1 Reply Last reply Reply Quote 0
                        • UncleRogerU Offline
                          UncleRoger @UncleRoger
                          last edited by

                          So a little more testing…

                          If the interval for BGSS is >= the interval for SN, BGSS never changes the image. That is, SN causes BGSS to be active so its timer should start and (assuming nothing else changes) it should switch pictures according to the set interval but it doesn’t.

                          If the interval for BGSS < the interval for SN, and BGSS is active, it changes the image as it should.

                          Suspending and resuming BGSS does reset its timer, but if it’s not suspended, and its interval is >= SN’s, then it doesn’t change the image.

                          S 1 Reply Last reply Reply Quote 0
                          • S Do not disturb
                            sdetweil @UncleRoger
                            last edited by

                            @UncleRoger well there was a change I had to make to SN because pages was sending spurious resumes which caused timer resets

                            Sam

                            How to add modules

                            learning how to use browser developers window for css changes

                            UncleRogerU 1 Reply Last reply Reply Quote 0
                            • UncleRogerU Offline
                              UncleRoger @sdetweil
                              last edited by

                              @sdetweil
                              I have the latest version. (I’ve also forked it to add a separate resetNotification but that’s not in place at the moment.)

                              Based on what I’ve read about setInterval, the two modules should not be interfering with each other and yet, they sure seem to be.

                              M S 2 Replies Last reply Reply Quote 0
                              • M Offline
                                MMRIZE @UncleRoger
                                last edited by

                                @UncleRoger
                                Can you share your forked version?

                                UncleRogerU 1 Reply Last reply Reply Quote 0
                                • S Do not disturb
                                  sdetweil @UncleRoger
                                  last edited by

                                  @UncleRoger you will need a module to record all the notifications so you can see what is happening

                                  mmm-notifications I think

                                  Sam

                                  How to add modules

                                  learning how to use browser developers window for css changes

                                  1 Reply Last reply Reply Quote 0
                                  • UncleRogerU Offline
                                    UncleRoger @MMRIZE
                                    last edited by

                                    @MMRIZE said in Simple(?) module to send a notification every x minutes?:

                                    @UncleRoger
                                    Can you share your forked version?

                                    I’d love to, but I’m not sure how. I mean, it’s a couple tiny changes…

                                    It’s here: https://github.com/Unclearogre/MMM-SendNotification

                                    I should update the readme before trying to put it back in the main one.

                                    S 1 Reply Last reply Reply Quote 0
                                    • S Do not disturb
                                      sdetweil @UncleRoger
                                      last edited by

                                      @UncleRoger if you forked mine you can submit a pull request for me to include your changes

                                      Sam

                                      How to add modules

                                      learning how to use browser developers window for css changes

                                      1 Reply Last reply Reply Quote 0

                                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                      With your input, this post could be even better 💗

                                      Register Login
                                      • 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