Hello, since version 3.11.0 I get following warning:
user.warn chirpstack-gateway-bridge[9842]: time=“2017-01-07T20:56:56.07667604Z” level=warning msg=“integration/mqtt/auth: could not decode client ID to gateway ID” client_id=LoRaWanAP-45-Gaerberbach error=“encoding/hex: invalid byte: U+004C ‘L’”
It means the configured client_id can’t be decoded as Gateway ID. This is a warning, not an error. If you configure the client_id to the Gateway ID (e.g. “0102030405060708”), then this will enable the MQTT last-will and testament feature
as far as I understand, the Testamanet and Last-Will function is there to let the client tell the broker what will happen when the connection to the broker is aborted.
this happens automatically if the client_id = DevEUI.
My question: what is the “default-last-will” of Chirpstack Gateway Bridge? And where can this be customized?
If the client_id can be decoded to a Gateway ID, it will set a retained message containing the Gateway ID + connected state. Then if it disconnects, the LWT triggers sending a retained message containing the Gateway ID + disconnected state.
It is (currently) not used by ChirpStack itself, but it can be used by external monitoring software to monitor which gateways are connected / disconnected. E.g. if a gateway often disconnects and you don’t monitor the MQTT broker logs, you might never know that a gateway has connectivity issues. By making this connection state message retained, you can at every time query the connection state of a given Gateway ID.