Fixes#138
If the connection to a broker is lost mid qos 2 flow, there is a window where we have processed the PUBREL, released the message and deleted it from our store, but not sent the PUBCOMP. When the connection is re-established, and the PUBREL is resent by the broker, we assume the message still exists - and hit the error reported.
The fix is to check the message is valid before trying to process it. We send the PUBCOMP to complete the flow regardless.
Fixes#130
There was a timing window where a client could connect to a broker just as new flows were deployed that would cause the on-connect callback to be called after client has been set to null. This caused an NPE.
The fix is to check client isn't null in the event handler.
Fixes#115
The serial out node does a JSON.stringify if the payload is an object. This was incorrectly being applied to Buffer objects, causing the output seen in issue #115.
The Buffer is now passed through as-is (with the newline appended if so configured).
Partial fix to Issue #111
This doesn't fix the screaming loop issue if you try to write to an unplugged
serial port - but does attempt to fix the not retrying to reconnect part of
the issue.
Both were introduced by changes to the underlying serialport npm.
Addresses Issue #104
adds the option to re-use the character used the split input into lineson input as an append to every line sent out to the serial port.
This allows a websocket-in node to receive data, process it in a flow
and then send it back to the originating websocket client via a
websocket-out node.
Alternative implementation, closes#42
The username/password as not stored in the main flow file for security reasons;
they are stored in the adjacent credentials file. This does mean an extra step
to importing an MQTT node, as the user has to manually edit it to re-add username
and password if needed.