After giving on up finding a possible solution for the ESP8266 gateway, I decided to focus on potential issues with the sensors. I added a 4.7uF capacitor to the radios on the gateway and sensor as the troubleshooting thread suggested and it fixed my gateway issues.
Cravecode
@Cravecode
Best posts made by Cravecode
-
RE: ESP8266 Gateway restarts when data is received from node [Solved]
-
RE: "Node 1 is unknown" requires a restart. 2nd child element never presents
@martinhjelmare,
Updated my sketch, thanks again!
Latest posts made by Cravecode
-
RE: Does HA ignore repeat sensor values?
@martinhjelmare, sorry to bring up an old topic. I'm on a version of HA that includes your PR (v.: 0.54.0), however, my motion sensors only update their
last_updated
property when the motion sensor's state changes. I can see in HA'a log that it is receiving the expected repeated state (1;1;1;0;16;0
) every X minutes, but the entity doesn't update thelast_updated
timestamp unless the motion sensor's state changes. Is there a way I can force thelast_updated
timestamp for each msg?Some context: I'm attempting to write automation rules to create alerts for sensors that have not checked-in within X minutes.
-
RE: PIR Sensor false trigger every 10 minutes, same time node comes out of sleep.
@NeverDie said in PIR Sensor false trigger every 10 minutes, same time node comes out of sleep.:
IIRC, bypassing its LDO may help?
I've actually already done that, to reduce power consumption.
I'm running some tests now. It really looks like the 2.2.x version of the MySensors library helps. On my test piece, it has not had a false trigger in over an hour.
-
RE: PIR Sensor false trigger every 10 minutes, same time node comes out of sleep.
@NeverDie I'm using the HC-SR501. Google turns up lots of related info for the HC-SR501 and false triggers. I'll see what others are doing too.
-
RE: PIR Sensor false trigger every 10 minutes, same time node comes out of sleep.
@wallyllama I'm not cutting the power to the PIR sensor. Just putting the Arduino and radio to sleep.
-
Using 2.2.x MySensors library in Sloeber (Eclipse Arduino IDE). Build errors. (Solved)
I wanted to use the 2.2.x development branch in my project. So, I swapped out the code that Sloeber adds when you add the MySensors 2.1.1 release version with the latest code from the Github repo.
Context: This is for a PIR motion sensor using the
NRF24L01+
radio.I.e.: Replace:
/Applications/sloeber 4.app/Contents/Eclipse/arduinoPlugin/libraries/MySensors/2.1.1
with the contents ofgit clone https://github.com/mysensors/MySensors.git 2.1.1
I tried building my project (a PIR node), and got several build errors.
Example build errors:
'int16_t' does not name a type MyTransportHAL.h /MotionSensorBattery/libraries/MySensors/hal/transport line 118 C/C++ Problem
'int16_t' does not name a type MyTransportHAL.h /MotionSensorBattery/libraries/MySensors/hal/transport line 123 C/C++ Problem
'int16_t' does not name a type MyTransportHAL.h /MotionSensorBattery/libraries/MySensors/hal/transport line 128 C/C++ Problem
'int16_t' does not name a type MyTransportHAL.h /MotionSensorBattery/libraries/MySensors/hal/transport line 133 C/C++ Problem
'int16_t' does not name a type MyTransportHAL.h /MotionSensorBattery/libraries/MySensors/hal/transport line 138 C/C++ Problem
'int16_t' does not name a type MyTransportHAL.h /MotionSensorBattery/libraries/MySensors/hal/transport line 143 C/C++ Problem
'uint8_t' does not name a type MyTransportHAL.h /MotionSensorBattery/libraries/MySensors/hal/transport line 68 C/C++ Problem
'uint8_t' does not name a type MyTransportHAL.h /MotionSensorBattery/libraries/MySensors/hal/transport line 72 C/C++ Problem
'uint8_t' does not name a type MyTransportHAL.h /MotionSensorBattery/libraries/MySensors/hal/transport line 81 C/C++ Problem
'uint8_t' does not name a type MyTransportHAL.h /MotionSensorBattery/libraries/MySensors/hal/transport line 97 C/C++ Problem
Function 'NRF5_ESB_getNodeID' could not be resolved MyTransportNRF5_ESB.cpp /MotionSensorBattery/libraries/MySensors/hal/transport line 65 Semantic Error
Function 'NRF5_ESB_getReceivingRSSI' could not be resolved MyTransportNRF5_ESB.cpp /MotionSensorBattery/libraries/MySensors/hal/transport line 137 Semantic Error
Function 'NRF5_ESB_getSendingRSSI' could not be resolved MyTransportNRF5_ESB.cpp /MotionSensorBattery/libraries/MySensors/hal/transport line 132 Semantic Error
Function 'NRF5_ESB_initialize' could not be resolved MyTransportNRF5_ESB.cpp /MotionSensorBattery/libraries/MySensors/hal/transport line 54 Semantic Error
Function 'NRF5_ESB_isDataAvailable' could not be resolved MyTransportNRF5_ESB.cpp /MotionSensorBattery/libraries/MySensors/hal/transport line 86 Semantic Error
Function 'NRF5_ESB_powerDown' could not be resolved MyTransportNRF5_ESB.cpp /MotionSensorBattery/libraries/MySensors/hal/transport line 112 Semantic Error
Function 'NRF5_ESB_powerUp' could not be resolved MyTransportNRF5_ESB.cpp /MotionSensorBattery/libraries/MySensors/hal/transport line 117 Semantic Error
Function 'NRF5_ESB_readMessage' could not be resolved MyTransportNRF5_ESB.cpp /MotionSensorBattery/libraries/MySensors/hal/transport line 97 Semantic Error
Function 'NRF5_ESB_sanityCheck' could not be resolved MyTransportNRF5_ESB.cpp /MotionSensorBattery/libraries/MySensors/hal/transport line 91 Semantic Error
Function 'NRF5_ESB_sendMessage' could not be resolved MyTransportNRF5_ESB.cpp /MotionSensorBattery/libraries/MySensors/hal/transport line 80 Semantic Error
Function 'NRF5_ESB_setNodeAddress' could not be resolved MyTransportNRF5_ESB.cpp /MotionSensorBattery/libraries/MySensors/hal/transport line 59 Semantic Error
Function 'NRF5_ESB_sleep' could not be resolved MyTransportNRF5_ESB.cpp /MotionSensorBattery/libraries/MySensors/hal/transport line 122 Semantic Error
Function 'NRF5_ESB_standBy' could not be resolved MyTransportNRF5_ESB.cpp /MotionSensorBattery/libraries/MySensors/hal/transport line 127 Semantic Error
Function 'NRF5_ESB_startListening' could not be resolved MyTransportNRF5_ESB.cpp /MotionSensorBattery/libraries/MySensors/hal/transport line 60 Semantic Error
Function 'NRF5_getTxPowerLevel' could not be resolved MyTransportNRF5_ESB.cpp /MotionSensorBattery/libraries/MySensors/hal/transport line 157 Semantic Error
Function 'NRF5_getTxPowerPercent' could not be resolved MyTransportNRF5_ESB.cpp /MotionSensorBattery/libraries/MySensors/hal/transport line 152 Semantic Error
Function 'NRF5_setTxPowerPercent' could not be resolved MyTransportNRF5_ESB.cpp /MotionSensorBattery/libraries/MySensors/hal/transport line 162 Semantic Error
make: *** [libraries/MySensors/hal/transport/MyTransportRF24.cpp.o] Error 1 MotionSensorBattery C/C++ ProblemTo fix this, I simply excluded the
./hal
directory from the build. Everything appears to work fine now.I.e.: expand
libraries
> expandMySensors
> right click the./hal
directory > Properties > selectC/C++ Build
> tickExclude resource from build
.Can anyone shed some light on the work being done in the
./hal
directory? Am I messing something up by excluding this from my build? -
RE: PIR Sensor false trigger every 10 minutes, same time node comes out of sleep.
I tried the 2.2.x development branch of the MySensors library per @Yveaux's suggestion. The development branch appears to have fixed my issue!
-
RE: PIR Sensor false trigger every 10 minutes, same time node comes out of sleep.
Thanks for the replies!
I'll checkout the 2.2.x dev branch. I tried various sizes for capacitors with no luck. -
PIR Sensor false trigger every 10 minutes, same time node comes out of sleep.
I'm running the following: (PIR Node, MySensors Library v2.1.1) > (ESP8266 Gateway, MySensors Library v2.1.1) < (Home Assistant, 0.50.2).
The PIR node is currently on a breadboard powered by my test bench power supply to rule out as many factors as possible.
In my Home Assistant logbook, I can see the PIR is triggered every 10 minutes, all day long. At the end of my
loop(){...}
, I have the following code:unsigned long SLEEP_TIME = 600000; // (10 minutes), Sleep time between reports (in milliseconds) #define DIGITAL_INPUT_SENSOR 3 // The digital input you attached your motion sensor. /* ... */ void loop() { // Read digital motion value bool tripped = digitalRead(DIGITAL_INPUT_SENSOR) == HIGH; Serial.println(tripped); send(msg.set(tripped?"1":"0")); // Send tripped value to gw wait(500); /** defined by Arduino: CHANGE = 1 **/ sleep(digitalPinToInterrupt(DIGITAL_INPUT_SENSOR), CHANGE, SLEEP_TIME); }
I have verified that I do not get the false triggers if i disconnect the PIR sensor from the Arduino's pin 3. So, I know it's the actual PIR reacting to the Arduino coming out of sleep.
Could this be noise on the power rail from the Arduino or the NRF24L01+? If so, what are my options? I currently have a 4.7uf cap bridged across the NRF24L01's power connections. I will try adding a
wait(500);
before I actually read pin 3's value.FYI: I don't have a scope to test power noise
-
RE: Does HA ignore repeat sensor values?
@martinhjelmare I see you PR was merged a while ago. It looks like the
force_update
property defaults toTRUE
. Is this now the default behavior for all MySensors sensors?Sorry if this seems obvious, I just want to double check.
Thanks for your work and time! -
RE: ESP8266 Gateway restarts when data is received from node [Solved]
My situation involves 2 devices:
- Device 1 - Gateway (ESP8266 + NRF24L01)
- Device 2 - Temp sensor (NRF24L01 + DHT11)
FYI: I have a 4.7uF capacitor across the GND and VCC pins of the NRF24L01 on both devices.
This may sound silly, but make sure your ESP8266 is booted into the correct mode:
GPIO 0
=High
GPIO 2
=High
GPIO 15
=Low