mqtt
Stellt die Konnektivität mit einem MQTT-Broker her.
Bei bestehender Verbindung pusht evcc automatisch alle internen Werte via MQTT-Broker auf das angegebene Topic und empfängt dort auch Änderungen.
Siehe dazu auch die Dokumentation zur MQTT API.
MQTT ohne Verschlüsselung
Abschnitt betitelt „MQTT ohne Verschlüsselung“Beispiel:
mqtt: broker: localhost:1883 topic: evcc # root topic for publishing, set empty to disable publishing # clientid: foo # user: # password:MQTT mit TLS-Verschlüsselung
Abschnitt betitelt „MQTT mit TLS-Verschlüsselung“Beispiel:
# mqtt message brokermqtt: broker: tls://localhost:8883 topic: evcc # root topic for publishing, set empty to disable publishing # clientid: foo # user: # password:Bei Verwendung von TLS-Verschlüsselung (tls://) wird standardmäßig das TLS-Zertifikat des Brokers überprüft.
Falls ein selbst-signiertes Zertifikat verwendet wird, gibt es zwei Möglichkeiten:
- Das Zertifikat systemweit installieren (z. B. unter Linux in
/etc/ssl/certs), damit evcc es automatisch verwendet - Die Zertifikatsüberprüfung mit
insecure: truedeaktivieren (siehe unten)
Erforderliche Parameter
Abschnitt betitelt „Erforderliche Parameter“Verbindungsdaten (Hostname/IP und Port) des verwendeten MQTT-Brokers zu dem sich evcc als Client verbinden soll.
Gibt das Wurzeltopic an welches evcc verwendet. Wenn hier nichts angegeben wird findet keine MQTT-Kommunikation statt!
Optionale Parameter
Abschnitt betitelt „Optionale Parameter“Der Benutzernamen zur Anmeldung am MQTT-Broker.
password
Abschnitt betitelt „password“Das Anmeldepasswort am MQTT-Broker.
clientid
Abschnitt betitelt „clientid“Erlaubt eine feste MQTT-Client ID vorzugegeben. Andernfalls wird diese dynamisch vergeben.
insecure
Abschnitt betitelt „insecure“Deaktiviert die TLS-Zertifikatsüberprüfung bei Verwendung von tls://.
Beispiel:
mqtt: broker: tls://broker.example.com:8883 topic: evcc insecure: trueCA-Zertifikat für die Überprüfung des Broker-Zertifikats (Zertifikatsinhalt).
Beispiel:
mqtt: broker: tls://broker.example.com:8883 topic: evcc caCert: | -----BEGIN CERTIFICATE----- MIIDXTCCAkWgAwIBAgIJAKZm... ... -----END CERTIFICATE-----clientCert
Abschnitt betitelt „clientCert“Client-Zertifikat für gegenseitige TLS-Authentifizierung (Zertifikatsinhalt).
Muss zusammen mit clientKey verwendet werden.
Beispiel:
mqtt: broker: tls://broker.example.com:8883 topic: evcc clientCert: | -----BEGIN CERTIFICATE----- MIIDXTCCAkWgAwIBAgIJAKZm... ... -----END CERTIFICATE----- clientKey: | -----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0B... ... -----END PRIVATE KEY-----clientKey
Abschnitt betitelt „clientKey“Privater Schlüssel des Client-Zertifikats (Schlüsselinhalt).
Muss zusammen mit clientCert verwendet werden.