Read the statement by Michael Teeuw here.
PIR-Sensor - put your mirror to sleep if not used
-
@paviro
Thanks for making this module. I am experiencing the same issue as @incubik as my screen turns white when I start the MM. My PIR sensor works as I tested it on the R Pi and with some LEDs and my breadboard. I have reinstalled the MM and this module but I can’t seem to get it working. I have also no idea what causes this. Do you have any thought on this?
Thanks -
@sjuulbosmans white and black screens are mostly caused by wrong configuration. Check your web inspector!
-
I’ve tried to check the web inspector but when the screen is white… problems ahead —> The web inspector doesn’t pop up.
I’ve tried this without installing the PIR Sensor module and the web inspector works but again when the screen is in “white mode” doesn’t.
Any thoughts?
-
@incubik try the serveronly mode (see the wiki) :)
-
First of all: @paviro, many thanks for this module.
I ran into some troubles with the module and thought I should share this (and my solution) here.
Problem:
Without the PIR module, everything worked as it should. After installing the PIR module, everything appeared fine and the (HDMI) monitor switched off after a given amount of time (set via a variable resistance on the sensor itself). Upon motion detection by the PIR, the monitor switched back on but didn’t display anything (I could tell the monitor was on from the backlight). Remote access via ssh was not affected.
In the end, I figured out that this was due to an incorrect setting of the virtual terminal. Typing ‘sudo chvt 9 && sudo chvt 7’ on the remote terminal brought the image back to the monitor connected to the RasPi. After stopping the mirror, modifying the ‘activateMonitor’ function in ‘node_helper.js’ as below, and restarting the mirror, the problem was solved. I hpe this is helpful to others.Modified section of ‘node_helper.js’:
activateMonitor: function () { if (this.config.relayPIN != false) { gpio.digitalWrite(this.config.relayPIN, this.config.relayOnState) } else if (this.config.relayPIN == false){ exec("/opt/vc/bin/tvservice -p", null); exec("/usr/bin/sudo /bin/chvt 9 && /usr/bin/sudo /bin/chvt 7 ", null); }
PS: There may be more elegant solutions to this, but I my node.js skills are, shall we say, limited?
-
@IngmarSwart could you explain what setting this changes? And may open a pull request? Is this only possible with
sudo
?Please also note: Use Markdown on code snippets so it is easier to read!
-
@paviro, if I understoof the documentation correctly, the command
chvt
simply changes the foreground terminal. It appears that in my case the the output of the RasPi is send to another terminal than that is displayed on the monitor.My apologies for not using the markdown code. I only recently started using GitHub etc, so I have some learning to do when it comes to opening pull requests.
I just tested to confirm if the use of
sudo
is required. Unfortunately, it is. -
@IngmarSwart Strange that you have this issue, since I do not. I only have the problem when the monitor is disabled via a relay while the Pi boots.
Could you do some more research on why this is happening and maybe find a way to fix it withoutroot
rights? -
@paviro, I also don’t understand where it comes from, especially since the MagicMirror appears as it should immediately after boot. At first glance, the monitor (Philips 273V5L) and Pi seem to play nice: EDID information is correct,
tvservice -s
gives the native resolution and refresh rate of the monitor. If I can find some time, I will look into it. However, I am also quite earger to start playing with your Facial-Recognition module… :relaxed: -
This is more of a PSA than anything else, but particularly since the tvservice is part of the rPi’s firmware. While running
'sudo apt-get update && sudo apt-get upgrade'
will upgrade your rPi’s packages and firmware, it may not be the latest version. For most, this is okay. But if you’re like me, who likes to live on the bleeding edge of things, particularly when something isn’t working right, running'sudo rpi-update'
separately will update the firmware only, including binaries such as'tvservice'
since they’re part of the firmware, not just a standard package (in fact, you can’t find it as a stand alone package through'apt-cache'
.)Use at your own risk. :)