[Solved] Repeater node causing Problems
-
I have recently constructed a relay actuator node that has repeater enabled.
Since then I get random lost communication messages from my other nodes. About once a day some or all my nodes report they have lost communication. This is done by reporting battery level every 2 mins. If they have not reported in after 4 mins I generate an error from Domoticz.The repeater is located once room away from the gateway. It is powered with a good 240AC to 12VDC adapter, going into a breadboard PSU to supply the necessary voltages.
I could of course just disable the repeater function, but it would be nice to know what is wrong.
-
I have recently constructed a relay actuator node that has repeater enabled.
Since then I get random lost communication messages from my other nodes. About once a day some or all my nodes report they have lost communication. This is done by reporting battery level every 2 mins. If they have not reported in after 4 mins I generate an error from Domoticz.The repeater is located once room away from the gateway. It is powered with a good 240AC to 12VDC adapter, going into a breadboard PSU to supply the necessary voltages.
I could of course just disable the repeater function, but it would be nice to know what is wrong.
@grumpazoid Could you give more details?
Sketch
transceiver
etcThis info helps to troubleshoot
-
@grumpazoid Could you give more details?
Sketch
transceiver
etcThis info helps to troubleshoot
@electrik Sketch is as detailed here https://www.mysensors.org/build/relay
Using NRF24L01
Mysensors library is up to date. -
@electrik Sketch is as detailed here https://www.mysensors.org/build/relay
Using NRF24L01
Mysensors library is up to date. -
@grumpazoid the logs from the node, repeater and gateway is probably the most efficient way to find out what is going on.
@mfalkvidd Thanks. Are we talking enabling logging on the controller (Domoticz) or is there a better way?
-
I am considering making this for that exact purpose.
https://www.openhardware.io/view/532/The-Logger-Machine-Short-and-long-term-serial-logging
Otherwise maybe just hook a laptop up with a putty session configured to just output the entire session to text file.
-
Thanks for the advice about logging.
Ive gone from bad to worse......Have commented out //#define MY_REPEATER_FEATURE and reuploaded sketch
Now Domoticz will not see the relay child sensor.
Ive wiped eeprom and deleted old device from Domoticz. It just sees :
255 S_ARDUINO_NODE 2.3.1Was getting all sorts of errors from other sensors not responding but rebooting everything seems to have calmed that down a bit.
Output from debug is
16 MCO:BGN:INIT NODE,CP=RNNNA---,REL=255,VER=2.3.1
26 MCO:BGN:BFR
27 TSM:INIT
28 TSF:WUR:MS=0
35 TSM:INIT:TSP OK
37 TSF:SID:OK,ID=8
38 TSM:FPAR
75 TSF:MSG:SEND,8-8-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
81 TSF:MSG:READ,0-0-8,s=255,c=3,t=8,pt=1,l=1,sg=0:0
87 TSF:MSG:FPAR OK,ID=0,D=1
2082 TSM:FPAR:OK
2083 TSM:ID
2084 TSM:ID:OK
2086 TSM:UPL
2089 TSF:MSG:SEND,8-8-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=OK:1
2101 TSF:MSG:READ,0-0-8,s=255,c=3,t=25,pt=1,l=1,sg=0:1
2106 TSF:MSG:PONG RECV,HP=1
2108 TSM:UPL:OK
2110 TSM:READY:ID=8,PAR=0,DIS=1
2114 TSF:MSG:SEND,8-8-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
2121 TSF:MSG:READ,0-0-8,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
2131 TSF:MSG:SEND,8-8-0-0,s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=OK:2.3.1
2140 TSF:MSG:SEND,8-8-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=OK:0
2153 TSF:MSG:READ,0-0-8,s=255,c=3,t=6,pt=0,l=1,sg=0:M
2159 TSF:MSG:SEND,8-8-0-0,s=255,c=3,t=11,pt=0,l=5,sg=0,ft=0,st=OK:Relay
2168 TSF:MSG:SEND,8-8-0-0,s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=OK:1.0
2177 TSF:MSG:SEND,8-8-0-0,s=1,c=0,t=3,pt=0,l=0,sg=0,ft=0,st=OK:
2182 MCO:REG:REQ
2188 TSF:MSG:SEND,8-8-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=OK:2
2195 TSF:MSG:READ,0-0-8,s=255,c=3,t=27,pt=1,l=1,sg=0:1
2200 MCO:PIM:NODE REG=1
2202 MCO:BGN:STP
2203 MCO:BGN:INIT OK,TSP=1 -
Last night I was just about to give up and at the last minute the troublesome relay node (without repeater enabled) got recognised.
I switched it off to take it out the equation.This morning all my motion sensors had lost contact overnight - lots of emails. Despite an update and reboot of the pi they are still all reluctant to talk to the controller?
Has having a previous repeater node messed up their routing?
-
It could be the motion sensors had the repeater as their parent and they cant find it (or reach it) anymore. Did you try to reset a sensor to see if it will connect to the gateway directly?
Connection problems with NRF24L01 are quite common. This could maybe help https://www.instructables.com/id/Enhanced-NRF24L01/ -
It could be the motion sensors had the repeater as their parent and they cant find it (or reach it) anymore. Did you try to reset a sensor to see if it will connect to the gateway directly?
Connection problems with NRF24L01 are quite common. This could maybe help https://www.instructables.com/id/Enhanced-NRF24L01/@electrik Thanks for the reply.
After I left everything alone 3 out of 4 sensors started reporting in. Another half an hour had the fourth sensor working. Maybe the routing has now been updated?
Each motion sensor reports battery every 2 minutes. Randomly these do not get through. Sometimes all sensors at once, sometimes just one. I was not getting so many errors when I first set this up.
I have now taken the repeater offline to rule that out. Still getting missed readings.I have tried to read up on ACK but it is very confusing. Is there a way I can keep re-sending battery messages until the controller gets them? Domoticz does say ACK is enabled on the battery child.

