I think the iSpindel can actively push data to the BrewBlox message bus endpoint, while the Tilt would be read over Bluetooth by a new microservice on the pi that will put a message on the exchange to be picked up by the data logging service.
I see Bob is also typing, so I’ll leave it to him to fill in the details
You’re right in that the first part of the routing key should just be an unique identifier to avoid mixing data.
We use Pint to do the actual temperature conversions. Most of our own code is for finding temperature values in arbitrary blobs of JSON, and converting them to user-preferred alternatives. If your incoming data model is small and static, Pint is all you need.
Your code snippet looks correct: this should be handled correctly by the history service, and logged in Influx.
Thanks. @Elco I managed to get some standalone asyncio code going a few days ago that has a bluepy scanner going in one executor and a busy loop in another to prove it was working asynchronously. So that code works. I’ve been looking at the iSpindle code but wasn’t sure if it was 100% functional and wanted to check I was along the right lines before going down the rabbit hole