Read the statement by Michael Teeuw here.
{HowTo} turn on/off your monitor (Time based, PIR/Button, App)
-
Make sure you run chmod - chmod +x pir.py
Then add it to startup:
- run - sudo nano /etc/rc.local
- Add this (above the “exit 0”): python /home/pi/pir.py &
- Save
Reboot to test
-
@komodoteler I’ll try again once I get off work, but i know I did chmod on pir.py and I currently have it in rc.local but I don’t currently have the “&” after it’s entry. When I looked at the first post it says to put it there but doesn’t display it in the code section.
Updated: Added the “&” still didn’t work, so I replaced the pir.py script that I was previously using and all seems to be great now. thanks again for the help.
-
hey guys,
i got another problem.
the script is working well but the python won’t start with booting my PI.i don’t know how often i repeated all the steps. I am using the method 2.2 Using PIR-Script.
i also put this line in my rc.local:
- python /home/pi/pir.py &
anyone got an idea what i’m doing wrong?
EDIT:
Sorry I have just read the post of @Magno99900. So you just created a complete new .py script? i will try this later! Thanks so far :grinning_face_with_smiling_eyes: -
I’ve just connected PIR sensor to my MM as written in step 2.1 Using PIR-Module
everything is connected MM is started but the screen is not turning off.
Can someone help me how can i check if PIR sensor is working and if it’s why the screen is still on ?
i’ve changed settings to
{
module: ‘MMM-PIR-Sensor’,
config: {
powerSavingDelay: 60 // (seconds) how long the monitor will be turned on
}
}, -
I found out that PIR sensor is ok.
i’ve created python script from this page ( https://tutorials-raspberrypi.com/connect-and-control-raspberry-pi-motion-detector-pir/ )and found out that i’ve switched Ground and 5V. I’ve corrected them and now when i execute : sudo python pir.py i get
There was a movement!before there was nothing, so i guess PIR sensor is OK
but it’s still not working to turn off the screen.
-
OK everything is working after creating scripts from step 2.2 :)
-
is there possibility to turn off PIR at specified time ? f.e. from 9pm untill 7am it will be off so if there will be movement display will not turn on.
-
Glad u got it working. :)
So u use the script from point 2.2 ?
Then u could kill the pir.py at 9pm and start at 7am via cronjob. With that u were able to define each day for itself :)
The command to kill the pir.py script is
sudo pkill $(ps aux | grep python pir.py | awk '{ print $2 }')
So the easiest way is to just edit your crontab. Try it like this:
-
nano killpir.sh
-
Write this into file and save with CTRL+X and Yes
sudo pkill $(ps aux | grep python pir.py | awk '{ print $2 }')
-
chmod +x killpir.sh
-
sudo nano /etc/crontab
-
Write this into file and save with CTRL+X and Yes:
0 21 * * * /usr/bin/sh /home/pi/killpir.sh 0 7 * * * /usr/bin/python /home/pi/pir.py
So for example your crontab looks like this:
# /etc/crontab: system-wide crontab # Unlike any other crontab you don't have to run the `crontab' # command to install the new version when you edit this file # and files in /etc/cron.d. These files also have username fields, # that none of the other crontabs do. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # m h dom mon dow user command 17 * * * * root cd / && run-parts --report /etc/cron.hourly 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) 47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ) 52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly ) 0 21 * * * root /usr/bin/sh /home/pi/killpir.sh 0 7 * * * root /usr/bin/python /home/pi/pir.py #
Didn’t try this solution at all, but hope/think this works :)
I would be glad about a feedback ;)
-
-
@cruunnerr ok thank you i’ll try it and let you know if it work.
just one question is it not needed to start pir.py in background ?
/usr/bin/python /home/pi/pir.py &
-
cron will start the pir.py in background. The scenario will be like:
Boot up magic mirror = starts pir.py via rc.local
at 21pm = stops pir.py via cron
at 7am = starts pir.py via cronfrom this on the circle is closed and cron will repeat this every day (in background)
well… i think so… maybe i am wrong :/When u reboot the mirror between 21pm and 7am the pir.py will be active for sure until the next 21pm will be reached … ;)
edit:
it would also be possible to implement a while-loop in the pir.py script to check if it is between 21pm and 7am.
But i never worked with that yet -.-