The code parser seems to suggest NACK -
@grumpazoid said in Repeater node causing Problems:
I have tried to read up on ACK but it is very confusing. Is there a way I can keep re-sending battery messages until the controller gets them? Domoticz does say ACK is enabled on the battery child.
You can check if you receive a hardware ack by checking the return value from the send() function. It returns true if the hardware received an ack from the receiver. This is only on hardware level though and it could be the software didn't receive it (if it isn't running for example). Or the other way around, you don't receive the ack but it was sent by the receiver.
-
@grumpazoid said in Repeater node causing Problems:
I have tried to read up on ACK but it is very confusing. Is there a way I can keep re-sending battery messages until the controller gets them? Domoticz does say ACK is enabled on the battery child.
You can check if you receive a hardware ack by checking the return value from the send() function. It returns true if the hardware received an ack from the receiver. This is only on hardware level though and it could be the software didn't receive it (if it isn't running for example). Or the other way around, you don't receive the ack but it was sent by the receiver.
@electrik So I would enable debug and look at the serial output of a sensor node?
I am now suspecting a problem with my gateway

After this 3 sensors carried on reporting, one is still has not reported battery even after over an hour.
-
I would check the radio modules. Did you source them from China? I had similar problems and they where caused by fake nrfs only aggravated by one repeater.
My modules only had range to next room, with luck. Some only had 3mt of range.
I think the repeater feature can only be used it you have very reliable radio modules, for the gateway and the repeater itself, and I would stay away from nrf24 for that. -
I would check the radio modules. Did you source them from China? I had similar problems and they where caused by fake nrfs only aggravated by one repeater.
My modules only had range to next room, with luck. Some only had 3mt of range.
I think the repeater feature can only be used it you have very reliable radio modules, for the gateway and the repeater itself, and I would stay away from nrf24 for that.@sergio-rius Thanks for the reply. Yes I have 3 NRF24 with good range but all other ones I have are significantly reduced.
I was almost ready to give up with them.However......
I put all my sensors near to the gateway for about a day. No errors produced.
I have now moved them all back to their original positions.....Now over 24 hours and fingers crossed no errors as yet. Actuator is back up and running but without repeater enabled.
Maybe some time was needed with strong signal for the routing to re adjust? -
In the past I've had connection problems with some of my modules, and it seemed the signal deteriorated after some years. Now I've placed a repeater node with an external antenna close to that one and this solved many issues. Also I've added a wire antenna on some modules (similar as in this https://forum.mysensors.org/topic/9947/nrf24l01-si24r1/9 and https://www.instructables.com/id/Enhanced-NRF24L01/) and that solved all issues.
For now at least :-) -
In the past I've had connection problems with some of my modules, and it seemed the signal deteriorated after some years. Now I've placed a repeater node with an external antenna close to that one and this solved many issues. Also I've added a wire antenna on some modules (similar as in this https://forum.mysensors.org/topic/9947/nrf24l01-si24r1/9 and https://www.instructables.com/id/Enhanced-NRF24L01/) and that solved all issues.
For now at least :-)@electrik Thanks for that. The first link there is another thread of mine! :relaxed:
I have now swapped the radio module on the serial gateway for the module I have with PA/LNA. (this module makes any arduino hang when set for MAX power so have to use on HIGH) So far things seem much more stable. battery reports from my sensors are getting through every time. Just had a false activation from one of my PIR sensors but I am guessing that is another issue.....
It is strange how the original radio module seems to have degraded over time. I think the jury is still out on NRF24's. -
@electrik Thanks for that. The first link there is another thread of mine! :relaxed:
I have now swapped the radio module on the serial gateway for the module I have with PA/LNA. (this module makes any arduino hang when set for MAX power so have to use on HIGH) So far things seem much more stable. battery reports from my sensors are getting through every time. Just had a false activation from one of my PIR sensors but I am guessing that is another issue.....
It is strange how the original radio module seems to have degraded over time. I think the jury is still out on NRF24's.@grumpazoid said in Repeater node causing Problems:
The first link there is another thread of mine!
Haha didn't see that.
Regarding the power setting, is your regulator powerful enough? The standard Arduino regulators usually aren't...
-
@grumpazoid said in Repeater node causing Problems:
The first link there is another thread of mine!
Haha didn't see that.
Regarding the power setting, is your regulator powerful enough? The standard Arduino regulators usually aren't...
@electrik I tried it on its own 662K regulator and pretty sure I also tried direct 3.3V from my bench PSU. I'll maybe have one more go at that.
-
I am pleased to say that I have finally got all my sensors and repeater up and running without errors - All battery reports are coming in every 1 or 2 minutes as per my sketch.
The problems were definitely radio related.
Here is what I have done to get it running error free.- Start with all the sensors close to the gateway and see if there are any errors.
- I had one node that was powered with an LM2596 and dropped out after a few hours. Adding in a LC filter has fixed it. Strangely my ethernet gateway is also powered by a LM2596 but is running quite happily. That does however use an amplified NRF24 module on a breakout board.
- I powered up my repeater again and repositioned the sensors to where I wanted them. I have told the sensors closest to the repeater that they should use that as their parent node.
- It was unclear on MYSCONTROLLER, if the repeater was being used, but as soon as the repeater is powered down, sensors loose contact so I know it is working.
- My repeater radio is NRF24L01 with added wire antenna. Much improved range.
-
Doh!!!!
So I have done some more testing. I am still getting intermittent data loss. I get this even if I eliminate the repeater. Every few hours a message from a sensor does not get through. I have tried reading up on how to get the node to resend but there does not seem to be an easy documented way.
This thread seems to sum it up.