I have most of these hubs and motors and have made a somewhat useable Python library for them. There are some limitations beyond LEGO's software, they're noted in the comments for the hub and device files.
https://github.com/mutesplash/legomario/tree/main/BTLego
I'm working on a python library to connect to all the Bluetooth LE hubs and I came across a section of the documentation that says
"Sensor capabilities as bits. ... For decoding see separate doc."
https://lego.github.io/lego-ble-wireless-protocol-docs/index.html#port-mode-information
Anybody know where that "separate doc" might be? I have some sensors reporting this field and I wonder if it means anything useful.