Skip to content

Commit 9d9e391

Browse files
authored
fix: Add missing state_class and phase 2/3 sensors to HA MQTT discovery (#61)
- Add state_class:measurement to charging_power, charging_current, charging_current_limit, and temperature sensors so HA records long-term statistics and shows them in the Energy Dashboard - Add missing discovery topics for charging_current phase 2 and 3 (previously published to MQTT but invisible to Home Assistant) - Add missing discovery topics for charging_voltage phase 1, 2 and 3 (previously published to MQTT but invisible to Home Assistant) - Rename charging_current discovery topic from 'charging_current' to 'charging_current_phase1' for consistency with the new phase sensors
1 parent 2a8c484 commit 9d9e391

1 file changed

Lines changed: 68 additions & 4 deletions

File tree

src/Components/MQTT/MQTTManager.cpp

Lines changed: 68 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,20 +94,46 @@ namespace MQTTManager
9494
R"({
9595
"name":"Charging power",
9696
"device_class":"power",
97+
"state_class":"measurement",
9798
"state_topic":"%/charging_power",
9899
"unique_id":"%_charging_power",
99100
"default_entity_id":"%_charging_power",
100101
"unit_of_measurement":"W",
101102
"device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})");
102103

103104
PublishHomeAssistantDiscoveryTopic(
104-
"homeassistant/sensor/%/charging_current/config",
105+
"homeassistant/sensor/%/charging_current_phase1/config",
105106
R"({
106-
"name":"Charging current",
107+
"name":"Charging current phase 1",
107108
"device_class":"current",
109+
"state_class":"measurement",
108110
"state_topic":"%/charging_current/phase1",
109-
"unique_id":"%_charging_current",
110-
"default_entity_id":"%_charging_current",
111+
"unique_id":"%_charging_current_phase1",
112+
"default_entity_id":"%_charging_current_phase1",
113+
"unit_of_measurement":"A",
114+
"device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})");
115+
116+
PublishHomeAssistantDiscoveryTopic(
117+
"homeassistant/sensor/%/charging_current_phase2/config",
118+
R"({
119+
"name":"Charging current phase 2",
120+
"device_class":"current",
121+
"state_class":"measurement",
122+
"state_topic":"%/charging_current/phase2",
123+
"unique_id":"%_charging_current_phase2",
124+
"default_entity_id":"%_charging_current_phase2",
125+
"unit_of_measurement":"A",
126+
"device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})");
127+
128+
PublishHomeAssistantDiscoveryTopic(
129+
"homeassistant/sensor/%/charging_current_phase3/config",
130+
R"({
131+
"name":"Charging current phase 3",
132+
"device_class":"current",
133+
"state_class":"measurement",
134+
"state_topic":"%/charging_current/phase3",
135+
"unique_id":"%_charging_current_phase3",
136+
"default_entity_id":"%_charging_current_phase3",
111137
"unit_of_measurement":"A",
112138
"device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})");
113139

@@ -116,6 +142,7 @@ namespace MQTTManager
116142
R"({
117143
"name":"Charging current limit",
118144
"device_class":"current",
145+
"state_class":"measurement",
119146
"state_topic":"%/charging_current_limit",
120147
"unique_id":"%_charging_current_limit",
121148
"default_entity_id":"%_charging_current_limit",
@@ -139,12 +166,49 @@ namespace MQTTManager
139166
R"({
140167
"name":"Temperature",
141168
"device_class":"temperature",
169+
"state_class":"measurement",
142170
"state_topic":"%/temperature",
143171
"unique_id":"%_temperature",
144172
"default_entity_id":"%_temperature",
145173
"unit_of_measurement":"°C",
146174
"device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})");
147175

176+
PublishHomeAssistantDiscoveryTopic(
177+
"homeassistant/sensor/%/charging_voltage_phase1/config",
178+
R"({
179+
"name":"Charging voltage phase 1",
180+
"device_class":"voltage",
181+
"state_class":"measurement",
182+
"state_topic":"%/charging_voltage/phase1",
183+
"unique_id":"%_charging_voltage_phase1",
184+
"default_entity_id":"%_charging_voltage_phase1",
185+
"unit_of_measurement":"V",
186+
"device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})");
187+
188+
PublishHomeAssistantDiscoveryTopic(
189+
"homeassistant/sensor/%/charging_voltage_phase2/config",
190+
R"({
191+
"name":"Charging voltage phase 2",
192+
"device_class":"voltage",
193+
"state_class":"measurement",
194+
"state_topic":"%/charging_voltage/phase2",
195+
"unique_id":"%_charging_voltage_phase2",
196+
"default_entity_id":"%_charging_voltage_phase2",
197+
"unit_of_measurement":"V",
198+
"device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})");
199+
200+
PublishHomeAssistantDiscoveryTopic(
201+
"homeassistant/sensor/%/charging_voltage_phase3/config",
202+
R"({
203+
"name":"Charging voltage phase 3",
204+
"device_class":"voltage",
205+
"state_class":"measurement",
206+
"state_topic":"%/charging_voltage/phase3",
207+
"unique_id":"%_charging_voltage_phase3",
208+
"default_entity_id":"%_charging_voltage_phase3",
209+
"unit_of_measurement":"V",
210+
"device":{"identifiers":["%"],"name":"%","model":"EnergyControl","manufacturer":"Heidelberg"}})");
211+
148212
PublishHomeAssistantDiscoveryTopic(
149213
"homeassistant/switch/%/control_enable_charging/config",
150214
R"({

0 commit comments

Comments
 (0)