Hypfer / ICantBelieveItsNotValetudo

A Valetudo companion service which renders maps to pngs
Apache License 2.0
129 stars 80 forks source link

Added option to specify custom clientId for the MqttClient #89

Open Zolli opened 1 year ago

Zolli commented 1 year ago

Hy @Hypfer , i made this pull request to allow specify a custom clientId for the MQTT client. The reason behind this that now (according to MQTT V5 specification) servers require a permanent clientId for each connected client. The used Mqtt.js library default bhaviour is that the client generate a unique client id for the session during each connection, so this behaviour breaks the V5 auth mechanism, to fix this i allowd to specify a permanent clientId in the config.

This PR not breaks existing installations because when the config is not specified or the value is empty the library still generate random clientId`s as before, tested locally with every mentioned scenario.

The connection is also tested and verified using the VerneMq MQTT server.