@@ -24,7 +24,7 @@ namespace MQTTManager
2424 IWallbox *gWallbox = nullptr ;
2525 uint8_t gCurValueIndex = 0 ;
2626 char TopicBuffer[128 ];
27- char PayloadBuffer[512 ];
27+ char PayloadBuffer[1024 ];
2828 PrefixedString gMqttTopic (128 );
2929
3030 constexpr uint16_t NumMqttPublishedValues = 10 ;
@@ -67,47 +67,109 @@ namespace MQTTManager
6767 // Publish Home Assistant MQTT discovery messages
6868 PublishHomeAssistantDiscoveryTopic (
6969 " homeassistant/binary_sensor/%/is_vehicle_connected/config" ,
70- R"( {"name":"Vehicle connected","device_class":"plug","state_topic":"%/is_vehicle_connected","payload_on":"1","payload_off":"0","unique_id":"%_is_vehicle_connected","object_id":"is_vehicle_connected","device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})" );
70+ R"( {
71+ "name":"Vehicle connected",
72+ "device_class":"plug",
73+ "state_topic":"%/is_vehicle_connected",
74+ "payload_on":"1",
75+ "payload_off":"0",
76+ "unique_id":"%_is_vehicle_connected",
77+ "object_id":"%_is_vehicle_connected",
78+ "device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})" );
7179
7280 PublishHomeAssistantDiscoveryTopic (
7381 " homeassistant/binary_sensor/%/is_vehicle_charging/config" ,
74- R"( {"name":"Vehicle charging","device_class":"battery_charging","state_topic":"%/is_vehicle_charging","payload_on":"1","payload_off":"0","unique_id":"%_is_vehicle_charging","object_id":"is_vehicle_charging","device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})" );
82+ R"( {
83+ "name":"Vehicle charging",
84+ "device_class":"battery_charging",
85+ "state_topic":"%/is_vehicle_charging",
86+ "payload_on":"1",
87+ "payload_off":"0",
88+ "unique_id":"%_is_vehicle_charging",
89+ "object_id":"%_is_vehicle_charging",
90+ "device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})" );
7591
7692 PublishHomeAssistantDiscoveryTopic (
7793 " homeassistant/sensor/%/charging_power/config" ,
78- R"( {"name":"Charging power","device_class":"power","state_topic":"%/charging_power","unique_id":"%_charging_power","object_id":"charging_power","unit_of_measurement":"W","device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})" );
94+ R"( {
95+ "name":"Charging power",
96+ "device_class":"power",
97+ "state_topic":"%/charging_power",
98+ "unique_id":"%_charging_power",
99+ "object_id":"%_charging_power",
100+ "unit_of_measurement":"W",
101+ "device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})" );
79102
80103 PublishHomeAssistantDiscoveryTopic (
81104 " homeassistant/sensor/%/charging_current/config" ,
82- R"( {"name":"Charging current","device_class":"current","state_topic":"%/charging_current/phase1","unique_id":"%_charging_current","object_id":"charging_current","unit_of_measurement":"A","device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})" );
105+ R"( {
106+ "name":"Charging current",
107+ "device_class":"current",
108+ "state_topic":"%/charging_current/phase1",
109+ "unique_id":"%_charging_current",
110+ "object_id":"%_charging_current",
111+ "unit_of_measurement":"A",
112+ "device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})" );
83113
84114 PublishHomeAssistantDiscoveryTopic (
85115 " homeassistant/sensor/%/charging_current_limit/config" ,
86- R"( {"name":"Charging current limit","device_class":"current","state_topic":"%/charging_current_limit","unique_id":"%_charging_current_limit","object_id":"charging_current_limit","unit_of_measurement":"A","device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})" );
116+ R"( {
117+ "name":"Charging current limit",
118+ "device_class":"current",
119+ "state_topic":"%/charging_current_limit",
120+ "unique_id":"%_charging_current_limit",
121+ "object_id":"%_charging_current_limit",
122+ "unit_of_measurement":"A",
123+ "device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})" );
87124
88125 PublishHomeAssistantDiscoveryTopic (
89126 " homeassistant/sensor/%/energy_meter/config" ,
90- R"( {"name":"Energy meter","device_class":"energy","state_topic":"%/energy_meter","state_class":"total_increasing","unique_id":"%_energy_meter","object_id":"energy_meter","unit_of_measurement":"kWh","device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})" );
127+ R"( {
128+ "name":"Energy meter",
129+ "device_class":"energy",
130+ "state_topic":"%/energy_meter",
131+ "state_class":"total_increasing",
132+ "unique_id":"%_energy_meter",
133+ "object_id":"%_energy_meter",
134+ "unit_of_measurement":"kWh",
135+ "device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})" );
91136
92137 PublishHomeAssistantDiscoveryTopic (
93138 " homeassistant/sensor/%/temperature/config" ,
94- R"( {"name":"Temperature","device_class":"temperature","state_topic":"%/temperature","unique_id":"%_temperature","object_id":"temperature","unit_of_measurement":"°C","device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})" );
139+ R"( {
140+ "name":"Temperature",
141+ "device_class":"temperature",
142+ "state_topic":"%/temperature",
143+ "unique_id":"%_temperature",
144+ "object_id":"%_temperature",
145+ "unit_of_measurement":"°C",
146+ "device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})" );
95147
96148 PublishHomeAssistantDiscoveryTopic (
97- " homeassistant/switch/%/enable_charging /config" ,
149+ " homeassistant/switch/%/control_enable_charging /config" ,
98150 R"( {
99- "name": "Enable Charging",
100- "state_topic": "%/enable_charging",
101- "command_topic": "%/control/enable_charging",
102- "unique_id": "%_enable_charging_switch ",
103- "object_id": "enable_charging ",
104- "payload_on": "ON",
105- "payload_off": "OFF",
106- "device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})" );
151+ "name":"Enable Charging",
152+ "state_topic":"%/enable_charging",
153+ "command_topic":"%/control/enable_charging",
154+ "unique_id":"%control_enable_charging ",
155+ "object_id":"%control_enable_charging ",
156+ "payload_on":"ON",
157+ "payload_off":"OFF",
158+ "device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})" );
107159
108160 PublishHomeAssistantDiscoveryTopic (
109- " homeassistant/number/%/charging_current_limit/config" ,
110- R"( {"name": "Charging Current Limit", "command_topic": "%/control/charging_current_limit", "state_topic": "%/status/charging_current_limit", "min": 6, "max": 16, "step": 1, "unit_of_measurement": "A", "uniq_id": "heidelbridge_charging_current_limit", "device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})" );
161+ " homeassistant/number/%/control_charging_current_limit/config" ,
162+ R"( {
163+ "name":"Charging Current Limit",
164+ "command_topic":"%/control/charging_current_limit",
165+ "state_topic":"%/charging_current_limit",
166+ "min":6,
167+ "max":16,
168+ "step":1,
169+ "unit_of_measurement":"A",
170+ "unique_id":"%_control_charging_current_limit",
171+ "object_id":"%_control_charging_current_limit",
172+ "device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})" );
111173 }
112174
113175 // Publishes various MQTT status messages based on the current value index.
0 commit comments