Skip to content

Commit

Permalink
Merge branch 'new_mqtt'
Browse files Browse the repository at this point in the history
Migrate to new MQTT lib espMqttClient to support secure connection and improve stability.
  • Loading branch information
dzungpv committed Dec 15, 2023
2 parents 20ade31 + fa280a7 commit 8a8bab7
Show file tree
Hide file tree
Showing 21 changed files with 279 additions and 136 deletions.
6 changes: 3 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@
path = components/arduino-esp32
url = https://github.com/espressif/arduino-esp32.git
branch = release/v2.x
[submodule "components/async-mqtt-client"]
path = components/async-mqtt-client
url = https://github.com/dzungpv/async-mqtt-client.git
[submodule "components/ESPAsyncWebServer"]
path = components/ESPAsyncWebServer
url = https://github.com/dzungpv/ESPAsyncWebServer.git
Expand All @@ -18,3 +15,6 @@
path = components/ArduinoJson
url = https://github.com/bblanchon/ArduinoJson.git
branch = 6.x
[submodule "components/espMqttClient"]
path = components/espMqttClient
url = https://github.com/dzungpv/espMqttClient.git
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ The software and hardware has been tested by the author for 5 years on the follo

This circuit using by the author, here is some [boards](https://github.com/dzungpv/mitsubishi2MQTT/blob/master/hardware/Before_Install.jpg) before install.

You can also use ESP-32 module for more processing power. If using ESP-32 by default app use Serial (serial 0 port).
You can assign any compatible pin in the SETUP->OTHERS to use custom pin, example TX: 26, RX: 27, check ESP-32 manual for pin, when TX and RX set it will use Serial2 port.
You can also use ESP-32 module for more processing power. If using ESP-32 by default app use UART1 (TX - GPIO 10, RX - GPIO 9)
You can assign any compatible pin in the SETUP->OTHERS to use custom pin, example TX: 26, RX: 27, check ESP-32 manual for pin, when TX and RX set it will use UART2 port. Better not using UART0, it is default for logs and flash the chip.
You can see more pictures in [`hardware`](https://github.com/dzungpv/mitsubishi2MQTT/tree/master/hardware) folder.
***

Expand Down Expand Up @@ -112,6 +112,12 @@ The `topic` is: "mqtt_topic/mqtt_friendly_name"
- topic/system/set to control the device with commands: "restart": reboot the device, "factory": reset device to fatory state.
***

***

## MQTT secure connection
MQTT secure connection via `8883` port only support ESP32, app inlude default CA-Root-Certificate for Letsencrypt base domain. You can set your Certificate in the Setup -> Unit
***

## Special thanks
SwiCago for the great libraries: https://github.com/SwiCago/HeatPump

Expand Down
1 change: 0 additions & 1 deletion components/async-mqtt-client
Submodule async-mqtt-client deleted from 02b950
1 change: 1 addition & 0 deletions components/espMqttClient
Submodule espMqttClient added at 223f33
43 changes: 40 additions & 3 deletions main/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ extern "C"
#include <ESPAsyncTCP.h> // ESPAsyncWebServer for ESP8266
#define U_PART U_FS
#endif
#include <AsyncMqttClient.h>
#include <ESPAsyncWebServer.h> //ESPAsyncWebServer
#include <espMqttClient.h> // espMqttClient
#include <ESPAsyncWebServer.h> // ESPAsyncWebServer
AsyncWebServer server(80); // Async Web server
#define WEBSOCKET_ENABLE 1 // Uncomment to enable websocket
#ifdef WEBSOCKET_ENABLE
Expand All @@ -58,8 +58,44 @@ AsyncEventSource events("/events"); // Create an Event Source on /events
#include <Ticker.h> // for LED status (Using a Wemos D1-Mini)
#include "time.h" // time lib

// Let Encrypt isrgrootx1.pem
const char rootCA_LE[] = R"====(
-----BEGIN CERTIFICATE-----
MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4
WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu
ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY
MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc
h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+
0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U
A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW
T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH
B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC
B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv
KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn
OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn
jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw
qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI
rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq
hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ
3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK
NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5
ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur
TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC
jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc
oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq
4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA
mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d
emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
-----END CERTIFICATE-----
)====";

// wifi, mqtt and heatpump client instances
AsyncMqttClient mqttClient; // AsyncMqtt
MqttClient* mqttClient = nullptr; // espMqttClient support both in secure and secure mqtt

#ifdef ESP32
TimerHandle_t mqttReconnectTimer; // timer for esp32 AsyncMqttClient
TimerHandle_t wifiReconnectTimer; // timer for esp32 AsyncMqttClient
Expand Down Expand Up @@ -169,6 +205,7 @@ String mqtt_port;
String mqtt_username;
String mqtt_password;
String mqtt_topic = "mitsubishi2mqtt";
String mqtt_root_ca_cert;
String mqtt_client_id;
const PROGMEM char *mqtt_payload_available = "online";
const PROGMEM char *mqtt_payload_unavailable = "offline";
Expand Down
10 changes: 7 additions & 3 deletions main/html_common.h
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,14 @@ const char html_common_header[] PROGMEM =
"}"

"textarea {"
"resize: none;"
"width: 98%;"
"height: 318px;"
"resize: true;"
"width: 100%;"
"height: 50px;"
"padding: 5px;"
"box-sizing: border-box;"
"border: 2px solid #ccc;"
"border-radius: 4px;"
"background-color: #f8f8f8;"
"overflow: auto;"
"}"

Expand Down
6 changes: 6 additions & 0 deletions main/html_pages.h
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,12 @@ const char html_page_mqtt[] PROGMEM =
"<input id='mt' name='mt' placeholder='_TXT_MQTT_PH_TOPIC_' value='_MQTT_TOPIC_' "
"autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false'>"
"</p>"
"<p><b>_TXT_MQTT_ROOT_CA_CERT_</b>"
"<br/>"
"<textarea id='mrcc' name='mrcc' rows='2' cols='50' maxlength='2560'>"
"_MQTT_ROOT_CA_CERT_"
"</textarea>"
"</p>"
"<br/>"
"<button name='save' type='submit' class='button bgrn'>_TXT_SAVE_</button>"
"</form>"
Expand Down
1 change: 1 addition & 0 deletions main/language_translations.h
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ MAKE_WORD_TRANSLATION(txt_mqtt_topic, en::txt_mqtt_topic, vi::txt_mqtt_topic, da
MAKE_WORD_TRANSLATION(txt_mqtt_ph_user, en::txt_mqtt_ph_user, vi::txt_mqtt_ph_user, da::txt_mqtt_ph_user, de::txt_mqtt_ph_user, es::txt_mqtt_ph_user, fr::txt_mqtt_ph_user, it::txt_mqtt_ph_user, ja::txt_mqtt_ph_user, zh::txt_mqtt_ph_user, ca::txt_mqtt_ph_user) // TODO translate
MAKE_WORD_TRANSLATION(txt_mqtt_ph_pwd, en::txt_mqtt_ph_pwd, vi::txt_mqtt_ph_pwd, da::txt_mqtt_ph_pwd, de::txt_mqtt_ph_pwd, es::txt_mqtt_ph_pwd, fr::txt_mqtt_ph_pwd, it::txt_mqtt_ph_pwd, ja::txt_mqtt_ph_pwd, zh::txt_mqtt_ph_pwd, ca::txt_mqtt_ph_pwd) // TODO translate
MAKE_WORD_TRANSLATION(txt_mqtt_ph_topic, en::txt_mqtt_ph_topic, vi::txt_mqtt_ph_topic, da::txt_mqtt_ph_topic, de::txt_mqtt_ph_topic, es::txt_mqtt_ph_topic, fr::txt_mqtt_ph_topic, it::txt_mqtt_ph_topic, ja::txt_mqtt_ph_topic, zh::txt_mqtt_ph_topic, ca::txt_mqtt_ph_topic) // TODO translate
MAKE_WORD_TRANSLATION(txt_mqtt_root_ca_cert, en::txt_mqtt_root_ca_cert, vi::txt_mqtt_root_ca_cert, da::txt_mqtt_root_ca_cert, de::txt_mqtt_root_ca_cert, es::txt_mqtt_root_ca_cert, fr::txt_mqtt_root_ca_cert, it::txt_mqtt_root_ca_cert, ja::txt_mqtt_root_ca_cert, zh::txt_mqtt_root_ca_cert, ca::txt_mqtt_root_ca_cert) // TODO translate

// Page Others
MAKE_WORD_TRANSLATION(txt_others_title, en::txt_others_title, vi::txt_others_title, da::txt_others_title, de::txt_others_title, es::txt_others_title, fr::txt_others_title, it::txt_others_title, ja::txt_others_title, zh::txt_others_title, ca::txt_others_title) // TODO translate
Expand Down
7 changes: 4 additions & 3 deletions main/languages/ca-ES.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,22 +78,23 @@ namespace ca
const char txt_mqtt_fn_desc[] PROGMEM = "(sense espais ni caràcters especials)";
const char txt_mqtt_host[] PROGMEM = "Anfitrió o IP";
const char txt_mqtt_port[] PROGMEM = "Port";
const char txt_mqtt_port_desc[] PROGMEM = "(1883 per defecte, no és compatible amb 8883)";
const char txt_mqtt_port_desc[] PROGMEM = "(1883 per defecte, ESP32: 8883 CERT requereix)";
const char txt_mqtt_user[] PROGMEM = "Usuari";
const char txt_mqtt_password[] PROGMEM = "Contrasenya";
const char txt_mqtt_topic[] PROGMEM = "Tema";
const char txt_mqtt_ph_topic[] PROGMEM = "Introduïu el tema Mqtt";
const char txt_mqtt_ph_user[] PROGMEM = "Introduïu l&#39;usuari Mqtt";
const char txt_mqtt_ph_pwd[] PROGMEM = "Introduïu la contrasenya Mqtt";
const char txt_mqtt_root_ca_cert[] PROGMEM = "CA-Root-Certificate (default Letsencrypt)";

// Page Others
const char txt_others_title[] PROGMEM = "Altra configuració";
const char txt_others_haauto[] PROGMEM = "HA autodescobriment";
const char txt_others_hatopic[] PROGMEM = "HA tema d'autodescobriment";
const char txt_others_debug_packets[] PROGMEM = "MQTT topic debug packets";
const char txt_others_debug_log[] PROGMEM = "MQTT topic debug logs";
const char txt_others_tx_pin[] PROGMEM = "TX pin (ESP32, 0 use Serial)";
const char txt_others_rx_pin[] PROGMEM = "RX pin (ESP32, 0 use Serial)";
const char txt_others_tx_pin[] PROGMEM = "TX pin (ESP32, 0 use UART1)";
const char txt_others_rx_pin[] PROGMEM = "RX pin (ESP32, 0 use UART1)";

// Page Status
const char txt_status_title[] PROGMEM = "Estat";
Expand Down
7 changes: 4 additions & 3 deletions main/languages/da-DA.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,19 +80,20 @@ namespace da
const char txt_mqtt_password[] PROGMEM = "Password";
const char txt_mqtt_topic[] PROGMEM = "Topic";
const char txt_mqtt_fn_desc[] PROGMEM = "(no space or special char)";
const char txt_mqtt_port_desc[] PROGMEM = "(default 1883, not support 8883)";
const char txt_mqtt_port_desc[] PROGMEM = "(default 1883, ESP32: 8883 Cert requereix)";
const char txt_mqtt_ph_topic[] PROGMEM = "Enter Mqtt topic";
const char txt_mqtt_ph_user[] PROGMEM = "Enter Mqtt user";
const char txt_mqtt_ph_pwd[] PROGMEM = "Enter Mqtt password";
const char txt_mqtt_root_ca_cert[] PROGMEM = "CA-Root-Certificate (default Letsencrypt)";

// Page Others
const char txt_others_title[] PROGMEM = "Others Parameters";
const char txt_others_haauto[] PROGMEM = "HA Autodiscovery";
const char txt_others_hatopic[] PROGMEM = "HA Autodiscovery topic";
const char txt_others_debug_packets[] PROGMEM = "MQTT topic debug packets";
const char txt_others_debug_log[] PROGMEM = "MQTT topic debug logs";
const char txt_others_tx_pin[] PROGMEM = "TX pin (ESP32, 0 use Serial)";
const char txt_others_rx_pin[] PROGMEM = "RX pin (ESP32, 0 use Serial)";
const char txt_others_tx_pin[] PROGMEM = "TX pin (ESP32, 0 use UART1)";
const char txt_others_rx_pin[] PROGMEM = "RX pin (ESP32, 0 use UART1)";

// Page Status
const char txt_status_title[] PROGMEM = "Status";
Expand Down
9 changes: 5 additions & 4 deletions main/languages/de-DE.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ namespace de
const char txt_reset[] PROGMEM = "Einstellungen zurücksetzen";
const char txt_reset_confirm[] PROGMEM = "Willst du wirklich alle Einstellungen zurücksetzen?";
const char txt_mqtt_fn_desc[] PROGMEM = "(no space or special char)";
const char txt_mqtt_port_desc[] PROGMEM = "(default 1883, not support 8883)";
const char txt_mqtt_port_desc[] PROGMEM = "(default 1883, ESP32: 8883 CERT require)";
const char txt_mqtt_ph_topic[] PROGMEM = "Enter Mqtt topic";
const char txt_mqtt_ph_user[] PROGMEM = "Enter Mqtt user";
const char txt_mqtt_ph_pwd[] PROGMEM = "Enter Mqtt password";
Expand Down Expand Up @@ -80,19 +80,20 @@ namespace de
const char txt_mqtt_title[] PROGMEM = "MQTT Parameter";
const char txt_mqtt_fn[] PROGMEM = "Anzeigename";
const char txt_mqtt_host[] PROGMEM = "Host";
const char txt_mqtt_port[] PROGMEM = "Port (default 1883)";
const char txt_mqtt_port[] PROGMEM = "Port";
const char txt_mqtt_user[] PROGMEM = "Benutzername";
const char txt_mqtt_password[] PROGMEM = "Passwort";
const char txt_mqtt_topic[] PROGMEM = "Topic";
const char txt_mqtt_root_ca_cert[] PROGMEM = "CA-Root-Certificate (default Letsencrypt)";

// Page Others
const char txt_others_title[] PROGMEM = "Weitere Parameter";
const char txt_others_haauto[] PROGMEM = "HA Autodiscovery";
const char txt_others_hatopic[] PROGMEM = "HA Autodiscovery topic";
const char txt_others_debug_packets[] PROGMEM = "MQTT topic debug packets";
const char txt_others_debug_log[] PROGMEM = "MQTT topic debug logs";
const char txt_others_tx_pin[] PROGMEM = "TX pin (ESP32, 0 use Serial)";
const char txt_others_rx_pin[] PROGMEM = "RX pin (ESP32, 0 use Serial)";
const char txt_others_tx_pin[] PROGMEM = "TX pin (ESP32, 0 use UART1)";
const char txt_others_rx_pin[] PROGMEM = "RX pin (ESP32, 0 use UART1)";

// Page Status
const char txt_status_title[] PROGMEM = "Status";
Expand Down
7 changes: 4 additions & 3 deletions main/languages/en-GB.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,22 +78,23 @@ namespace en
const char txt_mqtt_fn_desc[] PROGMEM = "(no space or special char)";
const char txt_mqtt_host[] PROGMEM = "Host or IP";
const char txt_mqtt_port[] PROGMEM = "Port";
const char txt_mqtt_port_desc[] PROGMEM = "(default 1883, not support 8883)";
const char txt_mqtt_port_desc[] PROGMEM = "(default 1883, ESP32: 8883 CERT require)";
const char txt_mqtt_user[] PROGMEM = "User";
const char txt_mqtt_password[] PROGMEM = "Password";
const char txt_mqtt_topic[] PROGMEM = "Topic";
const char txt_mqtt_ph_topic[] PROGMEM = "Enter Mqtt topic";
const char txt_mqtt_ph_user[] PROGMEM = "Enter Mqtt user";
const char txt_mqtt_ph_pwd[] PROGMEM = "Enter Mqtt password";
const char txt_mqtt_root_ca_cert[] PROGMEM = "CA-Root-Certificate (default Letsencrypt)";

// Page Others
const char txt_others_title[] PROGMEM = "Others Parameters";
const char txt_others_haauto[] PROGMEM = "Custom HA Autodiscovery topic";
const char txt_others_hatopic[] PROGMEM = "Autodiscovery topic";
const char txt_others_debug_packets[] PROGMEM = "MQTT debug packets";
const char txt_others_debug_log[] PROGMEM = "MQTT debug logs";
const char txt_others_tx_pin[] PROGMEM = "TX pin (ESP32, 0 use Serial)";
const char txt_others_rx_pin[] PROGMEM = "RX pin (ESP32, 0 use Serial)";
const char txt_others_tx_pin[] PROGMEM = "TX pin (ESP32, 0 use UART1)";
const char txt_others_rx_pin[] PROGMEM = "RX pin (ESP32, 0 use UART1)";

// Page Status
const char txt_status_title[] PROGMEM = "Status";
Expand Down
7 changes: 4 additions & 3 deletions main/languages/es-ES.h
Original file line number Diff line number Diff line change
Expand Up @@ -81,19 +81,20 @@ namespace es
const char txt_mqtt_password[] PROGMEM = "Contraseña";
const char txt_mqtt_topic[] PROGMEM = "Topic";
const char txt_mqtt_fn_desc[] PROGMEM = "(no space or special char)";
const char txt_mqtt_port_desc[] PROGMEM = "(default 1883, not support 8883)";
const char txt_mqtt_port_desc[] PROGMEM = "(default 1883, ESP32: 8883 CERT require)";
const char txt_mqtt_ph_topic[] PROGMEM = "Enter Mqtt topic";
const char txt_mqtt_ph_user[] PROGMEM = "Enter Mqtt user";
const char txt_mqtt_ph_pwd[] PROGMEM = "Enter Mqtt password";
const char txt_mqtt_root_ca_cert[] PROGMEM = "CA-Root-Certificate (default Letsencrypt)";

// Page Others
const char txt_others_title[] PROGMEM = "Otros parámetros";
const char txt_others_haauto[] PROGMEM = "HA Autodiscovery";
const char txt_others_hatopic[] PROGMEM = "HA Autodiscovery topic";
const char txt_others_debug_packets[] PROGMEM = "MQTT topic debug packets";
const char txt_others_debug_log[] PROGMEM = "MQTT topic debug logs";
const char txt_others_tx_pin[] PROGMEM = "TX pin (ESP32, 0 use Serial)";
const char txt_others_rx_pin[] PROGMEM = "RX pin (ESP32, 0 use Serial)";
const char txt_others_tx_pin[] PROGMEM = "TX pin (ESP32, 0 use UART1)";
const char txt_others_rx_pin[] PROGMEM = "RX pin (ESP32, 0 use UART1)";

// Page Status
const char txt_status_title[] PROGMEM = "Estado";
Expand Down
7 changes: 4 additions & 3 deletions main/languages/fr-FR.h
Original file line number Diff line number Diff line change
Expand Up @@ -81,19 +81,20 @@ namespace fr
const char txt_mqtt_password[] PROGMEM = "Mot de passe";
const char txt_mqtt_topic[] PROGMEM = "Topic";
const char txt_mqtt_fn_desc[] PROGMEM = "(no space or special char)";
const char txt_mqtt_port_desc[] PROGMEM = "(default 1883, not support 8883)";
const char txt_mqtt_port_desc[] PROGMEM = "(default 1883, ESP32: 8883 CERT require)";
const char txt_mqtt_ph_topic[] PROGMEM = "Enter Mqtt topic";
const char txt_mqtt_ph_user[] PROGMEM = "Enter Mqtt user";
const char txt_mqtt_ph_pwd[] PROGMEM = "Enter Mqtt password";
const char txt_mqtt_root_ca_cert[] PROGMEM = "CA-Root-Certificate (default Letsencrypt)";

// Page Others
const char txt_others_title[] PROGMEM = "Autres Paramétres";
const char txt_others_haauto[] PROGMEM = "HA Découverte automatique";
const char txt_others_hatopic[] PROGMEM = "HA Topic Découverte automatique";
const char txt_others_debug_packets[] PROGMEM = "MQTT topic debug packets";
const char txt_others_debug_log[] PROGMEM = "MQTT topic debug logs";
const char txt_others_tx_pin[] PROGMEM = "TX pin (ESP32, 0 use Serial)";
const char txt_others_rx_pin[] PROGMEM = "RX pin (ESP32, 0 use Serial)";
const char txt_others_tx_pin[] PROGMEM = "TX pin (ESP32, 0 use UART1)";
const char txt_others_rx_pin[] PROGMEM = "RX pin (ESP32, 0 use UART1)";

// Page Status
const char txt_status_title[] PROGMEM = "Etats";
Expand Down
7 changes: 4 additions & 3 deletions main/languages/it-IT.h
Original file line number Diff line number Diff line change
Expand Up @@ -81,19 +81,20 @@ namespace it
const char txt_mqtt_password[] PROGMEM = "Password";
const char txt_mqtt_topic[] PROGMEM = "Topic";
const char txt_mqtt_fn_desc[] PROGMEM = "(no space or special char)";
const char txt_mqtt_port_desc[] PROGMEM = "(default 1883, not support 8883)";
const char txt_mqtt_port_desc[] PROGMEM = "(default 1883, ESP32: 8883 CERT require)";
const char txt_mqtt_ph_topic[] PROGMEM = "Enter Mqtt topic";
const char txt_mqtt_ph_user[] PROGMEM = "Enter Mqtt user";
const char txt_mqtt_ph_pwd[] PROGMEM = "Enter Mqtt password";
const char txt_mqtt_root_ca_cert[] PROGMEM = "CA-Root-Certificate (default Letsencrypt)";

// Page Others
const char txt_others_title[] PROGMEM = "Altri parametetri";
const char txt_others_haauto[] PROGMEM = "HA Autodiscovery";
const char txt_others_hatopic[] PROGMEM = "HA Autodiscovery topic";
const char txt_others_debug_packets[] PROGMEM = "MQTT topic debug packets";
const char txt_others_debug_log[] PROGMEM = "MQTT topic debug logs";
const char txt_others_tx_pin[] PROGMEM = "TX pin (ESP32, 0 use Serial)";
const char txt_others_rx_pin[] PROGMEM = "RX pin (ESP32, 0 use Serial)";
const char txt_others_tx_pin[] PROGMEM = "TX pin (ESP32, 0 use UART1)";
const char txt_others_rx_pin[] PROGMEM = "RX pin (ESP32, 0 use UART1)";

// Page Status
const char txt_status_title[] PROGMEM = "Stato";
Expand Down
Loading

0 comments on commit 8a8bab7

Please sign in to comment.