@cruunnerr said in {HowTo} turn on/off your monitor (Time based, PIR/Button, App):
Sure, my pir.py is the same as shown on point 2.2 but with other GPIO used
#!/usr/bin/env python
import sys
import time
import RPi.GPIO as io
import subprocess
import pigpio
io.setmode(io.BCM)
SHUTOFF_DELAY = 119 # seconds
PIR_PIN = 25 # 22 on the board
LED_PIN = 16
def main():
io.setup(PIR_PIN, io.IN)
io.setup(LED_PIN, io.OUT)
turned_off = False
last_motion_time = time.time()
while True:
if io.input(PIR_PIN):
last_motion_time = time.time()
io.output(LED_PIN, io.LOW)
print ".",
sys.stdout.flush()
if turned_off:
turned_off = False
turn_on()
else:
if not turned_off and time.time() > (last_motion_time +
SHUTOFF_DELAY):
turned_off = True
turn_off()
if not turned_off and time.time() > (last_motion_time + 1):
io.output(LED_PIN, io.HIGH)
time.sleep(.1)
def turn_on():
subprocess.call("sh /home/pi/lights_on.sh", shell=True)
def turn_off():
subprocess.call("sh /home/pi/lights_off.sh", shell=True)
if __name__ == '__main__':
try:
main()
except KeyboardInterrupt:
io.cleanup()
Because i use some LED Stripes which turn on when the pir detects movement my “monitor_on.sh” is called “lights_on.sh”
lights_on.sh:
vcgencmd display_power 1
pigs p 17 1
pigs p 22 1
pigs p 24 1
sleep 0.06s
pigs p 17 2
pigs p 22 2
pigs p 24 2
sleep 0.06s
pigs p 17 3
pigs p 22 3
pigs p 24 3
sleep 0.06s
pigs p 17 4
pigs p 22 4
pigs p 24 4
sleep 0.06s
pigs p 17 5
pigs p 22 5
pigs p 24 5
sleep 0.06s
pigs p 17 6
pigs p 22 6
pigs p 24 5
sleep 0.06s
pigs p 17 7
pigs p 22 7
pigs p 24 6
sleep 0.06s
pigs p 17 8
pigs p 22 8
pigs p 24 7
sleep 0.06s
pigs p 17 9
pigs p 22 9
pigs p 24 8
sleep 0.06s
pigs p 17 10
pigs p 22 10
pigs p 24 9
sleep 0.06s
pigs p 17 11
pigs p 22 11
pigs p 24 10
sleep 0.06s
pigs p 17 12
pigs p 22 12
pigs p 24 11
lights_off.sh:
pigs p 17 12
pigs p 22 12
pigs p 24 11
sleep 0.06s
pigs p 17 11
pigs p 22 11
pigs p 24 10
sleep 0.06s
pigs p 17 10
pigs p 22 10
pigs p 24 9
sleep 0.06s
pigs p 17 9
pigs p 22 9
pigs p 24 8
sleep 0.06s
pigs p 17 8
pigs p 22 8
pigs p 24 7
sleep 0.06s
pigs p 17 7
pigs p 22 7
pigs p 24 6
sleep 0.06s
pigs p 17 6
pigs p 22 6
pigs p 24 5
sleep 0.06s
pigs p 17 5
pigs p 22 5
pigs p 24 5
sleep 0.06s
pigs p 17 4
pigs p 22 4
pigs p 24 4
sleep 0.06s
pigs p 17 4
pigs p 22 4
pigs p 24 4
sleep 0.06s
pigs p 17 3
pigs p 22 3
pigs p 24 3
sleep 0.06s
pigs p 17 2
pigs p 22 2
pigs p 24 2
vcgencmd display_power 0
sleep 0.06s
pigs p 17 1
pigs p 22 1
pigs p 24 1
sleep 0.06s
pigs p 17 0
pigs p 22 0
pigs p 24 0
But what exactly doesn’t work with my script? Maybe i can help :)
Got this ( https://dordnung.de/raspberrypi-ledstrip/) working successfully on another raspberry running stretch.
now going to try this on Magicmirror. But i got confused, because PIR sensor is on GPIO22 and the same GPIO22 is used in led strip (5050).
Can you guide , which GPIO to be assigned?