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 5.8k 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

                              Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                              Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                              With your input, this post could be even better 💗

                              Register Login
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              17

                              Online

                              12.0k

                              Users

                              11.2k

                              Topics

                              113.4k

                              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