41 lines
1.4 KiB
ReStructuredText
41 lines
1.4 KiB
ReStructuredText
MQTT security
|
|
=============
|
|
|
|
The library allows you to use credentials for acquiring a TCP connection with the MQTT broker.
|
|
By default you can use the same credentials you use for login in the Home Assistant panel but you can also configure custom credentials in the Mosquitto broker.
|
|
|
|
.. DANGER::
|
|
|
|
This solution is not 100% secure because communication between Arduino and Home Assistant is not encrypted.
|
|
Username and password can be easily discovered by analyzing your local network traffic.
|
|
However, that's fine as long as your local network is secured against unattended access.
|
|
On more powerful devices (like ESP), you should consider using TLS/SSL connection.
|
|
|
|
::
|
|
|
|
#include <Ethernet.h>
|
|
#include <ArduinoHA.h>
|
|
|
|
byte mac[] = {0x00, 0x10, 0xFA, 0x6E, 0x38, 0x4A};
|
|
EthernetClient client;
|
|
HADevice device(mac, sizeof(mac));
|
|
HAMqtt mqtt(client, device);
|
|
|
|
void setup() {
|
|
// ...
|
|
|
|
// replace username and password with your credentials
|
|
mqtt.begin("192.168.1.50", "username", "password");
|
|
}
|
|
|
|
void loop() {
|
|
// ...
|
|
}
|
|
|
|
|
|
SSL connection
|
|
--------------
|
|
|
|
On ESP32/ESP8266 you can use ``WiFiClientSecure`` client to establish encrypted connection between your device and Home Assistant.
|
|
Please take a look at :example:`this example <mqtt-with-ssl/mqtt-with-ssl.ino>`.
|