diff --git a/custom_components/bluetti_bt/bluetti_bt_lib/field_attributes.py b/custom_components/bluetti_bt/bluetti_bt_lib/field_attributes.py index d29e4dd..1cb046e 100644 --- a/custom_components/bluetti_bt/bluetti_bt_lib/field_attributes.py +++ b/custom_components/bluetti_bt/bluetti_bt_lib/field_attributes.py @@ -123,21 +123,11 @@ class OutletFieldAttributes(FieldAttributes): FIELD_ATTRIBUTES: dict[str, FieldAttributes] = { # Base device fields - "dc_input_power": PowerFieldAttributes( - name="DC Input Power", - ), - "ac_input_power": PowerFieldAttributes( - name="AC Input Power", - ), - "ac_output_power": PowerFieldAttributes( - name="AC Output Power", - ), - "dc_output_power": PowerFieldAttributes( - name="DC Output Power", - ), - "power_generation": EnergyFieldAttributes( - name="Total Power Generation", - ), + "dc_input_power": PowerFieldAttributes("DC Input Power"), + "ac_input_power": PowerFieldAttributes("AC Input Power"), + "ac_output_power": PowerFieldAttributes("AC Output Power"), + "dc_output_power": PowerFieldAttributes("DC Output Power"), + "power_generation": EnergyFieldAttributes("Total Power Generation"), "total_battery_percent": FieldAttributes( type=FieldType.NUMERIC, name="Total Battery Percent", @@ -145,15 +135,9 @@ FIELD_ATTRIBUTES: dict[str, FieldAttributes] = { device_class="battery", state_class="measurement", ), - "total_battery_voltage": VoltageFieldAttributes( - name="Total Battery Voltage", - ), - "ac_output_on": OutletFieldAttributes( - name="AC Output", - ), - "dc_output_on": OutletFieldAttributes( - name="DC Output", - ), + "total_battery_voltage": VoltageFieldAttributes("Total Battery Voltage"), + "ac_output_on": OutletFieldAttributes("AC Output"), + "dc_output_on": OutletFieldAttributes("DC Output"), # Controls "ac_output_on_switch": OutletFieldAttributes( name="AC Output", @@ -169,150 +153,72 @@ FIELD_ATTRIBUTES: dict[str, FieldAttributes] = { name="AC Output Mode", options=OutputMode, ), - "internal_ac_voltage": VoltageFieldAttributes( - name="Internal AC Voltage", - ), - "internal_current_one": CurrentFieldAttributes( - name="Internal Current Sensor 1", - ), - "internal_power_one": PowerFieldAttributes( - name="Internal Power Sensor 1", - ), - "internal_ac_frequency": FrequencyFieldAttributes( - name="Internal AC Frequency", - ), - "internal_current_two": CurrentFieldAttributes( - name="Internal Current Sensor 2", - ), - "internal_power_two": PowerFieldAttributes( - name="Internal Power Sensor 2", - ), - "ac_input_voltage": VoltageFieldAttributes( - name="AC Input Voltage", - ), - "internal_current_three": CurrentFieldAttributes( - name="Internal Current Sensor 3", - ), - "internal_power_three": PowerFieldAttributes( - name="Internal Power Sensor 3", - ), - "ac_input_frequency": FrequencyFieldAttributes( - name="AC Input Frequency", - ), - "internal_dc_input_voltage": VoltageFieldAttributes( - name="Internal DC Input Voltage", - ), - "internal_dc_input_power": PowerFieldAttributes( - name="Internal DC Input Power", - ), - "internal_dc_input_current": CurrentFieldAttributes( - name="Internal DC Input Current", - ), - "pv_input_power1": PowerFieldAttributes( - name="Solar Input Power 1", - ), - "pv_input_power2": PowerFieldAttributes( - name="Solar Input Power 2", - ), - "pv_input_voltage1": VoltageFieldAttributes( - name="Solar Input Voltage 1", - ), - "pv_input_voltage2": VoltageFieldAttributes( - name="Solar Input Voltage 2", - ), - "pv_input_current1": CurrentFieldAttributes( - name="Solar Input Current 1", - ), - "pv_input_current2": CurrentFieldAttributes( - name="Solar Input Current 2", - ), + "internal_ac_voltage": VoltageFieldAttributes("Internal AC Voltage"), + "internal_current_one": CurrentFieldAttributes("Internal Current Sensor 1"), + "internal_power_one": PowerFieldAttributes("Internal Power Sensor 1"), + "internal_ac_frequency": FrequencyFieldAttributes("Internal AC Frequency"), + "internal_current_two": CurrentFieldAttributes("Internal Current Sensor 2"), + "internal_power_two": PowerFieldAttributes("Internal Power Sensor 2"), + "ac_input_voltage": VoltageFieldAttributes("AC Input Voltage"), + "internal_current_three": CurrentFieldAttributes("Internal Current Sensor 3"), + "internal_power_three": PowerFieldAttributes("Internal Power Sensor 3"), + "ac_input_frequency": FrequencyFieldAttributes("AC Input Frequency"), + "internal_dc_input_voltage": VoltageFieldAttributes("Internal DC Input Voltage"), + "internal_dc_input_power": PowerFieldAttributes("Internal DC Input Power"), + "internal_dc_input_current": CurrentFieldAttributes("Internal DC Input Current"), + "pv_input_power1": PowerFieldAttributes("Solar Input Power 1"), + "pv_input_power2": PowerFieldAttributes("Solar Input Power 2"), + "pv_input_voltage1": VoltageFieldAttributes("Solar Input Voltage 1"), + "pv_input_voltage2": VoltageFieldAttributes("Solar Input Voltage 2"), + "pv_input_current1": CurrentFieldAttributes("Solar Input Current 1"), + "pv_input_current2": CurrentFieldAttributes("Solar Input Current 2"), "adl400_ac_input_power_phase1": PowerFieldAttributes( - name="AC Solar Input Power Phase 1" + "AC Solar Input Power Phase 1" ), "adl400_ac_input_power_phase2": PowerFieldAttributes( - name="AC Solar Input Power Phase 2" + "AC Solar Input Power Phase 2" ), "adl400_ac_input_power_phase3": PowerFieldAttributes( - name="AC Solar Input Power Phase 3" + "AC Solar Input Power Phase 3" ), "adl400_ac_input_voltage_phase1": VoltageFieldAttributes( - name="AC Solar Input Voltage Phase 1", + "AC Solar Input Voltage Phase 1" ), "adl400_ac_input_voltage_phase2": VoltageFieldAttributes( - name="AC Solar Input Voltage Phase 2", + "AC Solar Input Voltage Phase 2" ), "adl400_ac_input_voltage_phase3": VoltageFieldAttributes( - name="AC Solar Input Voltage Phase 3", + "AC Solar Input Voltage Phase 3" ), "adl400_ac_input_current_phase1": CurrentFieldAttributes( - name="AC Solar Input Current Phase 1", + "AC Solar Input Current Phase 1" ), "adl400_ac_input_current_phase2": CurrentFieldAttributes( - name="AC Solar Input Current Phase 2", + "AC Solar Input Current Phase 2" ), "adl400_ac_input_current_phase3": CurrentFieldAttributes( - name="AC Solar Input Current Phase 3", - ), - "grid_frequency": FrequencyFieldAttributes( - name="Grid Frequency", - ), - "grid_power_phase1": PowerFieldAttributes( - name="Grid Power Phase 1", - ), - "grid_power_phase2": PowerFieldAttributes( - name="Grid Power Phase 2", - ), - "grid_power_phase3": PowerFieldAttributes( - name="Grid Power Phase 3", - ), - "grid_voltage_phase1": VoltageFieldAttributes( - name="Grid Voltage Phase 1", - ), - "grid_voltage_phase2": VoltageFieldAttributes( - name="Grid Voltage Phase 2", - ), - "grid_voltage_phase3": VoltageFieldAttributes( - name="Grid Voltage Phase 3", - ), - "grid_current_phase1": CurrentFieldAttributes( - name="Grid Current Phase 1", - ), - "grid_current_phase2": CurrentFieldAttributes( - name="Grid Current Phase 2", - ), - "grid_current_phase3": CurrentFieldAttributes( - name="Grid Current Phase 3", - ), - "ac_output_frequency": FrequencyFieldAttributes( - name="AC Output Frequency", - ), - "ac_output_power_phase1": PowerFieldAttributes( - name="AC Output Power Phase 1", - ), - "ac_output_power_phase2": PowerFieldAttributes( - name="AC Output Power Phase 2", - ), - "ac_output_power_phase3": PowerFieldAttributes( - name="AC Output Power Phase 3", - ), - "ac_output_voltage_phase1": VoltageFieldAttributes( - name="AC Output Voltage Phase 1", - ), - "ac_output_voltage_phase2": VoltageFieldAttributes( - name="AC Output Voltage Phase 2", - ), - "ac_output_voltage_phase3": VoltageFieldAttributes( - name="AC Output Voltage Phase 3", - ), - "total_ac_consumption": EnergyFieldAttributes( - name="Total Load Consumption", - ), - "total_grid_consumption": EnergyFieldAttributes( - name="Total Grid Consumption", - ), - "total_grid_feed": EnergyFieldAttributes( - name="Total Grid Feed", + "AC Solar Input Current Phase 3" ), + "grid_frequency": FrequencyFieldAttributes("Grid Frequency"), + "grid_power_phase1": PowerFieldAttributes("Grid Power Phase 1"), + "grid_power_phase2": PowerFieldAttributes("Grid Power Phase 2"), + "grid_power_phase3": PowerFieldAttributes("Grid Power Phase 3"), + "grid_voltage_phase1": VoltageFieldAttributes("Grid Voltage Phase 1"), + "grid_voltage_phase2": VoltageFieldAttributes("Grid Voltage Phase 2"), + "grid_voltage_phase3": VoltageFieldAttributes("Grid Voltage Phase 3"), + "grid_current_phase1": CurrentFieldAttributes("Grid Current Phase 1"), + "grid_current_phase2": CurrentFieldAttributes("Grid Current Phase 2"), + "grid_current_phase3": CurrentFieldAttributes("Grid Current Phase 3"), + "ac_output_frequency": FrequencyFieldAttributes("AC Output Frequency"), + "ac_output_power_phase1": PowerFieldAttributes("AC Output Power Phase 1"), + "ac_output_power_phase2": PowerFieldAttributes("AC Output Power Phase 2"), + "ac_output_power_phase3": PowerFieldAttributes("AC Output Power Phase 3"), + "ac_output_voltage_phase1": VoltageFieldAttributes("AC Output Voltage Phase 1"), + "ac_output_voltage_phase2": VoltageFieldAttributes("AC Output Voltage Phase 2"), + "ac_output_voltage_phase3": VoltageFieldAttributes("AC Output Voltage Phase 3"), + "total_ac_consumption": EnergyFieldAttributes("Total Load Consumption"), + "total_grid_consumption": EnergyFieldAttributes("Total Grid Consumption"), + "total_grid_feed": EnergyFieldAttributes("Total Grid Feed"), # Device specific controls "power_off": FieldAttributes( type=FieldType.BUTTON,