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.

    MMM-Scenes2

    Scheduled Pinned Locked Moved System
    23 Posts 5 Posters 6.5k Views 4 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.
    • M Offline
      MMRIZE @hrmax23
      last edited by MMRIZE

      @hrmax23
      MMM-MyScoreboard is trying to control Show/Hide by itself. I don’t know why, anyway it does. I guess it doesn’t want to show empty content. However, its code is depending on the old MM’s code.

      https://github.com/jclarke0000/MMM-MyScoreboard/blob/3a07af647c5f667b6f678c0140e0a07d225ae739/MMM-MyScoreboard.js#L557-L568

          /*
            We're using the lockString parameter to play nicely with
            other modules that attempt to show or hide this module,
            e.g.: MMM-Facial-Recognition.  When both use a lockString,
            the module will only be visible when both agree that it
            should be visible.
          */
          if (!anyGames) {
            this.hide(1000, {lockString: this.identifier});
          } else {
            this.show(1000, {lockString: this.identifier});
          }
      

      .hide(duration, options) and .show(duration, options) were changed in a meantime as .hide(duration, callback, options) and .show(duration, callback, options). So that makes those error messages.

      [ERROR] [module.js:395:8] Parameter mismatch in module.show ...
      

      Maybe that prevents other controller module(like MMM-Scenes2)'s working. I guess so.

      H 1 Reply Last reply Reply Quote 0
      • H Offline
        hrmax23 @MMRIZE
        last edited by

        @MMRIZE
        I actually removed MMM-MyScoreboard from the scenario prior to your post and you are right that it’s the module causing the issue. That module seems dormant so I may try to see if I can fork it and try to fix it.

        Thanks for your help in looking into the issue!

        H 1 Reply Last reply Reply Quote 1
        • H Offline
          hrmax23 @hrmax23
          last edited by

          I may have spoken too soon. It has been working for about 12 hours but just froze on MMM-MyStandings so maybe that module has a similar issue.

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

            @hrmax23 many of the modules have a design flaw copied from one of the original modules.

            the web side provides the timing control to request data, which is reset when the helper responds.

            but if the helper encounters an error( network glitch, timeout… ), it does not respond. and so the main side is waiting and the helper thinks it is done… deadlock not recoverable until restart

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            mumblebajM 1 Reply Last reply Reply Quote 0
            • mumblebajM Offline
              mumblebaj Module Developer @sdetweil
              last edited by

              @sdetweil Can I ask a stupid question? When I initially started coding my first module I was advised to handle the suspend and resume in the module and picked the samples up from I think your sample module or maybe it was another module. Apologies if it was not yours.

              Are we saying it is bad practice to use the two together? I.e. handling the suspend and resume etc. in module and should rather leave it out completely?

              Check out my modules at: https://github.com/mumblebaj?tab=repositories
              Check my blog-post: https://mumblebaj.xyz/

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

                @mumblebaj well, it depends…

                if you want you module to continue to get data in the background when suspended, then no need to hook suspend and resume…

                but those calls will count against your data cap at the provider…
                my code doesn’t ‘handle’ the suspend/resume, just stays informed…

                also, if you had a long refresh interval (once every hour for example) , the data might be stale if you don’t refresh on wake up… like overnight.
                my system suspends all (hides) to blackout the screen as my monitors don’t support off/on…
                in this case the calls made while suspended would be wasted work…

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                mumblebajM 1 Reply Last reply Reply Quote 0
                • mumblebajM Offline
                  mumblebaj Module Developer @sdetweil
                  last edited by

                  @sdetweil Thanks Sam for the explanation. So it depends on the module design and data provider etc.

                  Check out my modules at: https://github.com/mumblebaj?tab=repositories
                  Check my blog-post: https://mumblebaj.xyz/

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

                    @mumblebaj
                    Usually, implementing the suspend and resume methods of the MM module is useful when your module depends on expensive resources. When your module is inactivated, it would be better to stop consuming resource.
                    But that mechanism is somehow annoying for me, so I ignore those methods. :D

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

                      @mumblebaj said in MMM-Scenes2:

                      So it depends on the module design and data provider etc

                      correct… other users might not know or understand the data provider issues, so in my opinion, if you are posting for other users consumption, you should consider this as a design requirement… (to be debugged later if you don’t do it from the beginning)

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

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

                        @MMRIZE said in MMM-Scenes2:

                        But that mechanism is somehow annoying for me, so I ignore those methods

                        what could be annoying… they call, you set a flag.
                        you save any timer handle when u start it anyhow…

                        so on sleep you stop it, and on resume you restart the timer… what could be so hard
                        if you get data back while suspended, you don’t call updateDom(), and don’t restart the data request

                        tiny amount of code…

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

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