Sì, ora è più chiaro. Ci sono diverse cose dubbie/inutili nel codice ma non sono importanti ora, tralasciamole.
Non conosco personalmente la API gnu.io ma è ben comprensibile il suo uso, in quanto risulta chiaro che viene registrato un EventListener e quindi dopo un setup iniziale, la applicazione va avanti per "eventi" in base a quello che il device invia.
Il punto non è tanto questo. Avendo usato InputStreamReader/BufferedReader è chiaro che il "protocollo" dei dati è testuale, fatto "a righe".
Quindi in sostanza il tuo problema principale diventa: data una stringa es. "Mapped Sensor Values Red: 229/t Green: 228 Blue: 220Raw Sensor Values Red: 919 Green: 913 Blue: 882" andare ad estrarre le informazioni di interesse.
E questo si può fare in svariati modi, usando tutti i metodi e le funzionalità del framework per la gestione delle stringhe.
Da dei banali indexOf() per trovare i punti chiave e poi con dei substring() ... fino ad arrivare all'uso delle regular expression.
Dipende quanto/cosa sai a riguardo.![]()