From 2510a4304fc781fe49adea3f03fe06dabeb9971a Mon Sep 17 00:00:00 2001 From: fvanroie <15969459+fvanroie@users.noreply.github.com> Date: Sat, 6 Apr 2024 13:49:27 +0200 Subject: [PATCH 1/6] New translations en_us.h (German) --- src/lang/de_DE.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lang/de_DE.h b/src/lang/de_DE.h index 1aac4666..b9a77eaf 100644 --- a/src/lang/de_DE.h +++ b/src/lang/de_DE.h @@ -159,7 +159,7 @@ #define D_INFO_VERSION "Version" #define D_INFO_BUILD_DATETIME "Erstellungs Datum/Uhrzeit" -#define D_INFO_ENVIRONMENT "Umgebung" +#Definiere D_INFO_ENVIRONMENT "Umgebung" #define D_INFO_UPTIME "Betriebsdauer" #define D_INFO_FREE_HEAP "Freier Heap" #define D_INFO_FREE_BLOCK "Freier Block" From c6a6f54409f3d25c44849d08b25ff6381a4b6bae Mon Sep 17 00:00:00 2001 From: fvanroie <15969459+fvanroie@users.noreply.github.com> Date: Sun, 7 Apr 2024 15:04:11 +0200 Subject: [PATCH 2/6] New translations en_us.h (German) --- src/lang/de_DE.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lang/de_DE.h b/src/lang/de_DE.h index b9a77eaf..f9169937 100644 --- a/src/lang/de_DE.h +++ b/src/lang/de_DE.h @@ -93,7 +93,7 @@ #define D_ATTRIBUTE_UNKNOWN "Unbekannte Eigenschaft %s" // D_ATTRIBUTE_OBSOLETE D_ATTRIBUTE_INSTEAD can be used together or just D_ATTRIBUTE_OBSOLETE alone #define D_ATTRIBUTE_OBSOLETE "%s ist veraltet" -#define D_ATTRIBUTE_INSTEAD ", benutze stattdessen %s +#define D_ATTRIBUTE_INSTEAD ", benutze stattdessen %s" #define D_ATTRIBUTE_READ_ONLY "%s ist schreibgeschützt" #define D_ATTRIBUTE_PAGE_METHOD_INVALID "Unerlaubter Aufruf auf Seite %s" #define D_ATTRIBUTE_ALIGN_INVALID "Ungültige Ausrichtung: %s" @@ -187,7 +187,7 @@ #define D_INFO_CLIENTID "Client ID" // #define D_INFO_CONNECTED "Verbunden" // #define D_INFO_DISCONNECTED "Getrennt" -#define D_INFO_REECEIVED "Empfangen" +#define D_INFO_RECEIVED "Empfangen" #define D_INFO_PUBLISHED "Veröffentlicht" #define D_INFO_FAILED "Fehlerhaft" #define D_INFO_ETHERNET "Ethernet" From a5b91a2e5a78028d4de2beeb57f74825357286e0 Mon Sep 17 00:00:00 2001 From: fvanroie <15969459+fvanroie@users.noreply.github.com> Date: Sun, 7 Apr 2024 15:08:35 +0200 Subject: [PATCH 3/6] New translations en_us.h (German) --- src/lang/de_DE.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lang/de_DE.h b/src/lang/de_DE.h index f9169937..efd70477 100644 --- a/src/lang/de_DE.h +++ b/src/lang/de_DE.h @@ -159,7 +159,7 @@ #define D_INFO_VERSION "Version" #define D_INFO_BUILD_DATETIME "Erstellungs Datum/Uhrzeit" -#Definiere D_INFO_ENVIRONMENT "Umgebung" +#define D_INFO_ENVIRONMENT "Umgebung" #define D_INFO_UPTIME "Betriebsdauer" #define D_INFO_FREE_HEAP "Freier Heap" #define D_INFO_FREE_BLOCK "Freier Block" From 482cda6898faffb8e87ba89ea1d805aeefb84b06 Mon Sep 17 00:00:00 2001 From: marsman7 Date: Sun, 7 Apr 2024 21:03:59 +0200 Subject: [PATCH 4/6] fix: Custom Group Topic name does not work issues #697 https://github.com/HASwitchPlate/openHASP/issues/697 --- src/mqtt/hasp_mqtt_esp.cpp | 37 +++++++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/src/mqtt/hasp_mqtt_esp.cpp b/src/mqtt/hasp_mqtt_esp.cpp index 9fbac1e0..71e8eb44 100644 --- a/src/mqtt/hasp_mqtt_esp.cpp +++ b/src/mqtt/hasp_mqtt_esp.cpp @@ -313,6 +313,7 @@ static int mqttSubscribeTo(String topic) return err; } +/* String mqttGetTopic(Preferences preferences, String subtopic, String key, String value, bool add_slash) { String topic = preferences.getString(key.c_str(), value); @@ -327,6 +328,20 @@ String mqttGetTopic(Preferences preferences, String subtopic, String key, String } return topic; } +*/ + +void mqttParseTopic(String *topic, String subtopic, bool add_slash) +{ + + topic->replace(F("%hostname%"), haspDevice.get_hostname()); + topic->replace(F("%hwid%"), haspDevice.get_hardware_id()); + topic->replace(F("%topic%"), subtopic); + topic->replace(F("%prefix%"), MQTT_PREFIX); + + if(add_slash && !topic->endsWith("/")) { + *topic += "/"; + } +} void onMqttConnect(esp_mqtt_client_handle_t client) { @@ -513,23 +528,29 @@ void mqttStart() nvsOldGroup += "/%topic%"; subtopic = F(MQTT_TOPIC_COMMAND); - mqttNodeCommandTopic = - mqttGetTopic(preferences, subtopic, FP_CONFIG_NODE_TOPIC, MQTT_DEFAULT_NODE_TOPIC, false); - mqttGroupCommandTopic = mqttGetTopic(preferences, subtopic, FP_CONFIG_GROUP_TOPIC, nvsOldGroup.c_str(), false); + mqttNodeCommandTopic = preferences.getString(FP_CONFIG_NODE_TOPIC, MQTT_DEFAULT_NODE_TOPIC); + mqttParseTopic(&mqttNodeCommandTopic, subtopic, false); + mqttGroupCommandTopic = preferences.getString(FP_CONFIG_GROUP_TOPIC, nvsOldGroup.c_str()); + mqttParseTopic(&mqttGroupCommandTopic, subtopic, false); + #ifdef HASP_USE_BROADCAST - mqttBroadcastCommandTopic = - mqttGetTopic(preferences, subtopic, FP_CONFIG_BROADCAST_TOPIC, MQTT_DEFAULT_BROADCAST_TOPIC, false); + mqttBroadcastCommandTopic = preferences.getString(FP_CONFIG_BROADCAST_TOPIC, MQTT_DEFAULT_BROADCAST_TOPIC); + mqttParseTopic(&mqttBroadcastCommandTopic, subtopic, false); + #endif subtopic = F(MQTT_TOPIC_STATE); - mqttNodeStateTopic = mqttGetTopic(preferences, subtopic, FP_CONFIG_NODE_TOPIC, MQTT_DEFAULT_NODE_TOPIC, true); + mqttNodeStateTopic = preferences.getString(FP_CONFIG_NODE_TOPIC, MQTT_DEFAULT_NODE_TOPIC); + mqttParseTopic(&mqttNodeStateTopic, subtopic, true); subtopic = F(MQTT_TOPIC_LWT); - mqttNodeLwtTopic = mqttGetTopic(preferences, subtopic, FP_CONFIG_NODE_TOPIC, MQTT_DEFAULT_NODE_TOPIC, false); + mqttNodeLwtTopic = preferences.getString(FP_CONFIG_NODE_TOPIC, MQTT_DEFAULT_NODE_TOPIC); + mqttParseTopic(&mqttNodeLwtTopic, subtopic, false); LOG_WARNING(TAG_MQTT, mqttNodeLwtTopic.c_str()); subtopic = F(MQTT_TOPIC_LWT); - mqttHassLwtTopic = mqttGetTopic(preferences, subtopic, FP_CONFIG_HASS_TOPIC, MQTT_DEFAULT_HASS_TOPIC, false); + mqttHassLwtTopic = preferences.getString(FP_CONFIG_HASS_TOPIC, MQTT_DEFAULT_HASS_TOPIC); + mqttParseTopic(&mqttHassLwtTopic, subtopic, false); LOG_WARNING(TAG_MQTT, mqttNodeLwtTopic.c_str()); preferences.end(); From 66fe185bfe339f406c4662911156c616eece9915 Mon Sep 17 00:00:00 2001 From: hans boot Date: Thu, 11 Apr 2024 08:14:01 +0200 Subject: [PATCH 5/6] Allow LV_MEM_CUSTOM override --- include/lv_conf_v7.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/lv_conf_v7.h b/include/lv_conf_v7.h index e2adf67e..764be7bd 100644 --- a/include/lv_conf_v7.h +++ b/include/lv_conf_v7.h @@ -80,8 +80,10 @@ typedef int16_t lv_coord_t; #define LV_FS_SEEK(x, y) lv_fs_seek(x, y) #define _lv_img_decoder_t _lv_img_decoder +#ifndef LV_MEM_CUSTOM /* 1: use custom malloc/free, 0: use the built-in `lv_mem_alloc` and `lv_mem_free` */ #define LV_MEM_CUSTOM 0 +#endif #if LV_MEM_CUSTOM == 0 /* Size of the memory used by `lv_mem_alloc` in bytes (>= 2kB)*/ From 99d9a0668e3b2fa816822a3a27e50d5a897c3f42 Mon Sep 17 00:00:00 2001 From: hans boot Date: Thu, 11 Apr 2024 08:22:17 +0200 Subject: [PATCH 6/6] Allow LV_MEM_CUSTOM override also in v8 --- include/lv_conf_v8.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/lv_conf_v8.h b/include/lv_conf_v8.h index 4cb1442c..494982d7 100644 --- a/include/lv_conf_v8.h +++ b/include/lv_conf_v8.h @@ -86,8 +86,10 @@ typedef int16_t lv_coord_t; /* LittelvGL's internal memory manager's settings. * The graphical objects and other related data are stored here. */ +#ifndef LV_MEM_CUSTOM /* 1: use custom malloc/free, 0: use the built-in `lv_mem_alloc` and `lv_mem_free` */ #define LV_MEM_CUSTOM 0 +#endif #if LV_MEM_CUSTOM == 0 /* Size of the memory used by `lv_mem_alloc` in bytes (>= 2kB)*/ //# define LV_MEM_SIZE (32U * 1024U)