Ich behaupte, ich weiß hier zufällig mal sehr sehr gut Bescheid... "zufällig" setzen wir auch das RN4020 von Microchip von Anfang an ein, sogar in mittlerweile 5stelliger Stückzahl
Welche Softwareversion hast du auf dem RN4020?
(V1.20/V1.23 oder V1.33+ ... alles unter V1.20 ist Schrott, lässt sich aber per DFU/OTA updaten)
Hast du am RN4020 noch ein eigenes Programm(z.B. Microcontroler), oder willst du es per "Script" Standalone im Modul machen?
(Script unter V1.23 funktioniert nie wirklich gut, und wirklich drauf verlassen tun wir uns auch aktuell nicht, wir setzen immer einen eigenen Microcontroler zur Modulsteuerung und Powermanagement bei BattSystemen ein)
Wie konfigurierst du dein Modul?
(... sag mal deine "SS" & "SR" Werte)
Wenn es dir wirklich nur um ein paar Bytes(bis zu 5Bytes+1ByteCRC) eigenen Payload im Advertise geht, würde ich dir sogar als schnelle und 100% Android&IOS kompatiple Alternative empfehlen, nur den BLE Advertise Namen (SN oder S_ Komando) als 8Zeichen Base64 kodierte 6Bytes zu nutzen und eine 16ByteGUID als PrivateService zu definieren, womit du "deine Geräte" erkennen und vorfiltern kannst. Dann einfach bei allen 8Zeichen langen BLE Namen diese Base64 decodieren und die CRC der 5+1Bytes prüfen... so machen wir das nebenbei auch noch, weil das Verfahren 2 Vorteile hat: Die BLE Namen sind "unlesbar" was den Spieltrieb von Leuten mit BLE Scannern deutlich reduziert, das Verfahren bietet "zusätzliche" 40Bit Payload und funktoniert sogar mit allen Wald&Wiesen BLE-Modulen sowie ab Android 4.4 und IOS8.x