• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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.

Python code to power on/off your MM-lcd and to mqtt motion

Scheduled Pinned Locked Moved Unsolved Troubleshooting
2 Posts 1 Posters 771 Views 2 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.
  • C Offline
    Cupola
    last edited by Cupola Jan 27, 2019, 2:41 PM Jan 27, 2019, 11:36 AM

    Hello to everyone, this is my first post in the forum, please take that into consideration :D …
    So I have MM working on a pi zero w, I’ve modded the lcd to be able to power on and off the backlight using one of the Gpio using a python code on startup.
    The problem is that I’m having some problems, recently I’ve implemented in the same python code the sending of an mqtt message status every time the PIR is trigged ON or goes OFF, the fact is that time by time, let’s say every 24h the pi get stuck…
    This is the code:

    #!/usr/bin/env python
    
    from time import time, sleep
    import datetime
    import os                 
    import RPi.GPIO as GPIO
    import urlparse
    import paho.mqtt.client as paho
    
    # Time to wait (in seconds)
    ttw=59
    cttw=ttw
    
    # Setup Gpio
    # GPIO.setwarnings(False)
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(23, GPIO.IN)         #Output PIR
    GPIO.setup(25, GPIO.OUT)
    
    # Mqtt
    #mqttc = mosquitto.Mosquitto()
    mqttc = paho.Client()
    
    url_str = 'mqtt://192.xxx.yyy.zzz:1883'
    url = urlparse.urlparse(url_str)
    mqttc.username_pw_set("xxxx", "yyyyyy")
    
    def sendmqtt(mess):
        print "Send mqtt"
        now = datetime.datetime.now()
        mqttc.connect(url.hostname, url.port)
    #   mqttc.publish("pir/kitchen", str(now) + mess)
        mqttc.publish("pir/kitchen", mess)
    
    while True:
        i=GPIO.input(23)
        if i==0:                 #When output from motion sensor is LOW, no movement
            cttw-=1
            print cttw
            if cttw==0: # Counter has reached zero
                print "Counter is 0"
                sendmqtt("OFF")
                GPIO.output(25, False)
                cttw=ttw    # Reset counter
    
        elif i==1:               #When output from motion sensor is HIGH, movement detected
            print "Motion detected"
            cttw=ttw   
            sendmqtt("ON")
            GPIO.output(25, True)
            sleep(1)    
        sleep(1)
    
    1 Reply Last reply Reply Quote 0
    • C Offline
      Cupola
      last edited by Jan 27, 2019, 11:40 AM

      I’m a total noob at coding so really every kind of suggestion is appreciated

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