MQTT Proxy to modify topics

Instead of NodeRed - what are your thoughts @glyn.hudson Glyn on a ‘Modifying MQTT Proxy’ - as light-weight way to get Shelly data to emon (ie avoiding the need for NodeRed altogether: so could be light enough code to run on emonPi hardware. And seems more efficient than EmonPi duplicating the MQTT data for the shelly data twice: once pre and once post-NR ?

Actually there are loads on GitHub - here’s the first one I found: you may know of better ones

Quoting from: https://github.com/phoenix-mstu/janus-mqtt-proxy

Modifying MQTT proxy

With this service you can transform MQTT topics and their payload by specifying transformation rules.

For example you have topics /some/topic1 and /some/another/topic2 on MQTT broker, and you have a client which needs them to be /root/topic1 and /root/topic2.

That looks like a great option, I’m not familiar with MQTT proxy. Any idea what template would be required to convert:

topic: shelly/status/temperature:0 payload: {"id":0, "tC":23.1, "tF":73.6}

to

topic: emon/shelly/indoor payload: 23.1

There doesn’t seem to be much documentation on how the template transformations work.

It seems to work fine to me. I think the display issues have been fixed with FW update. I’m only really bothered about temperature readings. Humidity measurements are not usually as accurate as temperature.

@glyn.hudson

My MQTT knowledge is very limited. And I’ve not used this proxy. It was just the concept of converting ‘on the fly’ as a proxy that sounded cool.
That GitHub project is I notice from a Russian guy - not sure if that changes my view on whether I’d want to use it personally, or not.

Anyway, his complex yaml file shows loads of conversions>

and his medium article explains the big picture