mirror of
https://github.com/letscontrolit/ESPEasy.git
synced 2026-09-11 09:04:53 +00:00
[MQTT] Discovery add optional Taskname to Group unique id
This commit is contained in:
@@ -247,6 +247,11 @@ class SettingsStruct_tmpl
|
||||
inline void MQTTConnectInBackground(bool value) { VariousBits_2.MQTTConnectInBackground = !value; }
|
||||
#endif // if FEATURE_MQTT_CONNECT_BACKGROUND
|
||||
|
||||
#if FEATURE_MQTT_DISCOVER
|
||||
inline bool MQTTDiscoverGroupInclTaskname() const { return VariousBits_1.MQTTDiscoverGroupInclTaskname; }
|
||||
inline void MQTTDiscoverGroupInclTaskname(bool value) { VariousBits_1.MQTTDiscoverGroupInclTaskname = value; }
|
||||
#endif // if FEATURE_MQTT_DISCOVER
|
||||
|
||||
// Flag indicating whether all task values should be sent in a single event or one event per task value (default behavior)
|
||||
bool CombineTaskValues_SingleEvent(taskIndex_t taskIndex) const;
|
||||
void CombineTaskValues_SingleEvent(taskIndex_t taskIndex, bool value);
|
||||
@@ -688,7 +693,7 @@ public:
|
||||
|
||||
// VariousBits_1 defaults to 0, keep in mind when adding bit lookups.
|
||||
struct {
|
||||
uint32_t unused_00 : 1; // Bit 00
|
||||
uint32_t MQTTDiscoverGroupInclTaskname : 1; // Bit 00
|
||||
uint32_t appendUnitToHostname : 1; // Bit 01 Inverted
|
||||
uint32_t unused_02 : 1; // Bit 02 uniqueMQTTclientIdReconnect_unused
|
||||
uint32_t OldRulesEngine : 1; // Bit 03 Inverted
|
||||
|
||||
@@ -483,6 +483,12 @@ KeyValueStruct getKeyValue(LabelType::Enum label, bool extendedValue)
|
||||
return KeyValueStruct(F("MQTT Connect in background"), Settings.MQTTConnectInBackground());
|
||||
}
|
||||
#endif // if FEATURE_MQTT_CONNECT_BACKGROUND
|
||||
#if FEATURE_MQTT_DISCOVER
|
||||
case LabelType::MQTT_DISCOVER_GROUP_INCL_TASKNAME:
|
||||
{
|
||||
return KeyValueStruct(F("MQTT Discover, Group incl. Taskname"), Settings.MQTTDiscoverGroupInclTaskname());
|
||||
}
|
||||
#endif // if FEATURE_MQTT_DISCOVER
|
||||
#if FEATURE_COLORIZE_CONSOLE_LOGS
|
||||
case LabelType::COLORIZE_CONSOLE_LOGS:
|
||||
{
|
||||
|
||||
@@ -112,6 +112,9 @@ struct LabelType {
|
||||
#if FEATURE_MQTT_CONNECT_BACKGROUND
|
||||
MQTT_CONNECT_IN_BACKGROUND,
|
||||
#endif // if FEATURE_MQTT_CONNECT_BACKGROUND
|
||||
#if FEATURE_MQTT_DISCOVER
|
||||
MQTT_DISCOVER_GROUP_INCL_TASKNAME,
|
||||
#endif // if FEATURE_MQTT_DISCOVER
|
||||
#if FEATURE_COLORIZE_CONSOLE_LOGS
|
||||
COLORIZE_CONSOLE_LOGS,
|
||||
#endif
|
||||
|
||||
@@ -1114,6 +1114,8 @@ bool MQTT_DiscoveryPublishWithStatusAndSet(taskIndex_t taskIndex,
|
||||
const String valName = makeHomeAssistantCompliantName(valueName);
|
||||
|
||||
const String uniqueId = elementName.isEmpty() ? MQTT_TaskValueUniqueName(taskName, valName)
|
||||
: Settings.MQTTDiscoverGroupInclTaskname()
|
||||
? strformat(F("%s_%s_%s"), elementId.c_str(), taskName.c_str(), valName.c_str())
|
||||
: strformat(F("%s_%s"), elementId.c_str(), valName.c_str());
|
||||
String message;
|
||||
{
|
||||
|
||||
@@ -161,6 +161,9 @@ void handle_advanced() {
|
||||
#if FEATURE_MQTT_CONNECT_BACKGROUND
|
||||
Settings.MQTTConnectInBackground(isFormItemChecked(LabelType::MQTT_CONNECT_IN_BACKGROUND));
|
||||
#endif // if FEATURE_MQTT_CONNECT_BACKGROUND
|
||||
#if FEATURE_MQTT_DISCOVER
|
||||
Settings.MQTTDiscoverGroupInclTaskname(isFormItemChecked(LabelType::MQTT_DISCOVER_GROUP_INCL_TASKNAME));
|
||||
#endif // if FEATURE_MQTT_DISCOVER
|
||||
#if FEATURE_COLORIZE_CONSOLE_LOGS
|
||||
Settings.ColorizeSerialLog(isFormItemChecked(LabelType::COLORIZE_CONSOLE_LOGS));
|
||||
#endif
|
||||
@@ -331,6 +334,9 @@ void handle_advanced() {
|
||||
#if FEATURE_MQTT_CONNECT_BACKGROUND
|
||||
,LabelType::MQTT_CONNECT_IN_BACKGROUND
|
||||
#endif // if FEATURE_MQTT_CONNECT_BACKGROUND
|
||||
#if FEATURE_MQTT_DISCOVER
|
||||
,LabelType::MQTT_DISCOVER_GROUP_INCL_TASKNAME
|
||||
#endif // if FEATURE_MQTT_DISCOVER
|
||||
#if FEATURE_COLORIZE_CONSOLE_LOGS
|
||||
,LabelType::COLORIZE_CONSOLE_LOGS
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user