Skip to content
  • MySensors
  • 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. Hardware
  3. New 2.2.0 Signal report function

New 2.2.0 Signal report function

Scheduled Pinned Locked Moved Hardware
14 Posts 6 Posters 4.6k Views 8 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.
  • P Offline
    P Offline
    peerv
    wrote on last edited by
    #1

    How can I implement the new 2.2.0 function

    #define MY_SIGNAL_REPORT_ENABLED
    

    Should it be defined in the node and/or the gateway?
    Can it be used with NRF24?
    How is the RSSI value reported?
    Could not find a writeup on this new function.

    1 Reply Last reply
    1
    • gohanG Offline
      gohanG Offline
      gohan
      Mod
      wrote on last edited by
      #2

      https://forum.mysensors.org/topic/7822/portable-rfm69-signal-scanner/6

      It works only for RFM69 and I didn't need to add the define you mentioned

      1 Reply Last reply
      0
      • F Offline
        F Offline
        flopp
        wrote on last edited by flopp
        #3

        I tried to send RSSI with nRF and it seemed to work, I could get a value that was changing if I moved away from Gateway.

        i was using this variable, transportGetSignalReport(SR_TX_RSSI)

        so to send the RSSI create a Child, I think you can pick anyone that can handle value from 0-1024 then use below message to send the value

        send(RSSIMsg.set(transportGetSignalReport(SR_TX_RSSI)));

        I am using Domoticz as Controller

        1 Reply Last reply
        2
        • gohanG Offline
          gohanG Offline
          gohan
          Mod
          wrote on last edited by
          #4

          I'll give it a try

          1 Reply Last reply
          0
          • F Offline
            F Offline
            flopp
            wrote on last edited by
            #5

            I just now found some other maybe interested variables

            transportGetReceivingRSSI()
            transportGetSendingRSSI()
            transportGetReceivingSNR()
            transportGetSendingSNR()
            transportGetTxPowerLevel()
            transportGetTxPowerPercent()
            transportInternalToRSSI(_transportSM.uplinkQualityRSSI)

            i have not tested anyone of them, but it seems that "transportGetSendingRSSI()" will give same result as "transportGetSignalReport(SR_TX_RSSI)"
            so the message may look like this instead

            send(RSSIMsg.set(transportGetSendingRSSI()));

            1 Reply Last reply
            1
            • gohanG Offline
              gohanG Offline
              gohan
              Mod
              wrote on last edited by
              #6

              It's similar to the signal scanner code I used but I did not know it was working on nrf24

              1 Reply Last reply
              0
              • slingS Offline
                slingS Offline
                sling
                wrote on last edited by
                #7

                Very useful new feature.
                I learned a lesson: I'll be using the nrf24 without booster from now on. Much better range and commmunication.

                output from nrf24 with radio set to LOW:

                -256 :transportGetReceivingRSSI()
                -29 :transportGetSendingRSSI()
                -256 :transportGetReceivingSNR()
                -256 :transportGetSendingSNR()
                -12 :transportGetTxPowerLevel()
                25 :transportGetTxPowerPercent()
                0 :transportInternalToRSSI(_transportSM.uplinkQualityRSSI)

                1 Reply Last reply
                1
                • gohanG Offline
                  gohanG Offline
                  gohan
                  Mod
                  wrote on last edited by
                  #8

                  How did you make the tests?

                  1 Reply Last reply
                  1
                  • slingS Offline
                    slingS Offline
                    sling
                    wrote on last edited by
                    #9

                    I added this to my sketch and observed serial output:

                    Serial.print(transportGetReceivingRSSI()); Serial.println(" :transportGetReceivingRSSI()");
                    Serial.print(transportGetSendingRSSI()); Serial.println(" :transportGetSendingRSSI()");
                    Serial.print(transportGetReceivingSNR()); Serial.println(" :transportGetReceivingSNR()");
                    Serial.print(transportGetSendingSNR()); Serial.println(" :transportGetSendingSNR()");
                    Serial.print(transportGetTxPowerLevel()); Serial.println(" :transportGetTxPowerLevel()");
                    Serial.print(transportGetTxPowerPercent()); Serial.println(" :transportGetTxPowerPercent()");
                    Serial.print(transportInternalToRSSI(_transportSM.uplinkQualityRSSI));Serial.println(" :transportInternalToRSSI(_transportSM.uplinkQualityRSSI)");

                    I don't know if it's a valid way to check the values.

                    1 Reply Last reply
                    1
                    • jumpingJ Offline
                      jumpingJ Offline
                      jumping
                      wrote on last edited by
                      #10

                      Hi,
                      the NRF24l01 doesn't have a RSSI function as reported in Nordic datasheet, so how can the signal report work?
                      thanks

                      Raspberrry PI3 - Domoticz
                      ESP8266 GW - MySensors 2.1.1

                      mfalkviddM 1 Reply Last reply
                      1
                      • jumpingJ jumping

                        Hi,
                        the NRF24l01 doesn't have a RSSI function as reported in Nordic datasheet, so how can the signal report work?
                        thanks

                        mfalkviddM Offline
                        mfalkviddM Offline
                        mfalkvidd
                        Mod
                        wrote on last edited by
                        #11

                        @jumping it doesn't :-)

                        See https://github.com/mysensors/MySensors/blob/57eca4f4afb3a26f4ef0ec10d522ac062de4d101/hal/transport/RF24/MyTransportRF24.cpp#L176

                        int16_t transportGetReceivingRSSI(void)
                        {
                        	// not available, only bool RPD
                        	return INVALID_RSSI;
                        }
                        
                        int16_t transportGetSendingSNR(void)
                        {
                        	return INVALID_SNR;
                        }
                        
                        int16_t transportGetReceivingSNR(void)
                        {
                        	return INVALID_SNR;
                        }
                        

                        and
                        https://github.com/mysensors/MySensors/blob/6794c72ecd8c35c1a7587f73996d50c347b17f93/hal/transport/MyTransportHAL.h#L23

                        #define INVALID_SNR         ((int16_t)-256)	//!< INVALID_SNR
                        #define INVALID_RSSI        ((int16_t)-256)	//!< INVALID_RSSI
                        #define INVALID_PERCENT     ((int16_t)-100)	//!< INVALID_PERCENT
                        #define INVALID_LEVEL ((int16_t)-256) //!< INVALID_LEVEL
                        
                        jumpingJ 1 Reply Last reply
                        1
                        • mfalkviddM mfalkvidd

                          @jumping it doesn't :-)

                          See https://github.com/mysensors/MySensors/blob/57eca4f4afb3a26f4ef0ec10d522ac062de4d101/hal/transport/RF24/MyTransportRF24.cpp#L176

                          int16_t transportGetReceivingRSSI(void)
                          {
                          	// not available, only bool RPD
                          	return INVALID_RSSI;
                          }
                          
                          int16_t transportGetSendingSNR(void)
                          {
                          	return INVALID_SNR;
                          }
                          
                          int16_t transportGetReceivingSNR(void)
                          {
                          	return INVALID_SNR;
                          }
                          

                          and
                          https://github.com/mysensors/MySensors/blob/6794c72ecd8c35c1a7587f73996d50c347b17f93/hal/transport/MyTransportHAL.h#L23

                          #define INVALID_SNR         ((int16_t)-256)	//!< INVALID_SNR
                          #define INVALID_RSSI        ((int16_t)-256)	//!< INVALID_RSSI
                          #define INVALID_PERCENT     ((int16_t)-100)	//!< INVALID_PERCENT
                          #define INVALID_LEVEL ((int16_t)-256) //!< INVALID_LEVEL
                          
                          jumpingJ Offline
                          jumpingJ Offline
                          jumping
                          wrote on last edited by
                          #12

                          @mfalkvidd thanks for your answer, can you tell me what is the RF24_getSendingRSSI?

                          int16_t transportGetSendingRSSI(void)
                          {
                          	return RF24_getSendingRSSI();
                          }
                          

                          Raspberrry PI3 - Domoticz
                          ESP8266 GW - MySensors 2.1.1

                          mfalkviddM 1 Reply Last reply
                          0
                          • jumpingJ jumping

                            @mfalkvidd thanks for your answer, can you tell me what is the RF24_getSendingRSSI?

                            int16_t transportGetSendingRSSI(void)
                            {
                            	return RF24_getSendingRSSI();
                            }
                            
                            mfalkviddM Offline
                            mfalkviddM Offline
                            mfalkvidd
                            Mod
                            wrote on last edited by mfalkvidd
                            #13

                            @jumping github has a great search function if you want to get the answer quicker next time. :-)

                            Implementation: https://github.com/mysensors/MySensors/blob/345d6d7d119f5d2446c7d6a41e6f749e6ca8741c/drivers/RF24/RF24.cpp#L401

                            1 Reply Last reply
                            1
                            • jumpingJ Offline
                              jumpingJ Offline
                              jumping
                              wrote on last edited by
                              #14

                              thanks, next time I will use the github search function :-) :+1:

                              Raspberrry PI3 - Domoticz
                              ESP8266 GW - MySensors 2.1.1

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


                              13

                              Online

                              11.7k

                              Users

                              11.2k

                              Topics

                              113.1k

                              Posts


                              Copyright 2025 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
                              • MySensors
                              • OpenHardware.io
                              • Categories
                              • Recent
                              • Tags
                              • Popular