If you set the ESP32 you are linked to as a access point and station, it works.... .kinda
WiFi.mode(WIFI_AP_STA);
WiFi.softAP(WIFI_SSID, WIFI_PASS);
int32_t channel = getWiFiChannel(WIFI_SSID);
esp_wifi_set_channel(channel, WIFI_SECOND_CHAN_NONE);
This works and transmits an SSID I can gauge the signal strength off of. And the ESP_NOW link still functions fine.
BUT....
int32_t rssi = WiFi.RSSI(0);
String SSID = WiFi.SSID(0);
int8_t scanResults = WiFi.scanNetworks(0); // This stops the network briefly
Serial.print("signal strength (RSSI):");
Serial.print(rssi);
Serial.println(" dBm");
Serial.print("SSID: ");
Serial.println(SSID);
It only returns the last received signal value when you call int8_t scanResults = WiFi.scanNetworks(0);
You have to keep requesting that command to get updated signal data and that disconnects the ESP link briefly which is very annoying.
Also, the '0' is the strongest network. If there is a stronger network closer to the ESP32 than your other ESP32, then it will read the strength of that instead.
I am going to add a search loop to look for the required SSID and only read that signal strength.
But, still doesn't fix the brief disconnect