Home Assistant Unofficial Reference 2024.12.1
tlx.py
Go to the documentation of this file.
1 """Growatt Sensor definitions for the TLX type.
2 
3 TLX Type is also shown on the UI as: "MIN/MIC/MOD/NEO"
4 """
5 
6 from __future__ import annotations
7 
8 from homeassistant.components.sensor import SensorDeviceClass, SensorStateClass
9 from homeassistant.const import (
10  PERCENTAGE,
11  UnitOfElectricCurrent,
12  UnitOfElectricPotential,
13  UnitOfEnergy,
14  UnitOfFrequency,
15  UnitOfPower,
16  UnitOfTemperature,
17 )
18 
19 from .sensor_entity_description import GrowattSensorEntityDescription
20 
21 TLX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = (
23  key="tlx_energy_today",
24  translation_key="tlx_energy_today",
25  api_key="eacToday",
26  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
27  device_class=SensorDeviceClass.ENERGY,
28  state_class=SensorStateClass.TOTAL_INCREASING,
29  precision=1,
30  ),
32  key="tlx_energy_total",
33  translation_key="tlx_energy_total",
34  api_key="eacTotal",
35  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
36  device_class=SensorDeviceClass.ENERGY,
37  state_class=SensorStateClass.TOTAL_INCREASING,
38  precision=1,
39  never_resets=True,
40  ),
42  key="tlx_energy_total_input_1",
43  translation_key="tlx_energy_total_input_1",
44  api_key="epv1Total",
45  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
46  device_class=SensorDeviceClass.ENERGY,
47  state_class=SensorStateClass.TOTAL_INCREASING,
48  precision=1,
49  never_resets=True,
50  ),
52  key="tlx_energy_today_input_1",
53  translation_key="tlx_energy_today_input_1",
54  api_key="epv1Today",
55  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
56  device_class=SensorDeviceClass.ENERGY,
57  state_class=SensorStateClass.TOTAL_INCREASING,
58  precision=1,
59  ),
61  key="tlx_voltage_input_1",
62  translation_key="tlx_voltage_input_1",
63  api_key="vpv1",
64  native_unit_of_measurement=UnitOfElectricPotential.VOLT,
65  device_class=SensorDeviceClass.VOLTAGE,
66  precision=1,
67  ),
69  key="tlx_amperage_input_1",
70  translation_key="tlx_amperage_input_1",
71  api_key="ipv1",
72  native_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
73  device_class=SensorDeviceClass.CURRENT,
74  precision=1,
75  ),
77  key="tlx_wattage_input_1",
78  translation_key="tlx_wattage_input_1",
79  api_key="ppv1",
80  native_unit_of_measurement=UnitOfPower.WATT,
81  device_class=SensorDeviceClass.POWER,
82  precision=1,
83  ),
85  key="tlx_energy_total_input_2",
86  translation_key="tlx_energy_total_input_2",
87  api_key="epv2Total",
88  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
89  device_class=SensorDeviceClass.ENERGY,
90  state_class=SensorStateClass.TOTAL_INCREASING,
91  precision=1,
92  never_resets=True,
93  ),
95  key="tlx_energy_today_input_2",
96  translation_key="tlx_energy_today_input_2",
97  api_key="epv2Today",
98  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
99  device_class=SensorDeviceClass.ENERGY,
100  state_class=SensorStateClass.TOTAL_INCREASING,
101  precision=1,
102  ),
104  key="tlx_voltage_input_2",
105  translation_key="tlx_voltage_input_2",
106  api_key="vpv2",
107  native_unit_of_measurement=UnitOfElectricPotential.VOLT,
108  device_class=SensorDeviceClass.VOLTAGE,
109  precision=1,
110  ),
112  key="tlx_amperage_input_2",
113  translation_key="tlx_amperage_input_2",
114  api_key="ipv2",
115  native_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
116  device_class=SensorDeviceClass.CURRENT,
117  precision=1,
118  ),
120  key="tlx_wattage_input_2",
121  translation_key="tlx_wattage_input_2",
122  api_key="ppv2",
123  native_unit_of_measurement=UnitOfPower.WATT,
124  device_class=SensorDeviceClass.POWER,
125  precision=1,
126  ),
128  key="tlx_energy_total_input_3",
129  translation_key="tlx_energy_total_input_3",
130  api_key="epv3Total",
131  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
132  device_class=SensorDeviceClass.ENERGY,
133  state_class=SensorStateClass.TOTAL_INCREASING,
134  precision=1,
135  never_resets=True,
136  ),
138  key="tlx_energy_today_input_3",
139  translation_key="tlx_energy_today_input_3",
140  api_key="epv3Today",
141  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
142  device_class=SensorDeviceClass.ENERGY,
143  state_class=SensorStateClass.TOTAL_INCREASING,
144  precision=1,
145  ),
147  key="tlx_voltage_input_3",
148  translation_key="tlx_voltage_input_3",
149  api_key="vpv3",
150  native_unit_of_measurement=UnitOfElectricPotential.VOLT,
151  device_class=SensorDeviceClass.VOLTAGE,
152  precision=1,
153  ),
155  key="tlx_amperage_input_3",
156  translation_key="tlx_amperage_input_3",
157  api_key="ipv3",
158  native_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
159  device_class=SensorDeviceClass.CURRENT,
160  precision=1,
161  ),
163  key="tlx_wattage_input_3",
164  translation_key="tlx_wattage_input_3",
165  api_key="ppv3",
166  native_unit_of_measurement=UnitOfPower.WATT,
167  device_class=SensorDeviceClass.POWER,
168  precision=1,
169  ),
171  key="tlx_energy_total_input_4",
172  translation_key="tlx_energy_total_input_4",
173  api_key="epv4Total",
174  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
175  device_class=SensorDeviceClass.ENERGY,
176  state_class=SensorStateClass.TOTAL_INCREASING,
177  precision=1,
178  never_resets=True,
179  ),
181  key="tlx_energy_today_input_4",
182  translation_key="tlx_energy_today_input_4",
183  api_key="epv4Today",
184  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
185  device_class=SensorDeviceClass.ENERGY,
186  state_class=SensorStateClass.TOTAL_INCREASING,
187  precision=1,
188  ),
190  key="tlx_voltage_input_4",
191  translation_key="tlx_voltage_input_4",
192  api_key="vpv4",
193  native_unit_of_measurement=UnitOfElectricPotential.VOLT,
194  device_class=SensorDeviceClass.VOLTAGE,
195  precision=1,
196  ),
198  key="tlx_amperage_input_4",
199  translation_key="tlx_amperage_input_4",
200  api_key="ipv4",
201  native_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
202  device_class=SensorDeviceClass.CURRENT,
203  precision=1,
204  ),
206  key="tlx_wattage_input_4",
207  translation_key="tlx_wattage_input_4",
208  api_key="ppv4",
209  native_unit_of_measurement=UnitOfPower.WATT,
210  device_class=SensorDeviceClass.POWER,
211  precision=1,
212  ),
214  key="tlx_solar_generation_total",
215  translation_key="tlx_solar_generation_total",
216  api_key="epvTotal",
217  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
218  device_class=SensorDeviceClass.ENERGY,
219  state_class=SensorStateClass.TOTAL_INCREASING,
220  never_resets=True,
221  ),
223  key="tlx_internal_wattage",
224  translation_key="tlx_internal_wattage",
225  api_key="ppv",
226  native_unit_of_measurement=UnitOfPower.WATT,
227  device_class=SensorDeviceClass.POWER,
228  precision=1,
229  ),
231  key="tlx_reactive_voltage",
232  translation_key="tlx_reactive_voltage",
233  api_key="vacrs",
234  native_unit_of_measurement=UnitOfElectricPotential.VOLT,
235  device_class=SensorDeviceClass.VOLTAGE,
236  precision=1,
237  ),
239  key="tlx_frequency",
240  translation_key="tlx_frequency",
241  api_key="fac",
242  native_unit_of_measurement=UnitOfFrequency.HERTZ,
243  device_class=SensorDeviceClass.FREQUENCY,
244  precision=1,
245  ),
247  key="tlx_current_wattage",
248  translation_key="tlx_current_wattage",
249  api_key="pac",
250  native_unit_of_measurement=UnitOfPower.WATT,
251  device_class=SensorDeviceClass.POWER,
252  precision=1,
253  ),
255  key="tlx_temperature_1",
256  translation_key="tlx_temperature_1",
257  api_key="temp1",
258  native_unit_of_measurement=UnitOfTemperature.CELSIUS,
259  device_class=SensorDeviceClass.TEMPERATURE,
260  precision=1,
261  ),
263  key="tlx_temperature_2",
264  translation_key="tlx_temperature_2",
265  api_key="temp2",
266  native_unit_of_measurement=UnitOfTemperature.CELSIUS,
267  device_class=SensorDeviceClass.TEMPERATURE,
268  precision=1,
269  ),
271  key="tlx_temperature_3",
272  translation_key="tlx_temperature_3",
273  api_key="temp3",
274  native_unit_of_measurement=UnitOfTemperature.CELSIUS,
275  device_class=SensorDeviceClass.TEMPERATURE,
276  precision=1,
277  ),
279  key="tlx_temperature_4",
280  translation_key="tlx_temperature_4",
281  api_key="temp4",
282  native_unit_of_measurement=UnitOfTemperature.CELSIUS,
283  device_class=SensorDeviceClass.TEMPERATURE,
284  precision=1,
285  ),
287  key="tlx_temperature_5",
288  translation_key="tlx_temperature_5",
289  api_key="temp5",
290  native_unit_of_measurement=UnitOfTemperature.CELSIUS,
291  device_class=SensorDeviceClass.TEMPERATURE,
292  precision=1,
293  ),
295  key="tlx_all_batteries_discharge_today",
296  translation_key="tlx_all_batteries_discharge_today",
297  api_key="edischargeToday",
298  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
299  device_class=SensorDeviceClass.ENERGY,
300  state_class=SensorStateClass.TOTAL_INCREASING,
301  ),
303  key="tlx_all_batteries_discharge_total",
304  translation_key="tlx_all_batteries_discharge_total",
305  api_key="edischargeTotal",
306  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
307  device_class=SensorDeviceClass.ENERGY,
308  state_class=SensorStateClass.TOTAL_INCREASING,
309  never_resets=True,
310  ),
312  key="tlx_battery_1_discharge_w",
313  translation_key="tlx_battery_1_discharge_w",
314  api_key="bdc1DischargePower",
315  native_unit_of_measurement=UnitOfPower.WATT,
316  device_class=SensorDeviceClass.POWER,
317  ),
319  key="tlx_battery_1_discharge_total",
320  translation_key="tlx_battery_1_discharge_total",
321  api_key="bdc1DischargeTotal",
322  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
323  device_class=SensorDeviceClass.ENERGY,
324  state_class=SensorStateClass.TOTAL_INCREASING,
325  never_resets=True,
326  ),
328  key="tlx_battery_2_discharge_w",
329  translation_key="tlx_battery_2_discharge_w",
330  api_key="bdc2DischargePower",
331  native_unit_of_measurement=UnitOfPower.WATT,
332  device_class=SensorDeviceClass.POWER,
333  ),
335  key="tlx_battery_2_discharge_total",
336  translation_key="tlx_battery_2_discharge_total",
337  api_key="bdc2DischargeTotal",
338  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
339  device_class=SensorDeviceClass.ENERGY,
340  state_class=SensorStateClass.TOTAL_INCREASING,
341  never_resets=True,
342  ),
344  key="tlx_all_batteries_charge_today",
345  translation_key="tlx_all_batteries_charge_today",
346  api_key="echargeToday",
347  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
348  device_class=SensorDeviceClass.ENERGY,
349  state_class=SensorStateClass.TOTAL_INCREASING,
350  ),
352  key="tlx_all_batteries_charge_total",
353  translation_key="tlx_all_batteries_charge_total",
354  api_key="echargeTotal",
355  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
356  device_class=SensorDeviceClass.ENERGY,
357  state_class=SensorStateClass.TOTAL_INCREASING,
358  never_resets=True,
359  ),
361  key="tlx_battery_1_charge_w",
362  translation_key="tlx_battery_1_charge_w",
363  api_key="bdc1ChargePower",
364  native_unit_of_measurement=UnitOfPower.WATT,
365  device_class=SensorDeviceClass.POWER,
366  ),
368  key="tlx_battery_1_charge_total",
369  translation_key="tlx_battery_1_charge_total",
370  api_key="bdc1ChargeTotal",
371  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
372  device_class=SensorDeviceClass.ENERGY,
373  state_class=SensorStateClass.TOTAL_INCREASING,
374  never_resets=True,
375  ),
377  key="tlx_battery_2_charge_w",
378  translation_key="tlx_battery_2_charge_w",
379  api_key="bdc2ChargePower",
380  native_unit_of_measurement=UnitOfPower.WATT,
381  device_class=SensorDeviceClass.POWER,
382  ),
384  key="tlx_battery_2_charge_total",
385  translation_key="tlx_battery_2_charge_total",
386  api_key="bdc2ChargeTotal",
387  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
388  device_class=SensorDeviceClass.ENERGY,
389  state_class=SensorStateClass.TOTAL_INCREASING,
390  never_resets=True,
391  ),
393  key="tlx_export_to_grid_today",
394  translation_key="tlx_export_to_grid_today",
395  api_key="etoGridToday",
396  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
397  device_class=SensorDeviceClass.ENERGY,
398  state_class=SensorStateClass.TOTAL_INCREASING,
399  ),
401  key="tlx_export_to_grid_total",
402  translation_key="tlx_export_to_grid_total",
403  api_key="etoGridTotal",
404  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
405  device_class=SensorDeviceClass.ENERGY,
406  state_class=SensorStateClass.TOTAL_INCREASING,
407  never_resets=True,
408  ),
410  key="tlx_load_consumption_today",
411  translation_key="tlx_load_consumption_today",
412  api_key="elocalLoadToday",
413  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
414  device_class=SensorDeviceClass.ENERGY,
415  state_class=SensorStateClass.TOTAL_INCREASING,
416  ),
418  key="mix_load_consumption_total",
419  translation_key="mix_load_consumption_total",
420  api_key="elocalLoadTotal",
421  native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR,
422  device_class=SensorDeviceClass.ENERGY,
423  state_class=SensorStateClass.TOTAL_INCREASING,
424  never_resets=True,
425  ),
427  key="tlx_statement_of_charge",
428  translation_key="tlx_statement_of_charge",
429  api_key="bmsSoc",
430  native_unit_of_measurement=PERCENTAGE,
431  device_class=SensorDeviceClass.BATTERY,
432  ),
433 )