How to Use bluetoothctl on a Cerbo GX Device

To find the signal strength of SolarSence paired with the Cerbo, I was advised to use the ‘bluetoothctl’ tool to view the RSSI value.

I have SSH enabled and can log in. Then I executed commands such as:

  1. list > one controller found
  2. show > successfully displayed controller information. This also means the controller should already be selected.
  3. devices > no devices visible. If the device is already visible in Cerbo, should I see it here, or must I run (redundand) pairing commands inside bluetoothctl?

I also tried execute scan on (later should be terminated by scan off), I know the MAC address of the SolarSence and it was listed on the screen, but there was no line with an RSSI value. Some other devices were listed there that included RSSI, but not SolarSence.

Hi @CZvacko, you should enable bluetooth scanning with scan on, after that you can use info DEVICEMAC to get all relevant values including RSSI.

info E1:27:00:AF:D4:D2
Device E1:27:00:AF:D4:D2 (random)
        Name: SolarSense 750 HQ9999AAAE0
        Alias: SolarSense 750 HQ9999AAAE0
        Paired: no
        Bonded: no
        Trusted: no
        Blocked: no
        Connected: no
        LegacyPairing: no
        ManufacturerData.Key: 0x02e1 (737)
        ManufacturerData.Value:
  10 00 50 c0 ff f1 ce 01 05 14 00 04 00 9b ad 40  ..P............@
  62 01 29 12 eb 4a 07 fc                          b.)..J..
        RSSI: 0xffffffb0 (-80)
        AdvertisingFlags:
  06

For an unknown reason, the RSSI is missing :smiling_face_with_tear:


Device E1:xx:xx:xx:xx:E5 (random)
        Name: SolarSense 750 HQ2xxxxxxQG
        Alias: SolarSense 750 HQ2xxxxxxQG
        Paired: no
        Bonded: no
        Trusted: no
        Blocked: no
        Connected: no
        LegacyPairing: no
        ManufacturerData.Key: 0x02e1 (737)
        ManufacturerData.Value:
  10 00 50 c0 ff 59 e9 01 05 14 00 04 00 41 06 90  ..P..Y.......A..
  72 00 55 8b f6 4a 07 fc                          r.U..J..
        AdvertisingFlags:
  06 

Hi @CZvacko, unfortunately this is where my knowledge ends. I’ve asked one of our AI overlords and they came up with this: run btmon | grep -A 8 -i "AA:BB:CC:DD:EE:FF"

I’ve tested this and it also works (on my machine :wink:)

btmon | grep -A 8 -i "E1:27:00:AF:D4:D2"
        Address: E1:27:00:AF:D4:D2 (Static)
        Data length: 31
        Flags: 0x06
          LE General Discoverable Mode
          BR/EDR Not Supported
        Company: Victron Energy BV (737)
          Data: 100050c0ff800f0105140004007804a147089e1d124b07fc
        RSSI: -78 dBm (0xb2)

I’m hoping this will be more successful for you, but I’m afraid I can’t help any further.

The Mighty Overlord gave good advice. :+1:

Here are my observations regarding the SolarSense signal:

-48 ~ -50 dBm - 2m far from Cerbo, without any obstacles
-72 ~ -78 dBm - 10m far away, a thick wall + non-metal roof in the way
-82 ~ -86 dBm - 10m far away, a thick wall + another thin wall + non-metal roof in the way

The last location is where I have to leave it, when I moved it another 2 meters (so it could reach the panels), Cerbo stopped receiving data. So far, it seems to be working reliably, in both sunny and rainy days.

However, I noticed that when Cerbo lost the signal, no warning appeared. Also, the value of the MQTT topic N/xxx/meteo/20/Connected remained at 1 the entire time. But is this the correct topic for monitoring the connection? Or does a certain timeout have to be reached? In my case, the device was offline for nearly 30 minutes. I’m thinking about setting up an alert in Grafana/Node-RED so I can monitor this. However, I need to find a reliable MQTT topic.