diff --git a/README.md b/README.md index 4845199a5..587a67d18 100644 --- a/README.md +++ b/README.md @@ -182,6 +182,7 @@ People helping to keep the show on the road: - Gerhard Mutz for his SGP30 and Sunrise/Sunset driver - Nuno Ferreira for his HC-SR04 driver - Adrian Scillato for his (security)fixes and implementing and maintaining KNX +- Gennaro Tortone for his Eastron SDM120 driver - Raymond Mouthaan for managing Wemos Wiki information - Norbert Richter, Frogmore42 and Jason2866 for providing many issue answers - Many more providing Tips, Pocs or PRs diff --git a/sonoff/_releasenotes.ino b/sonoff/_releasenotes.ino index 04329ad25..bfb2b08c2 100644 --- a/sonoff/_releasenotes.ino +++ b/sonoff/_releasenotes.ino @@ -6,11 +6,13 @@ * Fix several timer data input and output errors (#2597, #2620) * Fix KNX config error (#2628) * Fix sensor MHZ-19 vanishing data over time (#2659) + * Fix KNX reconnection issue (#2679) * Add Portuguese in Brazil language file * Add rule state test for On/Off in addition to 0/1 (#2613) * Add hardware serial option to MHZ-19 sensor (#2659) + * Add Eastron SDM120 energy meter (#2694) * Updated Italian language file (#2618) - * Update TasmotaSerial to 2.0.0 allowing Hardware Serial Fallback when correct connection are configured + * Update TasmotaSerial to 2.0.0 allowing Hardware Serial Fallback when correct connections are configured * Optimize command handling * * 5.13.1 20180501 diff --git a/sonoff/language/nl-NL.h b/sonoff/language/nl-NL.h index ba17c5db4..081a957e3 100644 --- a/sonoff/language/nl-NL.h +++ b/sonoff/language/nl-NL.h @@ -28,7 +28,7 @@ * Use online command StateText to translate ON, OFF, HOLD and TOGGLE. * Use online command Prefix to translate cmnd, stat and tele. * - * Updated until v5.12.0l + * Updated until v5.13.1a \*********************************************************************/ //#define LANGUAGE_MODULE_NAME // Enable to display "Module Generic" (ie Spanish), Disable to display "Generic Module" (ie English) @@ -91,7 +91,7 @@ #define D_FALSE "Onwaar" #define D_FILE "Bestand" #define D_FREE_MEMORY "Vrij geheugen" -#define D_FREQUENCY "Frequency" +#define D_FREQUENCY "Frequentie" #define D_GAS "Gas" #define D_GATEWAY "Gateway" #define D_GROUP "Groep" @@ -377,24 +377,24 @@ #define D_TIMER_ACTION "Actie" // xdrv_10_knx.ino -#define D_CONFIGURE_KNX "Configure KNX" +#define D_CONFIGURE_KNX "Configureer KNX" #define D_KNX_PARAMETERS "KNX Parameters" -#define D_KNX_GENERAL_CONFIG "General" -#define D_KNX_PHYSICAL_ADDRESS "Physical Address" -#define D_KNX_PHYSICAL_ADDRESS_NOTE "( Must be unique on the KNX network )" -#define D_KNX_ENABLE "Enable KNX" -#define D_KNX_GROUP_ADDRESS_TO_WRITE "Data to Send to Group Addresses" -#define D_ADD "Add" -#define D_DELETE "Delete" -#define D_REPLY "Reply" -#define D_KNX_GROUP_ADDRESS_TO_READ "Group Addresses to Receive Data from" +#define D_KNX_GENERAL_CONFIG "Algemeen" +#define D_KNX_PHYSICAL_ADDRESS "Eigen adres" +#define D_KNX_PHYSICAL_ADDRESS_NOTE "(Moet uniek zijn op het KNX netwerk)" +#define D_KNX_ENABLE "KNX inschakelen" +#define D_KNX_GROUP_ADDRESS_TO_WRITE "Stuur gegevens naar groep adressen" +#define D_ADD "Toevoegen" +#define D_DELETE "Verwijder" +#define D_REPLY "Antwoord" +#define D_KNX_GROUP_ADDRESS_TO_READ "Ontvang gegevens van groep adressen" #define D_LOG_KNX "KNX: " -#define D_RECEIVED_FROM "Received from" -#define D_KNX_COMMAND_WRITE "Write" -#define D_KNX_COMMAND_READ "Read" -#define D_KNX_COMMAND_OTHER "Other" -#define D_SENT_TO "sent to" -#define D_KNX_WARNING "The group address ( 0 / 0 / 0 ) is reserved and can not be used." +#define D_RECEIVED_FROM "Ontvangen van" +#define D_KNX_COMMAND_WRITE "Schrijven" +#define D_KNX_COMMAND_READ "Lezen" +#define D_KNX_COMMAND_OTHER "Overige" +#define D_SENT_TO "verzend naar" +#define D_KNX_WARNING "Groep adres (0/0/0) is gereserveerd en mag niet worden gebruikt." // xdrv_03_energy.ino #define D_ENERGY_TODAY "Verbruik vandaag" diff --git a/sonoff/support.ino b/sonoff/support.ino index d17776325..e56d7e540 100644 --- a/sonoff/support.ino +++ b/sonoff/support.ino @@ -35,6 +35,10 @@ byte oswatch_blocked_loop = 0; //void OsWatchTicker() ICACHE_RAM_ATTR; #endif // USE_WS2812_DMA +#ifdef USE_KNX +bool knx_started = false; +#endif // USE_KNX + void OsWatchTicker() { unsigned long t = millis(); @@ -822,11 +826,20 @@ void WifiCheck(uint8_t param) } #endif // USE_EMULATION #endif // USE_WEBSERVER +#ifdef USE_KNX + if (!knx_started && Settings.flag.knx_enabled) { + KNXStart(); + knx_started = true; + } +#endif // USE_KNX } else { #if defined(USE_WEBSERVER) && defined(USE_EMULATION) UdpDisconnect(); #endif // USE_EMULATION mdns_begun = false; +#ifdef USE_KNX + knx_started = false; +#endif // USE_KNX } } } diff --git a/sonoff/webserver.ino b/sonoff/webserver.ino index 0439ae509..3c74d346a 100644 --- a/sonoff/webserver.ino +++ b/sonoff/webserver.ino @@ -392,9 +392,6 @@ void StartWebserver(int type, IPAddress ipweb) } #endif // USE_EMULATION WebServer->onNotFound(HandleNotFound); -#ifdef USE_KNX - KNXStart(); -#endif // USE_KNX } reset_web_log_flag = 0; WebServer->begin(); // Web server start @@ -740,7 +737,7 @@ void HandleModuleConfiguration() for (byte i = 0; i < MAX_GPIO_PIN; i++) { if (GPIO_USER == cmodule.gp.io[i]) { snprintf_P(stemp, 3, PINS_WEMOS +i*2); - snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("