Update MQTT notification agent

This commit is contained in:
JonnyWong16 2021-10-15 00:40:23 -07:00
commit 1a70729243
No known key found for this signature in database
GPG key ID: B1F1F9807184697A

View file

@ -26,7 +26,8 @@ import json
from email.mime.multipart import MIMEMultipart from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText from email.mime.text import MIMEText
import email.utils import email.utils
from paho.mqtt.publish import single import paho.mqtt.client
import paho.mqtt.publish
import os import os
import re import re
import requests import requests
@ -1997,6 +1998,7 @@ class MQTT(Notifier):
""" """
MQTT notifications MQTT notifications
""" """
NAME = 'MQTT'
_DEFAULT_CONFIG = {'broker': '', _DEFAULT_CONFIG = {'broker': '',
'port': 1883, 'port': 1883,
'protocol': 'MQTTv311', 'protocol': 'MQTTv311',
@ -2024,9 +2026,17 @@ class MQTT(Notifier):
if self.config['password']: if self.config['password']:
auth['password'] = self.config['password'] auth['password'] = self.config['password']
single(self.config['topic'], payload=json.dumps(data), qos=self.config['qos'], retain=bool(self.config['retain']), protocol = getattr(paho.mqtt.client, self.config['protocol'])
logger.info("Tautulli Notifiers :: Sending {name} notification...".format(name=self.NAME))
paho.mqtt.publish.single(
self.config['topic'], payload=json.dumps(data), qos=self.config['qos'], retain=bool(self.config['retain']),
hostname=self.config['broker'], port=self.config['port'], client_id=self.config['clientid'], hostname=self.config['broker'], port=self.config['port'], client_id=self.config['clientid'],
keepalive=self.config['keep_alive'], auth=auth or None, protocol=self.config['protocol']) keepalive=self.config['keep_alive'], auth=auth or None, protocol=protocol
)
logger.info("Tautulli Notifiers :: {name} notification sent.".format(name=self.NAME))
return True return True
@ -2049,7 +2059,8 @@ class MQTT(Notifier):
'description': 'The MQTT protocol version.', 'description': 'The MQTT protocol version.',
'input_type': 'select', 'input_type': 'select',
'select_options': {'MQTTv31': '3.1', 'select_options': {'MQTTv31': '3.1',
'MQTTv311': '3.1.1' 'MQTTv311': '3.1.1',
'MQTTv5': '5.0'
} }
}, },
{'label': 'Client ID', {'label': 'Client ID',