diff --git a/include/MqttHandleHass.h b/include/MqttHandleHass.h index b05b1f16e..841a82995 100644 --- a/include/MqttHandleHass.h +++ b/include/MqttHandleHass.h @@ -62,7 +62,7 @@ class MqttHandleHassClass { static void publishDtuSensor(const String& name, const String& subTopic, const String& unit_of_measure, const String& icon, const String& device_class, const String& category); static void publishDtuBinarySensor(const String& name, const String& subTopic, const String& payload_on, const String& payload_off, const String& device_class, const String& category); static void publishInverterField(std::shared_ptr inv, const ChannelType_t type, const ChannelNum_t channel, const byteAssign_fieldDeviceClass_t fieldType, const bool clear = false); - static void publishInverterButton(std::shared_ptr inv, const String& name, const String& icon, const String& category, const String& deviceClass, const String& subTopic, const String& payload); + static void publishInverterButton(std::shared_ptr inv, const String& name, const String& subTopic, const String& payload, const String& icon, const String& deviceClass, const String& category); static void publishInverterNumber(std::shared_ptr inv, const String& name, const String& icon, const String& category, const String& commandTopic, const String& stateTopic, const String& unitOfMeasure, const int16_t min = 1, const int16_t max = 100, float step = 1.0); static void publishInverterBinarySensor(std::shared_ptr inv, const String& name, const String& subTopic, const String& payload_on, const String& payload_off); static void publishInverterSensor(std::shared_ptr inv, const String& name, const String& subTopic, const String& unit_of_measure, const String& icon, const String& device_class, const String& category); diff --git a/src/MqttHandleHass.cpp b/src/MqttHandleHass.cpp index 53b9d7aaa..8faeee0ae 100644 --- a/src/MqttHandleHass.cpp +++ b/src/MqttHandleHass.cpp @@ -75,10 +75,10 @@ void MqttHandleHassClass::publishConfig() for (uint8_t i = 0; i < Hoymiles.getNumInverters(); i++) { auto inv = Hoymiles.getInverterByPos(i); - publishInverterButton(inv, "Turn Inverter Off", "mdi:power-plug-off", "config", "", "cmd/power", "0"); - publishInverterButton(inv, "Turn Inverter On", "mdi:power-plug", "config", "", "cmd/power", "1"); - publishInverterButton(inv, "Restart Inverter", "", "config", "restart", "cmd/restart", "1"); - publishInverterButton(inv, "Reset Radio Statistics", "", "config", "", "cmd/reset_rf_stats", "1"); + publishInverterButton(inv, "Turn Inverter Off", "cmd/power", "0", "mdi:power-plug-off", "", "config"); + publishInverterButton(inv, "Turn Inverter On", "cmd/power", "1", "mdi:power-plug", "", "config"); + publishInverterButton(inv, "Restart Inverter", "cmd/restart", "1", "", "restart", "config"); + publishInverterButton(inv, "Reset Radio Statistics", "cmd/reset_rf_stats", "1", "", "", "config"); publishInverterNumber(inv, "Limit NonPersistent Relative", "mdi:speedometer", "config", "cmd/limit_nonpersistent_relative", "status/limit_relative", "%", 0, 100, 0.1); publishInverterNumber(inv, "Limit Persistent Relative", "mdi:speedometer", "config", "cmd/limit_persistent_relative", "status/limit_relative", "%", 0, 100, 0.1); @@ -191,7 +191,7 @@ void MqttHandleHassClass::publishInverterField(std::shared_ptr } } -void MqttHandleHassClass::publishInverterButton(std::shared_ptr inv, const String& name, const String& icon, const String& category, const String& deviceClass, const String& subTopic, const String& payload) +void MqttHandleHassClass::publishInverterButton(std::shared_ptr inv, const String& name, const String& subTopic, const String& payload, const String& icon, const String& deviceClass, const String& category) { const String serial = inv->serialString();