De module is inderdaad gebaseerd op ESP32-C3 als ik me het goed kan herinneren. Ik heb zelf uiteindellijk deze route niet genomen omdat ik twee omvormers heb en dus ook twee P1 poorten extra in gebruik moet nemen en kabels moet trekken.
Zelf heb ik gekozen om de HomeWizard P1 meter het telegram bericht via de API op te halen via een ESP32 met modbus controller die verbonden is met de omvormer (per omvormer).
De MIC en MOD omvormers van Growatt vragen de volgende registers uit:
fc = 4, address = 0 , length = 36 = Volt / Amps
fc = 4, address = 52, length = 30 = Total Power
fc = 4, address = 200, length = 6 = Line to Line
fc = 4, address = 342, length = 4 = Total kWh, total kvarh
In de firmware versies zit er wel een verschil in de lengte die ze per keer opvragen, met name voor de eerste twee requests.
De SDM630 module die ik emuleer draai op slave address 2 met baudrate van 9600. (standaard growatt instellingen)
Dit zijn een beetje de registers die gebruikt worden, ik heb het nog niet heel net in Excel gezet, maar even uit mijnhobby code gepakt
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
| #define REG_IR_Phase1_L2NVolt 0 // 0
#define REG_IR_Phase2_L2NVolt 1 // 2
#define REG_IR_Phase3_L2NVolt 2 // 4
#define REG_IR_Phase1_Current 3 // 6
#define REG_IR_Phase2_Current 4 // 8
#define REG_IR_Phase3_Current 5 // 10
#define REG_IR_Phase1_Power 6 // 12 - Watts
#define REG_IR_Phase2_Power 7 // 14 - Watts
#define REG_IR_Phase3_Power 8 // 16 - Watts
// VA
#define REG_IR_Phase1_VA 9 // 18 - VA
#define REG_IR_Phase2_VA 10 // 20 - VA
#define REG_IR_Phase3_VA 11 // 22 - VA
// VAr
#define REG_IR_Phase1_VAr 12 // 24 - VAr
#define REG_IR_Phase2_VAr 13 // 26 - VAr
#define REG_IR_Phase3_VAr 14 // 28 - VAr
// Power Factor
#define REG_IR_Phase1_PF 15 // 30
#define REG_IR_Phase2_PF 16 // 32
#define REG_IR_Phase3_PF 17 // 34
// Phase angle [deg]
#define REG_IR_Phase1_PA 18 // 36 - degrees
#define REG_IR_Phase2_PA 19 // 38 - degrees
#define REG_IR_Phase3_PA 20 // 40 - degrees
// Average to neutral [V]
#define REG_IR_AverageToNeutral 21 // 42 - Volt
// Average line current [A]
#define REG_IR_AverageLineCurrent 23 // 46 - Amps
// Sum of currentsw [A]
#define REG_IR_SumOfCurrents 24 // 48 - Amps
// Total system power [W]
#define REG_IR_TotalSystemPower 26 // 52 - Watts
// Total system volt amps. [VA]
#define REG_IR_SystemVoltAmps 28 // 56 - VoltAmp
// Total system VAr
#define REG_IR_SystemVAr 30 // 60 - VAr
// Total system Power Factor
#define REG_IR_SystemPF 31 // 62 - Pf
// Total system phase angle
#define REG_IR_SystemPhaseAngle 33 // 66 - angle
// System Frequency [Hz]
#define REG_IR_GridFrequency 35 // 70 - Hz
// Total import [kWh]
#define REG_IR_TotalImportkWh 36 // 72 - kWh - DAGWAARDE
// Total Export [kWh]
#define REG_IR_TotalExportkWh 37 // 74 - kWh - DAGWAARDE
// Total import [kVArh]
#define REG_IR_TotalImportkVArh 38 // 76 - kVArh - DAGWAARDE
// Total Export [kVArh]
#define REG_IR_TotalExportkVArh 39 // 78 - kVArh - DAGWAARDE
// Total VAh
#define REG_IR_TotalVAh 40 // 80 - kVAh
// Total Ah
#define REG_IR_TotalAh 41 // 82 - Ah
// Total system demand [W]
#define REG_IR_TotalSystemDemand 42 // 84 - Watt
// Maximum total system power demand [VA]
#define REG_IR_MaximumTotalSystemDemand 43 // 86 - VA
// Total system VA demand
#define REG_IR_TotalSystemVADemand 50 // 100 - VA
#define REG_IR_MaximumTotalSystemVADemand 51 // Maximum total system VA demand - 102 - VA
// Neutral current demand. - 104 - Amps
// Maximum neutral current demand - 106 - Amps
// Line 1 to Line 2 volts. - 200 - Volts
#define REG_IR_L1toL2Voltage 100 // 200 - Voltage
// Line 2 to Line 3 volts. - 202 - Volts
#define REG_IR_L2toL3Voltage 101 // 202 - Voltage
// Line 3 to Line 1 volts. - 204 - Volts
#define REG_IR_L3toL1Voltage 102 // 204 - Voltage
// Average line to line volts. - 206 - Volts
#define REG_IR_AverageLine2LineVoltage 103 // 206 - Voltage
// Neutral current. - 224 - Amps
// Phase 1 L/N volts THD - 234 - %
// Phase 2 L/N volts THD - 236 - %
// Phase 3 L/N volts THD - 238 - %
// Phase 1 Current THD - 240 - %
// Phase 2 Current THD - 242 - %
// Phase 3 Current THD - 244 - %
// Average line to neutral volts THD - 248 - %
// ....
#define REG_IR_TotalkWh 171 // Total kwh(3) - 342 - kWh
#define REG_IR_Totalkvarh 172 // Total kvarh(3) - 344 - kvarh |
Het grootste verschil met de "standaard" SDM630 is dat TotalImportkWh / TotalExportkWh een dagtotaal is en niet een meter totaal. Voer je dit wel als een meterwaarde op, dan heb je hele leuke plaatjes op growatt en gekoppeld eventueel met HomeAssistant
Overigens is de SDM630 gewoon compatible met single phase omvormer! De code wil ik eerst nog opschonen voordat ik die op Github ga zetten