From e70829b9a15ac16b25196ddf3f8680e7458280f1 Mon Sep 17 00:00:00 2001 From: CaCO3 Date: Mon, 2 Dec 2024 20:58:51 +0100 Subject: [PATCH 1/2] Update server_mqtt.cpp --- code/components/jomjol_mqtt/server_mqtt.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/code/components/jomjol_mqtt/server_mqtt.cpp b/code/components/jomjol_mqtt/server_mqtt.cpp index ce55cf299..88c7f695b 100644 --- a/code/components/jomjol_mqtt/server_mqtt.cpp +++ b/code/components/jomjol_mqtt/server_mqtt.cpp @@ -91,6 +91,9 @@ bool sendHomeAssistantDiscoveryTopic(std::string group, std::string field, else if (field == "flowstart") { // Special case: Button topicFull = "homeassistant/button/" + node_id + "/" + configTopic + "/config"; } + else if (field == "set_prevalue") { // Special case: Command with payload + topicFull = "homeassistant/number/" + node_id + "/" + configTopic + "/config"; + } else { topicFull = "homeassistant/sensor/" + node_id + "/" + configTopic + "/config"; } @@ -119,7 +122,11 @@ bool sendHomeAssistantDiscoveryTopic(std::string group, std::string field, } else if (field == "flowstart") { // Special case: Button payload += "\"cmd_t\":\"~/ctrl/flow_start\","; // Add command topic - payload += "\"pl_prs\":\"1\","; + // payload += "\"pl_prs\":\"1\","; + } + else if (field == "set_prevalue") { // Special case: Command with value + payload += "\"cmd_t\":\"~/ctrl/set_prevalue\","; // Add command topic + payload += "\"pl_prs\":\"0\","; } else { payload += "\"state_topic\": \"~/" + field + "\","; From e894947c2aadb802b75b550160ff2393e2dcde6d Mon Sep 17 00:00:00 2001 From: CaCO3 Date: Mon, 2 Dec 2024 21:07:44 +0100 Subject: [PATCH 2/2] Update server_mqtt.cpp --- code/components/jomjol_mqtt/server_mqtt.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/code/components/jomjol_mqtt/server_mqtt.cpp b/code/components/jomjol_mqtt/server_mqtt.cpp index 88c7f695b..39619b965 100644 --- a/code/components/jomjol_mqtt/server_mqtt.cpp +++ b/code/components/jomjol_mqtt/server_mqtt.cpp @@ -191,6 +191,7 @@ bool MQTThomeassistantDiscovery(int qos) { allSendsSuccessed |= sendHomeAssistantDiscoveryTopic("", "IP", "IP", "network-outline", "", "", "", "diagnostic", qos); allSendsSuccessed |= sendHomeAssistantDiscoveryTopic("", "status", "Status", "list-status", "", "", "", "diagnostic", qos); allSendsSuccessed |= sendHomeAssistantDiscoveryTopic("", "flowstart", "Manual Flow Start", "timer-play-outline", "", "", "", "", qos); + allSendsSuccessed |= sendHomeAssistantDiscoveryTopic("", "set_prevalue", "Set Pre-Value", "swap-vertical", "", "", "", "", qos); for (int i = 0; i < (*NUMBERS).size(); ++i) {