@sweebee Now I ran some test with the PIR node and see detection at night where I’m sure nobody was in the room of the PIR. Is this a sensitivity issue? How do you manage to adjust your PIR in way it would not give a false presence?
-
How to Mysensors.
-
@Petjepet make sure you adjust the ghost sensitivity 😅
Did you use the 3.3v ‘hack’ on the pir? If so how does your sketch look, and have you attached more sensors?
-
@sweebee I used your sketch and for the test a Nano feeding with 5V using the 3.3V of it to feed the NRF and the PIR on the Repeat Trigger (where the jumper is). No more sensors, just the PIR.
-
@Petjepet haven’t tested it myself with the nano, will test it afternoon if it does the same.
My pirs work great with:
Pro mini 3.3v
Pir 3v hack
Only use interrupt
No sleep timer (gets false triggers) -
When using a nano it is also working when feeding the PIR with 3.3V on the regular feed of the PIR.
-
@sweebee I did some tests now with different configs.
Config: Nano, 5V powered, PIR and NRF on 3.3V from Nano using Repeat trigger connection, no jumper.
PIR is signaling very often (every few seconds) when no presence in area (high sensitive?). It seems not even to trigger on forced motion! So random presence signaling.Is the jumper needed in your config/sketch?
Config: Nano, 5V powered, PIR and NRF on 3.3V from Nano using regular power connection of PIR (5V needed according specs!), no jumper.
PIR is signaling as expected only on presence but sometimes (gaps of hours) also on no presence. This is performing more accurate.
This was the config I used last night for testing, being sure no actual presence could be detected but did 3 times between 2:00am to 6:00am. -
@Petjepet I don’t have any jumper attached. Have you tried different pirs?
Edit: I have attached a pir (3v hack) to a nano with a nrf and see what will happen in the next few hours.
-
@sweebee Your “3V hack” is attaching the 3.3v of the nano to the Repeat Trigger of the PIR, isn’t it?
-
@Petjepet Yes indeed.
-
@sweebee Different PIR, same result: every 30 sec detection. 3.3V on Nano is ok.
I thought maybe the 3.3V of the Nano was incorrect there since connecting the regular PIR power with 3.3V works better.
What does your PIR do on the Nano? -
@Petjepet its running for almost 45 minutes now and still no false triggers.
-
@sweebee Stange
Just to be sure some pictures of my setup:
Strange: an interval of ca 30 sec for detection regardless of any movement.
When connecting the standard power of the PIR to 3.3V it works with sometimes a false detection. -
@Petjepet Looks good to me. Maybe the power supply is the issue? This is my setup:
-
@sweebee The PIR gets 3.3V as I measured.
How does your PIR work when you connect the 3.3V to the regular feed of the PIR next to your purple wire? -
@Petjepet Doesn’t work. A lot of false triggers every xx seconds where the timer is set.
-
@sweebee Now connected power with USB. First difference: on the Nano also the RX and TX led are lighting, they didn’t before when source was on 5V of Nano
Now with configuration 1 (3.3V on Repeat Trigger of PIR) in dark spot working as yours.
Strange it would not work with 5V direct on Nano.
Good to know this causes different behaviour. Probably the 3.3V of Nano is less stable when sourced directly on 5V connection of Nano.
Only difference is change cable USB->5.5/2.1 cinch to USB->USB-mini using the same USB adaptor.
I’ll test it again this night and see if there are any ghost-presence messages. -
Hey @sweebee
could you please take a quick look on my issue.
i would to transmit a analog value between 0% and 100% and get very often failes
send: 6-6-0-0 s=255,c=3,t=15,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=255,c=0,t=17,pt=0,l=5,sg=0,st=fail:1.5.4 send: 6-6-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,st=fail:0 sensor started, id=6, parent=0, distance=1 send: 6-6-0-0 s=255,c=3,t=11,pt=0,l=12,sg=0,st=fail:Water Sensor send: 6-6-0-0 s=255,c=3,t=12,pt=0,l=3,sg=0,st=fail:1.0 send: 6-6-0-0 s=0,c=0,t=35,pt=0,l=0,sg=0,st=fail: find parent send: 6-6-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=255,c=3,t=0,pt=1,l=1,sg=0,st=fail:100 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 find parent send: 6-6-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 find parent send: 6-6-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 find parent send: 6-6-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 find parent send: 6-6-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=ok:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 find parent send: 6-6-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 find parent send: 6-6-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=255,c=3,t=0,pt=1,l=1,sg=0,st=fail:100 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 find parent send: 6-6-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 find parent send: 6-6-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:52 find parent send: 6-6-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:52 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:48 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:48 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:45 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:45 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:43 find parent send: 6-6-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:43 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:39 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:39 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:36 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:36 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:32 find parent send: 6-6-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:32 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:29 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:29 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:25 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:25 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:22 find parent send: 6-6-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:22 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:17 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:17 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:14 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:14 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:11 find parent send: 6-6-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: read: 0-0-6 s=255,c=3,t=8,pt=1,l=1,sg=0:0 parent=0, d=1 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:11 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:7 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:7 send: 6-6-0-0 s=255,c=3,t=0,pt=1,l=1,sg=0,st=fail:100 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:4 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:4 find parent send: 6-6-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:1 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:1 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 find parent send: 6-6-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=fail:0 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=ok:0
i use your sketch with V_LEVEL and S_MOISTURE
#include <MySensor.h> #include <SPI.h> #include <readVcc.h> // ********** CONFIG ********************************** #define NODE_ID 6 // ID of node #define CHILD_ID 0 // ID of sensor #define INPUT_PIN 1 // OUT-Pin of Sensor #define VCC_PIN 4 // VCC-Pin of Sensor #define MIN_V 2000 // empty voltage (0%) #define MAX_V 3200 // full voltage (100%) // **************************************************** MyMessage msg(CHILD_ID, V_LEVEL); MySensor node; int oldBatteryPcnt; int sentValue; int forceSend = 0; void setup() { node.begin(NULL, NODE_ID, false); node.sendSketchInfo("Water Sensor", "1.0"); node.present(CHILD_ID, S_MOISTURE); pinMode(INPUT_PIN, INPUT); pinMode(VCC_PIN, OUTPUT); digitalWrite(VCC_PIN, HIGH); } void loop() { digitalWrite(VCC_PIN, HIGH); // Turn on Moisture sensor // Get Percent int value = analogRead(INPUT_PIN); // Get Moisture int percent = map(value, 0, 1023, 0, 100); resend(msg.set(percent), 2); // Send PIR status to gateway sentValue = percent; // Send batterylevel sendBattery(); // Turn off Moisture sensor // Sleep until something happens with the sensor node.sleep(5000); } // FUNCTIONS void sendBattery() // Send battery percentage to GW { forceSend++; int batteryPcnt = min(map(readVcc(), MIN_V, MAX_V, 0, 100), 100); // Get VCC and convert to percentage if (batteryPcnt != oldBatteryPcnt || forceSend >= 20) { // If battery percentage has changed node.sendBatteryLevel(batteryPcnt); // Send battery percentage to gateway oldBatteryPcnt = batteryPcnt; forceSend = 0; } } void resend(MyMessage &msg, int repeats) // Resend messages if not received by GW { int repeat = 0; int repeatDelay = 0; boolean ack = false; while ((ack == false) and (repeat < repeats)) { if (node.send(msg)) { ack = true; } else { ack = false; repeatDelay += 100; } repeat++; delay(repeatDelay); } }
and a pimatic-device like
{ "class": "MySensorsMulti", "id": "Soil_Palme", "name": "Wasserstand Palme", "attributes": [ { "name": "Wasserstand Palme", "nodeid": 6, "sensorid": 0, "type": "integer", "unit": "%", "sensortype": 37 }, { "name": "Battery", "nodeid": 6, "type": "battery", "unit": "%" } ] },
-
@xCite86 does your gateway work? Is the sensor close enough? Did you try an other NRF? Most cases the NRF doesn’t work.
Try: different arduino’s / radio’s
-
wohooo… thanks man… thats the solution… the other one works great…
send: 6-6-0-0 s=255,c=3,t=15,pt=2,l=2,sg=0,st=ok:0 send: 6-6-0-0 s=255,c=0,t=17,pt=0,l=5,sg=0,st=ok:1.5.4 send: 6-6-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,st=ok:0 read: 0-0-6 s=255,c=3,t=6,pt=0,l=1,sg=0:M sensor started, id=6, parent=0, distance=1 send: 6-6-0-0 s=255,c=3,t=11,pt=0,l=12,sg=0,st=ok:Water Sensor send: 6-6-0-0 s=255,c=3,t=12,pt=0,l=3,sg=0,st=ok:1.0 send: 6-6-0-0 s=0,c=0,t=35,pt=0,l=0,sg=0,st=ok: send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=ok:58 send: 6-6-0-0 s=255,c=3,t=0,pt=1,l=1,sg=0,st=ok:100 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=ok:53 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=ok:51 send: 6-6-0-0 s=0,c=1,t=37,pt=2,l=2,sg=0,st=ok:50
-
Hello,
Thanks for all the work and formation. I have a question. For me is now working fine the PIR ,DOOR and DTH22 but now i want to use the LUX and LIGHT device but it gives unknow. What iam doing wrong.
This is the debug of pimatic and the config. I used the sketch of mysensors.debug [pimatic-mysensors]: <- I_LOG_MESSAGE 0;0;3;0;9;read: 15-15-0 s=0,c=1,t=23,pt=2,l=2,sg=0:39
debug [pimatic-mysensors]: <- I_LOG_MESSAGE 0;0;3;0;9;read: 16-16-0 s=0,c=1,t=23,pt=3,l=2,sg=0:358
{
“id”: “Light”,
“name”: “Light”,
“class”: “MySensorsLight”,
“batterySensor”: true,
“nodeid”: 15,
“sensorid”: 2
},
{
“id”: “Lux”,
“name”: “Lux”,
“class”: “MySensorsLux”,
“batterySensor”: true,
“nodeid”: 16,
“sensorid”: 1
},