As for the part about speed and quality info, sorry, but that's "not even wrong". There's absolutely no way You could get this kind of info from Di2 ANT messages.
All You have is things like "the gear has changed" and "battery level is now X", not "when" has the user pressed the button or how many microsteps has the derailleur done at which speed. That goes through their own wires (I think it's basically a version of CAN).