-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdeye.py
109 lines (106 loc) · 7.47 KB
/
deye.py
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
reg_num = 0
reg_db_field = 1
reg_name = 2
reg_type = 3
reg_offset = 4
reg_scale = 5
reg_unit = 6
reg_log = 7
reg_value = 8
registers = (
[ 62, '', 'Year / Month', 'u16', 0, 1.00, '', 0, 0 ],
[ 63, '', 'Day / Hour', 'u16', 0, 1.00, '', 0, 0 ],
[ 64, '', 'Minute / Second', 'u16', 0, 1.00, '', 0, 0 ],
[ 500, '', 'Run state', 'u16', 0, 1.00, '', 0, 0 ],
[ 514, 'battery_charge_today_E', 'Battery charge today', 'u16', 0, 0.10, 'kWh', 1, 0 ],
[ 515, 'battery_discharge_today_E', 'Battery discharge today', 'u16', 0, 0.10, 'kWh', 1, 0 ],
[ 516, 'battery_charge_total_E', 'Battery charge total l', 'u32', 0, 0.10, 'kWh', 1, 0 ],
[ 517, 516, 'Battery charge total h', 'u16', 0, 6553.6, 'kWh', 0, 0 ],
[ 518, 'battery_discharge_total_E', 'Battery discharge total l', 'u32', 0, 0.10, 'kWh', 1, 0 ],
[ 519, 518, 'Battery discharge total h', 'u16', 0, 6553.6, 'kWh', 0, 0 ],
[ 520, 'grid_in_today_E', 'Grid buy energy today', 'u16', 0, 0.10, 'kWh', 1, 0 ],
[ 521, 'grid_out_today_E', 'Grid sell energy today', 'u16', 0, 0.10, 'kWh', 1, 0 ],
[ 522, 'grid_in_total_E', 'Grid buy energy total l', 'u32', 0, 0.10, 'kWh', 1, 0 ],
[ 523, 522, 'Grid buy energy total h', 'u16', 0, 6553.6, 'kWh', 0, 0 ],
[ 524, 'grid_out_total_E', 'Grid sell energy total l', 'u32', 0, 0.10, 'kWh', 1, 0 ],
[ 525, 524, 'Grid sell energy total h', 'u16', 0, 6553.6, 'kWh', 0, 0 ],
[ 526, 'load_today_E', 'Load energy today', 'u16', 0, 0.10, 'kWh', 1, 0 ],
[ 527, 'load_total_E', 'Load energy total l', 'u32', 0, 0.10, 'kWh', 1, 0 ],
[ 528, 527, 'Load energy total h', 'u16', 0, 6553.6, 'kWh', 0, 0 ],
[ 529, 'pv_today_E', 'PV energy today', 'u16', 0, 0.10, 'kWh', 1, 0 ],
[ 534, 'pv_total_E', 'PV energy total l', 'u32', 0, 0.10, 'kWh', 1, 0 ],
[ 535, 534, 'PV energy total h', 'u16', 0, 6553.6, 'kWh', 0, 0 ],
[ 536, 'gen_today_E', 'Generator energy today', 'u16', 0, 0.10, 'kWh', 1, 0 ],
[ 537, 'gen_total_E', 'Generator energy total l', 'u32', 0, 0.10, 'kWh', 1, 0 ],
[ 538, 537, 'Generator energy total h', 'u16', 0, 0.10, 'kWh', 0, 0 ],
[ 540, 'DC_transformer_T', 'DC Transformer temperature', 'u16', -1000, 0.10, '°C', 1, 0 ],
[ 541, 'heatsink_T', 'Heat sink temperature', 'u16', -1000, 0.10, '°C', 1, 0 ],
[ 551, 1000, 'Inverter power status on/off', 'bit', 0, 1, '', 2, 0 ],
[ 552, 1000, 'AC relay status', 'bit', 0, 2, '', 2, 0 ],
[ 586, 'battery_T', 'Battery temperature', 'u16', -1000, 0.10, '°C', 1, 0 ],
[ 587, 'battery_V', 'Battery Voltage', 'u16', 0, 0.01, 'V', 1, 0 ],
[ 588, 'battery_SOC', 'Battery state of charge', 'u16', 0, 1.00, '%', 1, 0 ],
[ 590, 'battery_P', 'Battery power', 's16', 0, 1.00, 'W', 1, 0 ],
[ 591, 'battery_I', 'Battery current', 's16', 0, 0.01, 'W', 1, 0 ],
[ 592, '', '? Corrected AH', 'u16', 0, 1.00, 'AH', 0, 0 ],
[ 598, '', 'Grid phase 1 voltage', 'u16', 0, 0.10, 'V', 0, 0 ],
[ 599, '', 'Grid phase 2 voltage', 'u16', 0, 0.10, 'V', 0, 0 ],
[ 600, '', 'Grid phase 3 voltage', 'u16', 0, 0.10, 'V', 0, 0 ],
[ 604, '', 'Inner grid phase 1 power', 's16', 0, 1.00, 'W', 0, 0 ],
[ 605, '', 'Inner grid phase 2 power', 's16', 0, 1.00, 'W', 0, 0 ],
[ 606, '', 'Inner grid phase 3 power', 's16', 0, 1.00, 'W', 0, 0 ],
[ 607, '', 'Inner grid total power', 's16', 0, 1.00, 'W', 0, 0 ],
[ 609, 'grid_frq', 'Grid frequency', 'u16', 0, 0.01, 'Hz', 1, 0 ],
[ 610, '', 'Inner grid phase 1 current', 's16', 0, 0.01, 'A', 0, 0 ],
[ 611, '', 'Inner grid phase 2 current', 's16', 0, 0.01, 'A', 0, 0 ],
[ 612, '', 'Inner grid phase 3 current', 's16', 0, 0.01, 'A', 0, 0 ],
[ 613, '', 'Out of grid phase 1 current', 's16', 0, 0.01, 'A', 0, 0 ],
[ 614, '', 'Out of grid phase 2 current', 's16', 0, 0.01, 'A', 0, 0 ],
[ 615, '', 'Out of grid phase 3 current', 's16', 0, 0.01, 'A', 0, 0 ],
[ 616, '', 'Grid phase 1 power', 's16', 0, 1.00, 'W', 0, 0 ],
[ 617, '', 'Grid phase 2 power', 's16', 0, 1.00, 'W', 0, 0 ],
[ 618, '', 'Grid phase 3 power', 's16', 0, 1.00, 'W', 0, 0 ],
[ 619, 'grid_P', 'Grid total power', 's16', 0, 1.00, 'W', 1, 0 ],
[ 627, 'inverter_p1_V', 'Inverter phase 1 voltage', 'u16', 0, 0.10, 'V', 1, 0 ],
[ 628, 'inverter_p2_V', 'Inverter phase 2 voltage', 'u16', 0, 0.10, 'V', 1, 0 ],
[ 629, 'inverter_p3_V', 'Inverter phase 3 voltage', 'u16', 0, 0.10, 'V', 1, 0 ],
[ 630, '', 'Inverter phase 1 current', 's16', 0, 0.01, 'A', 0, 0 ],
[ 631, '', 'Inverter phase 2 current', 's16', 0, 0.01, 'A', 0, 0 ],
[ 632, '', 'Inverter phase 3 current', 's16', 0, 0.01, 'A', 0, 0 ],
[ 633, 'inverter_p1_P', 'Inverter phase 1 power', 's16', 0, 1.00, 'W', 1, 0 ],
[ 634, 'inverter_p2_P', 'Inverter phase 2 power', 's16', 0, 1.00, 'W', 1, 0 ],
[ 635, 'inverter_p3_P', 'Inverter phase 3 power', 's16', 0, 1.00, 'W', 1, 0 ],
[ 636, 'inverter_P', 'Inverter total power', 's16', 0, 1.00, 'W', 1, 0 ],
[ 637, '', 'Inverter total apparent power','s16', 0, 1.00, 'W', 0, 0 ],
[ 638, 'inverter_frq', 'Inverter frequency', 'u16', 0, 0.01, 'Hz', 1, 0 ],
[ 640, '', 'Backup phase 1 power', 's16', 0, 1.00, 'W', 0, 0 ],
[ 641, '', 'Backup phase 2 power', 's16', 0, 1.00, 'W', 0, 0 ],
[ 642, '', 'Backup phase 3 power', 's16', 0, 1.00, 'W', 0, 0 ],
[ 643, 'backup_P', 'Backup total power', 's16', 0, 1.00, 'W', 1, 0 ],
[ 644, '', 'Load phase 1 voltage', 'u16', 0, 0.10, 'V', 0, 0 ],
[ 645, '', 'Load phase 2 voltage', 'u16', 0, 0.10, 'V', 0, 0 ],
[ 646, '', 'Load phase 3 voltage', 'u16', 0, 0.10, 'V', 0, 0 ],
[ 650, '', 'Load phase 1 power', 's16', 0, 1.00, 'W', 0, 0 ],
[ 651, '', 'Load phase 2 power', 's16', 0, 1.00, 'W', 0, 0 ],
[ 652, '', 'Load phase 3 power', 's16', 0, 1.00, 'W', 0, 0 ],
[ 653, 'load_total_P', 'Load total power', 's16', 0, 1.00, 'W', 1, 0 ],
[ 654, '', 'Load total apparent power', 's16', 0, 1.00, 'W', 0, 0 ],
[ 655, 'load_frq', 'Load frequency', 'u16', 0, 0.01, 'Hz', 1, 0 ],
[ 661, '', 'Generator phase 1 voltage', 'u16', 0, 0.10, 'V', 0, 0 ],
[ 662, '', 'Generator phase 2 voltage', 'u16', 0, 0.10, 'V', 0, 0 ],
[ 663, '', 'Generator phase 3 voltage', 'u16', 0, 0.10, 'V', 0, 0 ],
[ 664, 'gen_p1_P', 'Generator phase 1 power', 's16', 0, 1.00, 'W', 1, 0 ],
[ 665, 'gen_p2_P', 'Generator phase 2 power', 's16', 0, 1.00, 'W', 1, 0 ],
[ 666, 'gen_p3_P', 'Generator phase 3 power', 's16', 0, 1.00, 'W', 1, 0 ],
[ 667, 'gen_P', 'Generator total power', 's16', 0, 1.00, 'W', 1, 0 ],
[ 672, 'carport_P', 'Carport power', 's16', 0, 1.00, 'W', 1, 0 ],
[ 673, 'roof_P', 'Roof power', 's16', 0, 1.00, 'W', 1, 0 ],
[ 676, 'carport_V', 'Carport voltage', 'u16', 0, 0.10, 'V', 1, 0 ],
[ 677, 'carport_I', 'Carport current', 's16', 0, 0.10, 'A', 1, 0 ],
[ 678, 'roof_V', 'Roof voltage', 'u16', 0, 0.10, 'V', 1, 0 ],
[ 679, 'roof_I', 'Roof current', 's16', 0, 0.10, 'A', 1, 0 ],
[1000, 'status', 'Status', 'bit', 0, 1.00, '', 1, 0 ]
)
ref_registers = {}
for register in registers:
ref_registers[ register[0] ] = register