Hi @Cameron,
- How do you set a message to QoS level 0?
You could this function.
bool publish(const char *, const char *, EMQTT_QOS, uint16_t *messageid = NULL);
like this.
client.publish("outTopic/message", "hello world", MQTT::QOS0);
- How do you set a time out of 1 minute on the connection?
This library send MQTT keep alive timeout ping in every 15 second.
TCP Layer timeout is depending on the Particle API (TCPClient).
- Does the library act in a non-blocking way when the connection is lost?
When MQTT or TCP connection is lost or fail, you could find that on client.isConnected() loop(see the sample source) is false.