2021-03-07, 06:19 PM
(2021-03-05, 06:18 PM)tkurki Wrote: Here is an implementation of Signal K over MQTT cloud bridge, with local buffering in Mosquitto: https://github.com/tkurki/signalk-mqtt-gw/pull/17
It is work in progress, but working. Well, more like stalled to be more precise.
I can continue with that if there is interest.
@tkurki - I managed to get this working with a vanilla setup. I had to do a bit of fiddling to get the signalk delta into exactly the right format - it was getting changed slightly during the transfer over MQTT which was creating issues on the receiving end.
The other issue I ran into was that node-red's MQTT wrapper has a bug that means the MQTT QoS is ignored. Even if you set it to QoS level 1, if the client is not connected to the server, node-red will not queue the messages and they get lost.
The issue is tracked here https://github.com/node-red/node-red/issues/2864
There is a temporary workaround that seems to be working for me which you can find in the issue tracker
This solution seems to be working quite well so far - messages are queued on the raspberry PI on the boat and as soon as the MQTT connection is established, all the messages are sent to the signalk server in the cloud
Im wondering if the cloud bridge you are working on is trying to achieve the same thing, or is it different?
Happy to elaborate on any areas if there are questions