Working with protobuf mqtt payloads


Any suggestions on an approach to decoding mqtt payloads in streamsheets that are encoded as protobuf?



This is currently a hot topic. Protobuf is actually a binary format so you need a decoder to get JSON back out of it. We are considering to add here a new connector for streamsheets to decode protobuf to JSON. For what do you need that? Sparkplug?


Hi Stefan,

Thanks for your reply!

The payload I’m dealing with isn’t related to Sparkplug, but I understand why you’d make that connection. Sparkplug is indeed a hot topic these days for the IIoT world. For this particular case, I have a collection of sensors that are publishing a protobuf encoded payload. I’ve got the sensor’s protofile, so decoding could be possible, as long as there is some way to do so in streamsheets.

Node-RED has some options to deal with protobuf via a community supplied node, but it would be ideal if I could use streamsheets for the entire payload processing pipeline.


very interesting. under these circumstances we should talk offline. please drop me a line under

Thanks, Stefan. I will contact you.

@cthor: one question already came up here internally:

  1. Do you use the same proto file like Sparkplug or would you need to feed in a custom proto file?
  2. if you have a different proto -file than Sparkplug B - would you need a flexible connector to feed for different streamsheets different proto files or would you always use the same schema?

Looking forward to your response here and also to your email!

@iotrainmaker , thanks for trying to clarify my use case.

  1. No, I do not use a protofile like Sparkplug. I’d need to feed in a custom protofile.
  2. If I understand the question correctly, I’d always use the same schema for that particular connector.