• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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 13.2k 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.
  • U Offline
    UncleRoger @sdetweil
    last edited by Dec 14, 2023, 6:31 PM

    @sdetweil
    I switched to your fork and while it’s better, it’s still sending a notification every several seconds.
    Here’s my config:

    		{
    			module: "MMM-Pages",
                            classes: "fixed",
    			config:	{
    				modules:[	[ "page1" ],
    							[ "page2" ],
    						],
    				fixed: [ "fixed" ],
    				rotationTime:	10000,
    				animationTime:	10000,
    			}
    		},
    

    and

            {
                module: 'MMM-SendNotification',
                classes: "fixed",
                config: {
                    interval: 3600000, // 1 minute interval
                    notification: 'PAGE_CHANGED',
                    payload: 1,
                },
            },
    

    (I upped the interval to see if that would do anything. It didn’t.)

    I’ve commented out all the other modules except the clock, MMM-BackgroundSlideshow, and MMM-ViewNotifications.

    S 1 Reply Last reply Dec 14, 2023, 6:42 PM Reply Quote 0
    • S Away
      sdetweil @UncleRoger
      last edited by Dec 14, 2023, 6:42 PM

      @UncleRoger ok, git pull the latest
      and restart

      I now check to see if the handler was turned off on resume, so don’t start another

      lmk

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      U 1 Reply Last reply Dec 14, 2023, 7:29 PM Reply Quote 0
      • U Offline
        UncleRoger @sdetweil
        last edited by Dec 14, 2023, 7:29 PM

        @sdetweil
        That worked! Thank you so much!

        Now I am just being cheeky but if you are bored and want to add a feature, it would be great to be able to reset the timer based on a notification. (In my case, if MMM-Keypress sends a PAGE_INCREMENT notification to change pages, restart the timer from that point.)

        Anyway, I am getting really close to having everything the way I want it and am hoping that I can build an actual frame for the mirror and mount it next week and I couldn’t have done it without all your help (and so many others, like @MMRIZE and everyone who wrote the modules I’m using.) So, really, thank you!

        S 1 Reply Last reply Dec 14, 2023, 9:19 PM Reply Quote 0
        • S Away
          sdetweil @UncleRoger
          last edited by Dec 14, 2023, 9:19 PM

          @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

          U 1 Reply Last reply Dec 14, 2023, 11:39 PM Reply Quote 0
          • U Offline
            UncleRoger @sdetweil
            last edited by Dec 14, 2023, 11:39 PM

            @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.

            U S 3 Replies Last reply Dec 14, 2023, 11:52 PM Reply Quote 0
            • U Offline
              UncleRoger @UncleRoger
              last edited by Dec 14, 2023, 11:52 PM

              @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 Away
                sdetweil @UncleRoger
                last edited by sdetweil Dec 15, 2023, 12:07 AM Dec 14, 2023, 11:56 PM

                @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 Away
                  sdetweil @UncleRoger
                  last edited by Dec 15, 2023, 12:01 AM

                  @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
                  • U Offline
                    UncleRoger
                    last edited by Dec 18, 2023, 5:12 PM

                    @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 U 2 Replies Last reply Dec 18, 2023, 6:32 PM Reply Quote 0
                    • M Offline
                      MMRIZE @UncleRoger
                      last edited by MMRIZE Dec 18, 2023, 6:35 PM Dec 18, 2023, 6:32 PM

                      @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.

                      U 1 Reply Last reply Dec 18, 2023, 7:55 PM Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 4
                      • 2 / 4
                      2 / 4
                      • First post
                        20/35
                        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