diff options
author | Nicolas Hennion <nicolashennion@gmail.com> | 2024-03-16 09:12:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-16 09:12:38 +0100 |
commit | f7cc69b24ab874cd306ee12c446728a8ef0b15d1 (patch) | |
tree | 80c6590fe827bc5ab657cbe50ea9919e7f3d0c3e | |
parent | c591461fdefd87a58fdb4c220d8d3ca4c193081f (diff) | |
parent | 396283c9e96299075824815fb287921aa587b1aa (diff) |
Merge pull request #2700 from erdnaxela02/CallbackAPI_for_MQTT
Add CallbackAPIversion for MQTT export
-rw-r--r-- | docker-compose/glances.conf | 1 | ||||
-rw-r--r-- | glances/exports/mqtt/__init__.py | 7 |
2 files changed, 6 insertions, 2 deletions
diff --git a/docker-compose/glances.conf b/docker-compose/glances.conf index f07ff1c0..50066773 100644 --- a/docker-compose/glances.conf +++ b/docker-compose/glances.conf @@ -600,6 +600,7 @@ user=guest password=guest topic=glances topic_structure=per-metric +callback_api_version=2 [couchdb] # Configuration for the --export couchdb option diff --git a/glances/exports/mqtt/__init__.py b/glances/exports/mqtt/__init__.py index 9055fa6f..a9a9f6dd 100644 --- a/glances/exports/mqtt/__init__.py +++ b/glances/exports/mqtt/__init__.py @@ -38,7 +38,7 @@ class Export(GlancesExport): # Load the MQTT configuration file self.export_enable = self.load_conf( - 'mqtt', mandatories=['host', 'password'], options=['port', 'user', 'topic', 'tls', 'topic_structure'] + 'mqtt', mandatories=['host', 'password'], options=['port', 'user', 'topic', 'tls', 'topic_structure', 'callback_api_version'] ) if not self.export_enable: exit('Missing MQTT config') @@ -61,11 +61,14 @@ class Export(GlancesExport): exit("MQTT client initialization failed") def init(self): + # Get the current callback api version + self.callback_api_version = int(self.callback_api_version) or 2 + """Init the connection to the MQTT server.""" if not self.export_enable: return None try: - client = paho.Client(client_id='glances_' + self.hostname, clean_session=False) + client = paho.Client(self.callback_api_version, client_id='glances_' + self.hostname, clean_session=False) client.username_pw_set(username=self.user, password=self.password) if self.tls: client.tls_set(certifi.where()) |