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 954 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

      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

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

        1 Reply Last reply Reply Quote 0

        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

        With your input, this post could be even better 💗

        Register Login
        • 1 / 1
        • 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