diff --git a/README.md b/README.md index 343ce5f..071aa70 100644 --- a/README.md +++ b/README.md @@ -141,11 +141,13 @@ when serial port is wrong, can't edit config. --> -## Updates in 3.0.3 (dev) +## Updates in 3.0.3 * Fixed setting SWG for PDA v1.2 * Fixed bug with slider run times in web UI * Fixed bug with heater max min in web UI -* Added light_programming_iaqualink_delay to delay aqualink protocol while light is being programmed, some users have encountered panel slowing down while light is being programmed. +* Added light_programming_iaqualink_delay to delay aqualink protocol while light is being programmed, some users have encountered panel slowing down while light is being programmed through iAqualink. +* Increased allowed length of sensor labels. +* Minor updates to MQTT discovery protocol. ## Updates in 3.0.2 * Fixed bug with SWG being enabled if one is not present. diff --git a/RELEASE.md b/RELEASE.md index bc12530..60fdf41 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -4,10 +4,13 @@ All notable changes to AqualinkD are documented here. Releases are listed in rev --- -## Release 3.0.3 (Development - January 2026) +## Release 3.0.3 (Development - March 2026) * Fixed setting SWG for PDA v1.2 * Fixed bug with slider run times in web UI * Fixed bug with heater max min in web UI +* Added light_programming_iaqualink_delay to delay aqualink protocol while light is being programmed, some users have encountered panel slowing down while light is being programmed through iAqualink. +* Increased allowed length of sensor labels. +* Minor updates to MQTT discovery protocol. --- diff --git a/release/aqualinkd-arm64 b/release/aqualinkd-arm64 index f2f377f..74ccba1 100755 Binary files a/release/aqualinkd-arm64 and b/release/aqualinkd-arm64 differ diff --git a/release/aqualinkd-armhf b/release/aqualinkd-armhf index f304e7f..b7c3b1d 100755 Binary files a/release/aqualinkd-armhf and b/release/aqualinkd-armhf differ diff --git a/source/config.c b/source/config.c index aed95f2..a7493d3 100644 --- a/source/config.c +++ b/source/config.c @@ -1286,7 +1286,8 @@ if (strlen(cleanwhitespace(value)) <= 0) { } sprintf(aqdata->sensors[num].ID, "Aux_S%d", num+1); if (strncasecmp(param + 9, "_label", 6) == 0) { - aqdata->sensors[num].label = ncleanalloc(value, AQ_MSGLEN); + //aqdata->sensors[num].label = ncleanalloc(value, AQ_MSGLEN); + aqdata->sensors[num].label = cleanalloc(value); rtn=true; } else if (strncasecmp(param + 9, "_path", 5) == 0) { aqdata->sensors[num].path = cleanalloc(value); diff --git a/source/config.h b/source/config.h index 066e75e..9c2edc3 100644 --- a/source/config.h +++ b/source/config.h @@ -290,6 +290,7 @@ int _numCfgParams; #define CFG_N_mqtt_discovery_use_mac "mqtt_discovery_use_mac" #define CFG_N_mqtt_timed_update "mqtt_timed_update" #define CFG_N_mqtt_cert_dir "mqtt_cert_dir" +#define CFG_N_convert_mqtt_temp "mqtt_convert_temp_to_c" #define CFG_N_light_programming_mode "light_programming_mode" #define CFG_N_light_programming_initial_on "light_programming_initial_on" @@ -299,7 +300,6 @@ int _numCfgParams; #define CFG_N_override_freeze_protect "override_freeze_protect" #define CFG_N_pda_sleep_mode "pda_sleep_mode" -#define CFG_N_convert_mqtt_temp "mqtt_convert_temp_to_c" #define CFG_N_light_programming_interface "light_programming_interface" #define CFG_N_pda_force_home_onprogram "pda_force_home_onprogram" diff --git a/source/mqtt_discovery.c b/source/mqtt_discovery.c index 4345835..04adfd6 100644 --- a/source/mqtt_discovery.c +++ b/source/mqtt_discovery.c @@ -229,7 +229,7 @@ const char *HASSIO_TEMP_SENSOR_DISCOVER = "{" "\"type\": \"sensor\"," "\"state_class\": \"measurement\"," "\"unique_id\": \"aqualinkd_%s_temp\"," - "\"name\": \"%s Temp\"," + "\"name\": \"%s\"," "\"state_topic\": \"%s/%s\"," "\"value_template\": \"{{ value_json }}\"," "\"unit_of_measurement\": \"%s\"," @@ -594,15 +594,15 @@ void publish_mqtt_discovery(struct aqualinkdata *aqdata, struct mg_connection *n } // Temperatures - sprintf(msg, HASSIO_TEMP_SENSOR_DISCOVER,connections,_aqconfig_.mqtt_aq_topic,"Pool","Pool",_aqconfig_.mqtt_aq_topic,POOL_TEMP_TOPIC,(_aqconfig_.convert_mqtt_temp?"°C":"°F"),"mdi:water-thermometer"); + sprintf(msg, HASSIO_TEMP_SENSOR_DISCOVER,connections,_aqconfig_.mqtt_aq_topic,"Pool","Pool Temperature",_aqconfig_.mqtt_aq_topic,POOL_TEMP_TOPIC,(_aqconfig_.convert_mqtt_temp?"°C":"°F"),"mdi:water-thermometer"); sprintf(topic, "%s/sensor/aqualinkd/aqualinkd_%s/config", _aqconfig_.mqtt_discovery_topic, "Pool"); send_mqtt(nc, topic, msg); - sprintf(msg, HASSIO_TEMP_SENSOR_DISCOVER,connections,_aqconfig_.mqtt_aq_topic,"Spa","Spa",_aqconfig_.mqtt_aq_topic,SPA_TEMP_TOPIC,(_aqconfig_.convert_mqtt_temp?"°C":"°F"),"mdi:water-thermometer"); + sprintf(msg, HASSIO_TEMP_SENSOR_DISCOVER,connections,_aqconfig_.mqtt_aq_topic,"Spa","Spa Temperature",_aqconfig_.mqtt_aq_topic,SPA_TEMP_TOPIC,(_aqconfig_.convert_mqtt_temp?"°C":"°F"),"mdi:water-thermometer"); sprintf(topic, "%s/sensor/aqualinkd/aqualinkd_%s/config", _aqconfig_.mqtt_discovery_topic, "Spa"); send_mqtt(nc, topic, msg); - sprintf(msg, HASSIO_TEMP_SENSOR_DISCOVER,connections,_aqconfig_.mqtt_aq_topic,"Air","Air",_aqconfig_.mqtt_aq_topic,AIR_TEMP_TOPIC,(_aqconfig_.convert_mqtt_temp?"°C":"°F"),"mdi:thermometer"); + sprintf(msg, HASSIO_TEMP_SENSOR_DISCOVER,connections,_aqconfig_.mqtt_aq_topic,"Air","Air Temperature",_aqconfig_.mqtt_aq_topic,AIR_TEMP_TOPIC,(_aqconfig_.convert_mqtt_temp?"°C":"°F"),"mdi:thermometer"); sprintf(topic, "%s/sensor/aqualinkd/aqualinkd_%s/config", _aqconfig_.mqtt_discovery_topic, "Air"); send_mqtt(nc, topic, msg); diff --git a/source/version.h b/source/version.h index 47dadc3..2f10a15 100644 --- a/source/version.h +++ b/source/version.h @@ -4,5 +4,5 @@ #define AQUALINKD_SHORT_NAME "AqualinkD" // Use Magor . Minor . Patch -#define AQUALINKD_VERSION "3.0.3 (dev.6)" +#define AQUALINKD_VERSION "3.0.3" \ No newline at end of file