Skip to content
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Troubleshooting
  3. !TSM:FPAR:NO REPLY
  • Getting Started
  • Controller
  • Build
  • Hardware
  • Download/API
  • Forum
  • Store

!TSM:FPAR:NO REPLY

Scheduled Pinned Locked Moved Troubleshooting
13 Posts 6 Posters 6.1k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ร Offline
    ร Offline
    รอเรือ
    wrote on last edited by
    #1

    Hi there!

    My new NRF24L01+ modules arrived today and I'm trying to test them.

    I had an unknown device listed in my Domoticz MySensors Gateway with USB so I deleted it in the Domoticz GUI. I thought it would be able to re-register with the Domoticz gateway but it fails. At least that's what I think. Anyway, I'm not able to get it back in the Domoticz device listing. I've restarted the gateway and tried the inclusion button etc but nothing seems to help. Below is the serial monitor debugging info. Any ideas?

    0 MCO:BGN:INIT NODE,CP=RNNNA--,VER=2.1.1
    32 TSM:INIT
    49 TSF:WUR:MS=0
    81 TSM:INIT:TSP OK
    98 TSF:SID:OK,ID=10
    114 TSM:FPAR
    180 TSF:MSG:SEND,10-10-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    2277 !TSM:FPAR:NO REPLY
    2293 TSM:FPAR
    2359 TSF:MSG:SEND,10-10-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    4456 !TSM:FPAR:NO REPLY
    4472 TSM:FPAR
    4538 TSF:MSG:SEND,10-10-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    6635 !TSM:FPAR:NO REPLY
    6651 TSM:FPAR
    6717 TSF:MSG:SEND,10-10-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    8814 !TSM:FPAR:FAIL
    8830 TSM:FAIL:CNT=1
    8847 TSM:FAIL:PDT

    1 Reply Last reply
    0
    • G Offline
      G Offline
      gloob
      wrote on last edited by
      #2

      I think we both have the same problem:

      https://forum.mysensors.org/topic/6135/no-new-node-possible

      ร 1 Reply Last reply
      0
      • G gloob

        I think we both have the same problem:

        https://forum.mysensors.org/topic/6135/no-new-node-possible

        ร Offline
        ร Offline
        รอเรือ
        wrote on last edited by
        #3

        @gloob
        Thanks, I will follow Your thread. The problem looks similar.

        1 Reply Last reply
        0
        • ร Offline
          ร Offline
          รอเรือ
          wrote on last edited by
          #4

          My problem was caused by the fact that the radio was inserted into a socket. The 4.7uF stabilizing capacitor was put on the main board side of the socket. Moving the capacitor to the radio board or just soldering the radio to the main board (without using a socket) solved the problem. So, don't use a socket between the radio and the stabilizing capacitor.

          Another interesting thing is that by putting a finger onto the antenna also solved the problem. I could use that method for testing all my radios (using the socket) before permanently soldering them onto the main board.

          R 1 Reply Last reply
          1
          • ร รอเรือ

            My problem was caused by the fact that the radio was inserted into a socket. The 4.7uF stabilizing capacitor was put on the main board side of the socket. Moving the capacitor to the radio board or just soldering the radio to the main board (without using a socket) solved the problem. So, don't use a socket between the radio and the stabilizing capacitor.

            Another interesting thing is that by putting a finger onto the antenna also solved the problem. I could use that method for testing all my radios (using the socket) before permanently soldering them onto the main board.

            R Offline
            R Offline
            Reza
            wrote on last edited by Reza
            #5

            @รอเรือ
            use a 100uf capacitor for radio and use

            #define MY_RF24_PA_LEVEL RF24_PA_HIGH
            

            for gateway and nodes.
            this is not excellent but work better with little error

            1 Reply Last reply
            1
            • W Offline
              W Offline
              wokwon
              wrote on last edited by
              #6

              I had the same problem.

              For some reason I'd connected NRF_CE to Pin D4 instead of D9.

              Simply putting #define MY_RF24_CE_PIN 4 made all the problems go away but I lost a couple of days figuring that out. I assumed the radio was connected fine as it was talking to the gateway, it would just not ACK messages.

              The gateway would show:

              7222879 !TSF:MSG:SEND,0-0-6-6,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
              

              (Running 2.2.0.rc2)

              1 Reply Last reply
              1
              • alowhumA Offline
                alowhumA Offline
                alowhum
                Plugin Developer
                wrote on last edited by alowhum
                #7

                I fixed it by adding:

                #define MY_NODE_ID 11
                #define MY_PARENT_NODE_ID 0
                #define MY_PARENT_NODE_IS_STATIC
                

                I had been noticing that the gateway was overwriting old nodes that hadn't connected for a while. Oddly, I can see the following ID's in Domoticz:

                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                123

                ร 1 Reply Last reply
                1
                • alowhumA Offline
                  alowhumA Offline
                  alowhum
                  Plugin Developer
                  wrote on last edited by
                  #8

                  And then fixed it some more by clearing the eeprom of my nodes. There's special sketch for that under examples.

                  1 Reply Last reply
                  0
                  • alowhumA alowhum

                    I fixed it by adding:

                    #define MY_NODE_ID 11
                    #define MY_PARENT_NODE_ID 0
                    #define MY_PARENT_NODE_IS_STATIC
                    

                    I had been noticing that the gateway was overwriting old nodes that hadn't connected for a while. Oddly, I can see the following ID's in Domoticz:

                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    123

                    ร Offline
                    ร Offline
                    รอเรือ
                    wrote on last edited by รอเรือ
                    #9

                    @alowhum Thanks for that solution.

                    This is an old topic but I recently started to have these problems again.

                    From the debug output:

                    !TSM:FPAR:NO REPLY
                    

                    I've tried so many different capacitors without success. The funny thing is that if I touch the antenna, communication starts to work.

                    Then I tried

                    #define MY_PARENT_NODE_ID 0
                    #define MY_PARENT_NODE_IS_STATIC
                    

                    And now it works. I suspect this is not a case of bad radio clones. It's something else. That's my guess.

                    I use MySensors 2.3.0 on my node and on my gateway. I also have a repeater node, I believe it has MySensors version 2.2.0. (Arduino 1.8.5)

                    You guys who know a lot, does this sound like that I've got a problem with my repeater node? Do you have any suggestions how I can find out what's the cause of the issue?

                    Thanks!

                    EDIT: One day after: The solution above stopped to work for some reason. I sound like an idiot, don't I? I have been working many hours trying to figure out what's the cause. Today nothing seemed to work (If touching the antenna it works but I can't do that all the time.) Anyway, I desoldered the radio and put a new one in. No change. I removed the power regulator and fed the radio with 3v battery, no change. I desoldered the radio again and put a socket so I can switch radio easily. I measured that the socket cnnections on the PCB works. Suddenly it works quite well with most radios that I've tried. I get a few NACK occasionally on some of the radios. Soldering additional capacitors on top of the radio doesn't seem to improve anything. It works quite well now but I can't accept that the socket is the solution that makes the radios work.

                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      Michał Kozak
                      wrote on last edited by
                      #10

                      Looks like I stared facing simillar issues

                      Logs from node (assembled on NewbiPCB) with 100uF cap.

                      111382 !TSM:FPAR:NO REPLY
                      111384 TSM:FPAR
                      111421 TSF:MSG:SEND,4-4-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
                      113430 !TSM:FPAR:NO REPLY
                      113432 TSM:FPAR
                      113469 TSF:MSG:SEND,4-4-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
                      115478 !TSM:FPAR:NO REPLY
                      115480 TSM:FPAR
                      115517 TSF:MSG:SEND,4-4-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
                      117526 !TSM:FPAR:FAIL
                      117528 TSM:FAIL:CNT=7
                      117530 TSM:FAIL:DIS
                      117532 TSF:TDI:TSL
                      

                      Gateway

                      Sep 29 21:30:17 DEBUG !TSF:MSG:SEND,0-0-4-4,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
                      Sep 29 21:30:18 DEBUG TSF:MSG:READ,4-4-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
                      Sep 29 21:30:18 DEBUG TSF:MSG:BC
                      Sep 29 21:30:18 DEBUG TSF:MSG:FPAR REQ,ID=4
                      Sep 29 21:30:18 DEBUG TSF:CKU:OK,FCTRL
                      Sep 29 21:30:18 DEBUG TSF:MSG:GWL OK
                      Sep 29 21:30:19 DEBUG !TSF:MSG:SEND,0-0-4-4,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
                      Sep 29 21:30:20 DEBUG TSF:MSG:READ,4-4-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
                      Sep 29 21:30:20 DEBUG TSF:MSG:BC
                      Sep 29 21:30:20 DEBUG TSF:MSG:FPAR REQ,ID=4
                      Sep 29 21:30:20 DEBUG TSF:CKU:OK,FCTRL
                      Sep 29 21:30:20 DEBUG TSF:MSG:GWL OK
                      Sep 29 21:30:21 DEBUG !TSF:MSG:SEND,0-0-4-4,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
                      Sep 29 21:30:22 DEBUG TSF:MSG:READ,4-4-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
                      Sep 29 21:30:22 DEBUG TSF:MSG:BC
                      Sep 29 21:30:22 DEBUG TSF:MSG:FPAR REQ,ID=4
                      Sep 29 21:30:22 DEBUG TSF:CKU:OK,FCTRL
                      Sep 29 21:30:22 DEBUG TSF:MSG:GWL OK
                      Sep 29 21:30:23 DEBUG !TSF:MSG:SEND,0-0-4-4,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
                      

                      Today I'm on development branch. I switched from 2.3.0 which had simillar issues hoping the problem will be resolved.

                      My sketch which isn't clean because I'm experimenting, trying to find solution

                      #define MY_DEBUG
                      //#define MY_PASSIVE_NODE
                      #define MY_TRANSPORT_WAIT_READY_MS 1
                      #define MY_RADIO_NRF24
                      #define MY_NODE_ID 4
                      //#define MY_PARENT_NODE_ID 0
                      //#define MY_PARENT_NODE_IS_STATIC
                      //#define MY_RF24_PA_LEVEL RF24_PA_MAX
                      
                      #include <MySensors.h>
                      // MYSENSORS_LIBRARY_VERSION
                      
                      // https://github.com/finitespace/BME280
                      #include <BME280I2C.h>
                      
                      typedef struct BatteryStatus {
                        float voltage;
                        int level;
                      
                        BatteryStatus() {
                          voltage = 0;
                          level = 0;
                        }
                      } BatteryStatus;
                      
                      typedef struct Weather {
                        float temperature;
                        float humidity;
                        float baro;
                      
                        Weather() {
                          temperature = -127.0;
                          humidity = -127.0;
                          baro = -127.0;
                        }
                      } Weather;
                      
                      const uint32_t SLEEP_TIME = 15*60*1000ul;
                      const bool DEBUG = true;
                      const float VBAT_FULL = 2.8;
                      const float VBAT_EMPTY = 2.0;
                      const byte BATTERY_VOLTAGE_SENSOR_ID = 3;
                      const byte TEMPERATURE_SENSOR_ID = 1;
                      const byte HUMIDITY_SENSOR_ID = 2;
                      const byte BARO_SENSOR_ID = 4;
                      
                      // current sensors readings
                      BatteryStatus batteryStatus;
                      Weather weather;
                      
                      // define mysensors messages
                      MyMessage vbatMsg(BATTERY_VOLTAGE_SENSOR_ID, V_VOLTAGE);
                      MyMessage temperatureMsg(TEMPERATURE_SENSOR_ID, V_TEMP);
                      MyMessage humidityMsg(HUMIDITY_SENSOR_ID, V_HUM);
                      MyMessage baroMsg(BARO_SENSOR_ID, V_PRESSURE);
                      
                      // configure BME280 sensor
                      BME280I2C::Settings settings(
                         BME280::OSR_X1,
                         BME280::OSR_X1,
                         BME280::OSR_X1,
                         BME280::Mode_Forced,            // Forced sample.  After taking the measurement the chip goes back to sleep.
                         BME280::StandbyTime_1000ms,
                         BME280::Filter_Off,
                         BME280::SpiEnable_False,
                         0x76                            // I2C address. I2C specific.
                      );
                      
                      BME280I2C bme(settings);
                      BME280::TempUnit temperatureUnit(BME280::TempUnit_Celsius);
                      BME280::PresUnit baroUnit(BME280::PresUnit_hPa);
                      
                      void readBatteryStatus(BatteryStatus& batteryStatus) {
                        int val = analogRead(A0);
                        float voltage  = val * 0.0033464521;
                        int level;
                        if (voltage > VBAT_FULL) {
                          level = 100;
                        } else if (voltage < VBAT_EMPTY) {
                          level = 0;
                        } else {
                          level = (int) ((voltage - VBAT_EMPTY) * 100.0 / (VBAT_FULL - VBAT_EMPTY));
                        }
                        if (DEBUG) {
                          Serial.print("readBatteryStatus: ");
                          Serial.print("val=");
                          Serial.print(val);
                          Serial.print(", level=");
                          Serial.print(level);
                          Serial.print("%, ");
                          Serial.print("voltage=");
                          Serial.print(voltage);
                          Serial.print("V");
                          Serial.println();
                        }
                        batteryStatus.voltage = voltage;
                        batteryStatus.level = level;
                      }
                      
                      void readWeather(Weather& weather) {
                        bme.read(weather.baro, weather.temperature, weather.humidity, temperatureUnit, baroUnit);
                      
                        if (DEBUG) {
                          Serial.print("readWeather: ");
                          Serial.print("temperature=");
                          Serial.print(weather.temperature);
                          Serial.print("C");
                          Serial.print(", humidity=");
                          Serial.print(weather.humidity);
                          Serial.print("%");
                          Serial.print(", baro=");
                          Serial.print(weather.baro);
                          Serial.println("hPa");
                        }
                      }
                      
                      void send(Weather& weather) {
                        //send_hard(temperatureMsg.set(weather.temperature, 1));
                        //send_hard(humidityMsg.set(weather.humidity, 1));
                        //send_hard(baroMsg.set(weather.baro, 1));
                      }
                      
                      void send(BatteryStatus& batteryStatus) {
                        //send_hard(vbatMsg.set(batteryStatus.voltage, 2));
                        sendBatteryLevel(batteryStatus.level);
                      }
                      
                      void send_hard(MyMessage& msg) {
                        int retry = 5;
                        while (retry--) {
                          if (send(msg)) {
                            return;
                          }
                          Serial.println("RETRY");
                          wait(50); // TODO: Add some random value to send
                        }
                      }
                      
                      void setup() {
                        // configure analog pin and do the first read
                        // looks like first read always returns MAX value,
                        // subsequent reads seems to be accurate
                        analogReference(INTERNAL);
                        analogRead(A0);
                      
                        int bmeRetry = 10;
                        while(!bme.begin() && bmeRetry > 0)
                        {
                          Serial.println("Could not find BME280I2C sensor!");
                          delay(1000);
                          bmeRetry--;
                        }
                      }
                      
                      void presentation() {
                        sendSketchInfo("Weather", "1.0");
                        present(BATTERY_VOLTAGE_SENSOR_ID, S_MULTIMETER, "BAT/VOLTAGE");
                        present(BARO_SENSOR_ID, S_BARO, "BARO");
                        present(TEMPERATURE_SENSOR_ID, S_TEMP, "TEMPERATURE");
                        present(HUMIDITY_SENSOR_ID, S_HUM, "HUMIDITY");
                        Serial.println("mmmmmmm");
                      }
                      
                      void loop() {
                        readWeather(weather);
                        send(weather);
                      
                        readBatteryStatus(batteryStatus);
                        send(batteryStatus);
                      
                        if (DEBUG) {
                          Serial.print("batteryStatus.level=");
                          Serial.print(batteryStatus.level);
                          Serial.print("%, batteryStatus.voltage=");
                          Serial.print(batteryStatus.voltage);
                          Serial.println("V");
                          Serial.print("weather: ");
                          Serial.print("temperature=");
                          Serial.print(weather.temperature);
                          Serial.print("C");
                          Serial.print(", humidity=");
                          Serial.print(weather.humidity);
                          Serial.print("%");
                          Serial.print(", baro=");
                          Serial.print(weather.baro);
                          Serial.println("hPa");
                          Serial.println();
                        }
                      
                        if (DEBUG) {
                          wait(10*1000ul);
                        } else {
                          wait(SLEEP_TIME);
                        }
                      }
                      
                      1 Reply Last reply
                      0
                      • alowhumA Offline
                        alowhumA Offline
                        alowhum
                        Plugin Developer
                        wrote on last edited by
                        #11

                        Isn't this a bit rigorous? This makes it skip trying to make a connection after 1 millisecond?

                        #define MY_TRANSPORT_WAIT_READY_MS 1
                        
                        1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          Michał Kozak
                          wrote on last edited by
                          #12

                          @alowhum said in !TSM:FPAR:NO REPLY:

                          MY_TRANSPORT_WAIT_READY_MS

                          I must admit that now I'm in "experimenting mode" trying every idea and see whether it helps.
                          Maybe you are right but the default is 0ms (see MyConfig.h)

                          1 Reply Last reply
                          0
                          • M Offline
                            M Offline
                            Michał Kozak
                            wrote on last edited by
                            #13

                            Hmmm.... today I managed to connect this node to gateway. I just rebooted gateway...

                            1 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            12

                            Online

                            11.7k

                            Users

                            11.2k

                            Topics

                            113.0k

                            Posts


                            Copyright 2019 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • OpenHardware.io
                            • Categories
                            • Recent
                            • Tags
                            • Popular