After hooking up the Motion Sensor it always remains at 1 or the On state. It never goes to 0 even if I completely shield it from light or any movement.
It’s happening both on the online dashboard and the iOS app
Hey @julian, I know in our other troubleshooting you were using MQTT. Is this the case on this Pi as well? I ask because it’s a fairly simple system of sending and receiving sensor values, so I wonder if it would be good to troubleshoot by logging each of the motion sensor values to the console right as they are sent to Cayenne.
The idea being to find out if this is a wiring/hardware/sensor code issue where the motion sensor isn’t even sending Cayenne a 0 value to work with (so of course we would show all 1’s) or if your agent is publishing a 0/OFF state and for some reason on our end we’re not changing the widget state properly.
I think a good test would be to run this python code on the Pi while monitoring the Cayenne widget as well. All it does is loop and check to see what value it’s getting from the Motion Sensor and print it to the console. Just save it to a file named something like pirtest.py and run with python pirtest.py
import RPi.GPIO as GPIO
import time
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11, GPIO.IN) #Read output from PIR motion sensor
while True:
i=GPIO.input(11)
if i==0: #When output from motion sensor is LOW
print "No intruders",i
time.sleep(0.1)
elif i==1: #When output from motion sensor is HIGH
print "Intruder detected",i
time.sleep(0.1)
In my case, the motion sensor widget in Cayenne and the console output match up exactly. If they do for you, then I imagine Cayenne is just happily reporting what it is getting from the device, even if that is all 1’s. In that case I’d be more suspect of the sensor itself or its wiring. If they differ, it could be something on our end.
Speaking of wiring, you mentioned you had a resistor in place, but do you know what resistor type you’re using? In my case, and the tutorial image, it’s a 100 ohm resistor (brown/black/brown/gold). I’ll admit I’m not as good with electrical stuff as I am with software to know if a different resistor here would make a difference, but just so we can compare setups.
I am getting all 1’s. It might be the wiring. I did not see a resistor in the aforementioned tutorial so I did not use one. Am I looking at the wrong thing? Should I have a resistor?
I also don’t think the hardware is broken as I tried it with 3 different sensors (all the same model)
In the Technical specs it says that it sometimes doesn’t play well with the Raspberry Pi 3, which I have. Could this be the issue?
I see now. I suspect the tutorial page you linked earlier has an error. I think you need the resistor. Here is the instructions I was using to set mine up, which is what I’m going to suggest we change that tutorial to:
Also, silly question, but if you remember – how did you get to that page you linked a week ago? It’s clearly got an error, but I can’t figure out where it was linked on our website.
Hmm… that’s really strange. I’d say maybe it is the Pi 3 thing you read about, but my tests above were all on a Pi 3 as well.
I think where I’d go next is through the items on Adafruit’s page for the device. In those Connecting and Testing sections they talk about using a 10K resistor (this wasn’t necessary for me) and adjusting sensitivity if you’re not getting variable output. These seems like the next best things to play with to see if you can get an alternating output, at which time I’m sure Cayenne would pick up on it.
It’s no worry at all, I’m here to help troubleshoot. And every time I walk through these things I learn something about the platform and find potential bugs and improvements. So it was a learning experience for me too
Glad to hear things are working OK now, sometimes sourcing these electronic components can be a pain with all of the different distributors/manufacturers.