[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.

  • @grumpazoid Could you give more details?

    This info helps to troubleshoot

  • @electrik Sketch is as detailed here https://www.mysensors.org/build/relay
    Using NRF24L01
    Mysensors library is up to date.

  • Mod

    @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.


    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.1

    Was 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
    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
    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/

  • @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.
    alt text
    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.

  • @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
    alt text

    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.

  • @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.


    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 🙂

  • @electrik Thanks for that. The first link there is another thread of mine! ☺
    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...

  • @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.

    1. Start with all the sensors close to the gateway and see if there are any errors.
    2. 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.
    3. 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.
    4. 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.
    5. 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.

  • This lost message is sent isolated, or it is a part of several ones sent at the same time?
    I ask for this because if several messages are sent in a row this is is somewhat expected. You will find examples of "sleep between send"

    What also does make sense to me is that if happens at nodes, also should happen at the gateway.
    I've experienced nodes being dropped by the gateway when a section of the network powers up at the same time.

    How do you control your messages? Do you use only domoticz or are monitoring with myscontroller? (Take care with domoticz)

  • @sergio-rius Each node sends a battery voltage every 2 minutes. If the PIR is tripped then it wakes from sleep and sends PIR tripped and also the battery voltage.
    I currently have Domoticz set to send me an email if it does not receive the battery voltage. I have tried MYScontroller but not sure how I would monitor all those messages over a few days? Does Domoticz have issues?

    I have currently taken the repeater out of the equation and replaced the NRF24L01+PA+NLA on the gateway with a NRF24L01+. So far only 2 errors in 24 hours from the furthest away sensor. Have moved it closer for testing.

    Update - after 2 hours I got the first failed message. I can understand that nodes may try to send at the same time but there must be a way to keep retrying?

  • I have had very strange errors and I don't know what I found out. 😐
    I had a repeater with a nRF24 PA+LNA working good for about 1 year, suddenly this repeater causing that the GW got hanged, no data was received from any nodes.
    I power off the repeater down, restarted GW and everything started to work normally.
    Last week I took time to solve the problem, it was still annoying me!!!
    Reprogram the same Arduino Nano and nRF with PA+LNA, worked for 2 days, then stopped.
    Same Arduino Nano but changed to nRF24 without PA+LNA, worked 1-2 days then stopped.
    Changed to Arduino UNO and nRF with PA+LNA, worked 2 days.
    Arduino UNO and nRF24 without PA+LNA worked 2 days.

    I was so frustrated and didn't had any idea. I had been running 2.3.0 on almost all my nodes, so I tried to change GW to version 2.3.1 and Repeater to version 2.3.1(Arduino UNO with nRF24 without PA+LNA) now it has worked for at least 1 week.

    My Arduino Nano is fake and UNO is genuine.

    Maybe you can get some help from this? 🙂

  • @flopp As far as I know everything is running on 2.3.1
    I now have all my nodes very close to the gateway. Will keep testing for a few days.

  • So after some considerable time and loss of sanity I now appear to have a stable setup. I'd like to share what I have done in the hope it may save others a lot of time and frustration.

    By enabling debug in the sketches, I eventually realised that I could not get any node to communicate reliably with the gateway. I was getting lots of NACKS even at short distances.

    I was sure that the problems were radio related but after trying many NRF24 modules I was about to give up.

    Then I read a post somewhere about ground planes.

    As a last resort I added a piece of aluminium between my gateway antenna and the radio. (PA/LNA Version). Eureka!! This has pretty much solved the NACK issues.
    alt text

    Following this one or two nodes still intermittently lost contact after a few hours or days. What is strange is that even if moved close to the gateway, errors continue until the gateway is power cycled? I still don't know why this is.

    I solved this problem by converting the Node PCB antennas into a dipole antenna as detailed at https://www.instructables.com/id/Enhanced-NRF24L01/.
    Now all nodes stay connected.
    Now after a couple more weeks of testing all is still good.

    I am using Domoticz with the MQTT output passed onto Node Red and now have some really cool things going on.

    A big thanks to all that replied and pointed me in the right direction.

  • Good to hear it is working good now. About the aluminium piece, this is mounted over the antenna connector and connected to ground?

  • @electrik Yes, I drilled a 6.5mm hole, just big enough for the SMA connector to fit through and then screwed the antenna back on. Because the plate sits inbetween the radio and antenna, and touches the outside of the SMA, it is connected to ground.

Log in to reply

Suggested Topics

  • 3
  • 4
  • 2
  • 2
  • 15
  • 2