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.

    Hide modules when display goes off through PIR (power saving)

    Scheduled Pinned Locked Moved Unsolved Requests
    22 Posts 7 Posters 8.5k Views 6 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 Offline
      sdetweil
      last edited by sdetweil

      Well, there is a module… it needs one little script written for PIR.

      My MMM-SleepWake. It takes triggers from some external to MM.

      And supports the Pi, xdms, and blanking the screen for energystar devices.

      So, that suggests I need to provide that script… Thanks

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      1 Reply Last reply Reply Quote 0
      • T Offline
        thedk
        last edited by

        Saw this too, but forgot it.
        If somebody would write the script for the PIR it would be great.

        1 Reply Last reply Reply Quote 0
        • ejay-ibmE Offline
          ejay-ibm Project Sponsor Module Developer
          last edited by

          Hi @thedk ,

          I think my post is related to that too.
          https://forum.magicmirror.builders/topic/9792/blank-screen-issue-another-one-again-after-one-hour-or-so/7

          It look like you figured out faster than me the lack of communication of the PIR modules to the other .

          You will see in the post that I have open a git to the PIR dev to ask for some help .

          Hopefully we will find a way to make it .

          I’m not a dev at all but I understand coding .
          I confident that playing with some code for a week or 2 will bring me to what I want.

          If we don’t get consistent answer in the meantime I’ll ( If i’m able to make it) definitly share with the community my findings.

          Cheers

          1 Reply Last reply Reply Quote 0
          • T Offline
            thedk
            last edited by

            Thanks for the link.
            Then let’s see what will happen :)

            ejay-ibmE 1 Reply Last reply Reply Quote 0
            • ejay-ibmE Offline
              ejay-ibm Project Sponsor Module Developer @thedk
              last edited by

              @thedk Hi ,
              I finally manage to find a solution that works quite good.
              I do not deserve the credit for the solutions, only for the implementation as it merges multiple sources.
              First : PIR need a first trigger to work .
              Workaround : Make the HDMI OFF when the mirror start ( so your screen doesn’t stay ON always until someone pass in front of the miror )

              For this Edit :
              in the MMM-PIR-SENSOR folder
              node_helper.js
              around line 139

              this.started = true;
                  self.deactivateMonitor();  // add this to turn off monitor at startup . 
              

              Then to deactivate the idle / sleep mode of the modules due to MMM-Assistant

              Still in the node_helper.js modify line 34 like :

              exec(“/usr/bin/vcgencmd display_power 1 && xdotool key ctrl+r”, null); // add here xdotool key ctrl+r

              You need to install xdotool for this. That will allow to simulate the ctrl+r from keybaord that refresh the module therefore bring them back on screen .

              I set in the config.js file the pir module to put the screen off after 15 mins

              “powerSavingDelay”: “900”,

              I applied the same setting in MMM-AssistantMk2.js

              onIdle: {
              timer: 10006015, // if you don’t want to use this feature, just set timer as 0 or command as “”
              command: “HIDEMODULES”

              Summary When I start my mirror the screen is off. The PIR detect my presence and turn it ON .
              After 15 mins the screen goes off and the modules goes in sleep .

              As soon as the user presence is detected again , the screen goes on and modules are refreshed and come back .

              Hope this helps .

              EJ

              1 Reply Last reply Reply Quote 0
              • brobergB Offline
                broberg Project Sponsor
                last edited by

                Maybe I don’t understand your question… but

                Hiding modules only with css (i.e hiding them on screen) does nothing for the power saving.
                You need the monitor to go in to sleep for any power to be saved.

                The Pi still runs when you hide the modules, not much power to save there, And I don’t really think the modules reload when hiding/showing them. But I can be wrong haven’t looked in to the code on the Hide/show part.

                ejay-ibmE 1 Reply Last reply Reply Quote 0
                • S Offline
                  sdetweil
                  last edited by

                  modules do not reload… their content is not shown when hidden

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  1 Reply Last reply Reply Quote 1
                  • T Offline
                    thedk
                    last edited by

                    But it would save CPU Power if the Modules would be hide or not?

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

                      @thedk unlikely… or so small as to be unmeasurable

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      J 1 Reply Last reply Reply Quote 1
                      • ejay-ibmE Offline
                        ejay-ibm Project Sponsor Module Developer @broberg
                        last edited by

                        @broberg
                        Indeed you don’t save power but when placing the module “on sleep” you stop them for making them network request with API calls .

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