Fix MQTT certificates (#16999)

This commit is contained in:
Paulus Schoutsen 2018-09-30 21:36:27 +02:00 committed by Pascal Vizeli
parent 1b7bfec247
commit 0a2b266742

View File

@ -426,25 +426,22 @@ async def async_setup_entry(hass, entry):
keepalive = conf[CONF_KEEPALIVE]
username = conf.get(CONF_USERNAME)
password = conf.get(CONF_PASSWORD)
certificate = conf.get(CONF_CERTIFICATE)
client_key = conf.get(CONF_CLIENT_KEY)
client_cert = conf.get(CONF_CLIENT_CERT)
tls_insecure = conf.get(CONF_TLS_INSECURE)
protocol = conf[CONF_PROTOCOL]
# For cloudmqtt.com, secured connection, auto fill in certificate
if (conf.get(CONF_CERTIFICATE) is None and
19999 < conf[CONF_PORT] < 30000 and
conf[CONF_BROKER].endswith('.cloudmqtt.com')):
if (certificate is None and 19999 < conf[CONF_PORT] < 30000 and
broker.endswith('.cloudmqtt.com')):
certificate = os.path.join(
os.path.dirname(__file__), 'addtrustexternalcaroot.crt')
# When the certificate is set to auto, use bundled certs from requests
elif conf.get(CONF_CERTIFICATE) == 'auto':
elif certificate == 'auto':
certificate = requests.certs.where()
else:
certificate = None
if CONF_WILL_MESSAGE in conf:
will_message = Message(**conf[CONF_WILL_MESSAGE])
else: