Yea, tried that and everything else like casting (String) or 'as String' on the byte array that I need to send. The publish method forced the type as String which I would think would need to know it was base64 or some other protocol to move binary via String type.
SOOOOO close to having a working native solution for Roborock and this is the last step. I managed though all the user log in stuff, tokens, subscriptions, AES encryption to get stuck here.
Found the answer. Probably good to read the documents. You need to set the connect() to byteInterface to true and then pass the as message.encodeHex().toString()