Commit 7cca45e
feat: per-phase energy via MQTT with HA discovery (#62)
Add per-phase energy (Wh) data via MQTT for meters that support it.
- New EnergyPhase[3] field in Meter class
- Per-phase energy register read for Eastron SDM630/SDM630-INV
(registers 0x015A-0x015F, total active energy per phase)
- 6 new MQTT topics: MainsEnergyL1/L2/L3, EVEnergyL1/L2/L3
- HA discovery with device_class=energy, state_class=total_increasing
- Zero-value guard prevents publishing before first valid read
- 6 new mqtt_slot_t entries, MQTT_CACHE_MAX_SLOTS bumped to 84
- New ModbusRequestLoop case 22 for per-phase energy reads (~60s interval)
Other meters can be added incrementally by extending
requestPhaseEnergyMeasurement() with their per-phase energy registers.
Closes #62
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 04d11c4 commit 7cca45e
File tree
5 files changed
+65
-1
lines changed- SmartEVSE-3/src
5 files changed
+65
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
936 | 936 | | |
937 | 937 | | |
938 | 938 | | |
| 939 | + | |
| 940 | + | |
| 941 | + | |
939 | 942 | | |
940 | 943 | | |
941 | 944 | | |
942 | 945 | | |
943 | 946 | | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
944 | 950 | | |
945 | 951 | | |
946 | 952 | | |
| |||
1110 | 1116 | | |
1111 | 1117 | | |
1112 | 1118 | | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
1113 | 1126 | | |
1114 | 1127 | | |
1115 | 1128 | | |
| |||
1123 | 1136 | | |
1124 | 1137 | | |
1125 | 1138 | | |
| 1139 | + | |
| 1140 | + | |
| 1141 | + | |
| 1142 | + | |
| 1143 | + | |
| 1144 | + | |
1126 | 1145 | | |
1127 | 1146 | | |
1128 | 1147 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
317 | 317 | | |
318 | 318 | | |
319 | 319 | | |
| 320 | + | |
320 | 321 | | |
321 | 322 | | |
322 | 323 | | |
| |||
1443 | 1444 | | |
1444 | 1445 | | |
1445 | 1446 | | |
| 1447 | + | |
| 1448 | + | |
| 1449 | + | |
| 1450 | + | |
| 1451 | + | |
| 1452 | + | |
| 1453 | + | |
| 1454 | + | |
| 1455 | + | |
| 1456 | + | |
| 1457 | + | |
| 1458 | + | |
| 1459 | + | |
| 1460 | + | |
| 1461 | + | |
| 1462 | + | |
| 1463 | + | |
| 1464 | + | |
| 1465 | + | |
| 1466 | + | |
1446 | 1467 | | |
1447 | 1468 | | |
1448 | 1469 | | |
| |||
1992 | 2013 | | |
1993 | 2014 | | |
1994 | 2015 | | |
| 2016 | + | |
| 2017 | + | |
| 2018 | + | |
| 2019 | + | |
| 2020 | + | |
| 2021 | + | |
| 2022 | + | |
| 2023 | + | |
1995 | 2024 | | |
1996 | 2025 | | |
1997 | 2026 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
57 | 60 | | |
58 | 61 | | |
59 | 62 | | |
| |||
450 | 453 | | |
451 | 454 | | |
452 | 455 | | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
453 | 462 | | |
454 | 463 | | |
455 | 464 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
| 95 | + | |
95 | 96 | | |
96 | 97 | | |
97 | 98 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
24 | 27 | | |
25 | 28 | | |
26 | 29 | | |
| |||
29 | 32 | | |
30 | 33 | | |
31 | 34 | | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
32 | 38 | | |
33 | 39 | | |
34 | 40 | | |
| |||
0 commit comments