black code formatting

This commit is contained in:
Patrick762 committed 2024-02-17 20:14:12 +01:00
1 parent 928ff2bf5d
commit 432d46d0f1
11 files changed
+257 -242

No files matched your search

@@ -19,205 +19,209 @@ class FieldAttributes:
type: FieldType
setter: bool = False
name: str
unit_of_measurement: str|None = None
device_class: str|None = None
state_class: str|None = None
unit_of_measurement: str | None = None
device_class: str | None = None
state_class: str | None = None
options: Enum
@dataclass(frozen=True)
class PowerFieldAttributes(FieldAttributes):
type = FieldType.NUMERIC
unit_of_measurement = 'W'
device_class = 'power'
state_class = 'measurement'
unit_of_measurement = "W"
device_class = "power"
state_class = "measurement"
@dataclass
class VoltageFieldAttributes(FieldAttributes):
type = FieldType.NUMERIC
unit_of_measurement = 'V'
device_class = 'voltage'
state_class = 'measurement'
unit_of_measurement = "V"
device_class = "voltage"
state_class = "measurement"
@dataclass
class CurrentFieldAttributes(FieldAttributes):
type = FieldType.NUMERIC
unit_of_measurement = 'A'
device_class = 'current'
state_class = 'measurement'
unit_of_measurement = "A"
device_class = "current"
state_class = "measurement"
@dataclass
class FrequencyFieldAttributes(FieldAttributes):
type = FieldType.NUMERIC,
unit_of_measurement = 'Hz',
device_class = 'frequency',
state_class ='measurement',
type = (FieldType.NUMERIC,)
unit_of_measurement = ("Hz",)
device_class = ("frequency",)
state_class = ("measurement",)
@dataclass(frozen=True)
class OutletFieldAttributes(FieldAttributes):
type = FieldType.BOOL
device_class = 'outlet'
device_class = "outlet"
FIELD_ATTRIBUTES = {
# Base device fields
'dc_input_power': PowerFieldAttributes(
name = 'DC Input Power',
"dc_input_power": PowerFieldAttributes(
name="DC Input Power",
),
'ac_input_power': PowerFieldAttributes(
name = 'AC Input Power',
"ac_input_power": PowerFieldAttributes(
name="AC Input Power",
),
'ac_output_power': PowerFieldAttributes(
name = 'AC Output Power',
"ac_output_power": PowerFieldAttributes(
name="AC Output Power",
),
'dc_output_power': PowerFieldAttributes(
name = 'DC Output Power',
"dc_output_power": PowerFieldAttributes(
name="DC Output Power",
),
'power_generation': FieldAttributes(
type = FieldType.NUMERIC,
name = 'Total Power Generation',
unit_of_measurement = 'kWh',
device_class = 'energy',
state_class = 'total_increasing',
"power_generation": FieldAttributes(
type=FieldType.NUMERIC,
name="Total Power Generation",
unit_of_measurement="kWh",
device_class="energy",
state_class="total_increasing",
),
'total_battery_percent': FieldAttributes(
type = FieldType.NUMERIC,
name = 'Total Battery Percent',
unit_of_measurement = '%',
device_class = 'battery',
state_class ='measurement',
"total_battery_percent": FieldAttributes(
type=FieldType.NUMERIC,
name="Total Battery Percent",
unit_of_measurement="%",
device_class="battery",
state_class="measurement",
),
'total_battery_voltage': VoltageFieldAttributes(
name = 'Total Battery Voltage',
"total_battery_voltage": VoltageFieldAttributes(
name="Total Battery Voltage",
),
'ac_output_on': OutletFieldAttributes(
name = 'AC Output',
"ac_output_on": OutletFieldAttributes(
name="AC Output",
),
'dc_output_on': OutletFieldAttributes(
name = 'DC Output',
"dc_output_on": OutletFieldAttributes(
name="DC Output",
),
# Controls
'ac_output_on_switch': OutletFieldAttributes(
name = 'AC Output',
setter = True,
"ac_output_on_switch": OutletFieldAttributes(
name="AC Output",
setter=True,
),
'dc_output_on_switch': OutletFieldAttributes(
name = 'DC Output',
setter = True,
"dc_output_on_switch": OutletFieldAttributes(
name="DC Output",
setter=True,
),
# Device specific fields
'ac_output_mode': FieldAttributes(
type = FieldType.ENUM,
name = 'AC Output Mode',
options = OutputMode,
"ac_output_mode": FieldAttributes(
type=FieldType.ENUM,
name="AC Output Mode",
options=OutputMode,
),
'internal_ac_voltage': VoltageFieldAttributes(
name = 'Internal AC Voltage',
"internal_ac_voltage": VoltageFieldAttributes(
name="Internal AC Voltage",
),
'internal_current_one': CurrentFieldAttributes(
name = 'Internal Current Sensor 1',
"internal_current_one": CurrentFieldAttributes(
name="Internal Current Sensor 1",
),
'internal_power_one': PowerFieldAttributes(
name = 'Internal Power Sensor 1',
"internal_power_one": PowerFieldAttributes(
name="Internal Power Sensor 1",
),
'internal_ac_frequency': FrequencyFieldAttributes(
name = 'Internal AC Frequency',
"internal_ac_frequency": FrequencyFieldAttributes(
name="Internal AC Frequency",
),
'internal_current_two': CurrentFieldAttributes(
name = 'Internal Current Sensor 2',
"internal_current_two": CurrentFieldAttributes(
name="Internal Current Sensor 2",
),
'internal_power_two': PowerFieldAttributes(
name = 'Internal Power Sensor 2',
"internal_power_two": PowerFieldAttributes(
name="Internal Power Sensor 2",
),
'ac_input_voltage': VoltageFieldAttributes(
name = 'AC Input Voltage',
"ac_input_voltage": VoltageFieldAttributes(
name="AC Input Voltage",
),
'internal_current_three': CurrentFieldAttributes(
name = 'Internal Current Sensor 3',
"internal_current_three": CurrentFieldAttributes(
name="Internal Current Sensor 3",
),
'internal_power_three': PowerFieldAttributes(
name = 'Internal Power Sensor 3',
"internal_power_three": PowerFieldAttributes(
name="Internal Power Sensor 3",
),
'ac_input_frequency': FrequencyFieldAttributes(
name = 'AC Input Frequency',
"ac_input_frequency": FrequencyFieldAttributes(
name="AC Input Frequency",
),
'internal_dc_input_voltage': VoltageFieldAttributes(
name = 'Internal DC Input Voltage',
"internal_dc_input_voltage": VoltageFieldAttributes(
name="Internal DC Input Voltage",
),
'internal_dc_input_power': PowerFieldAttributes(
name = 'Internal DC Input Power',
"internal_dc_input_power": PowerFieldAttributes(
name="Internal DC Input Power",
),
'internal_dc_input_current': CurrentFieldAttributes(
name = 'Internal DC Input Current',
"internal_dc_input_current": CurrentFieldAttributes(
name="Internal DC Input Current",
),
# Device specific controls
'power_off': FieldAttributes(
type = FieldType.BUTTON,
setter = True,
name = 'Power Off',
"power_off": FieldAttributes(
type=FieldType.BUTTON,
setter=True,
name="Power Off",
),
'auto_sleep_mode': FieldAttributes(
type = FieldType.ENUM,
setter = True,
name = 'Screen Auto Sleep Mode',
options = AutoSleepMode,
"auto_sleep_mode": FieldAttributes(
type=FieldType.ENUM,
setter=True,
name="Screen Auto Sleep Mode",
options=AutoSleepMode,
),
'ups_mode': FieldAttributes(
type = FieldType.ENUM,
setter = False, # Disabled for safety reasons
name = 'UPS Working Mode',
options = UpsMode,
"ups_mode": FieldAttributes(
type=FieldType.ENUM,
setter=False, # Disabled for safety reasons
name="UPS Working Mode",
options=UpsMode,
),
'split_phase_on': FieldAttributes(
type = FieldType.BOOL,
setter = False, # Disabled for safety reasons
name = 'Split Phase',
"split_phase_on": FieldAttributes(
type=FieldType.BOOL,
setter=False, # Disabled for safety reasons
name="Split Phase",
),
'split_phase_machine_mode': FieldAttributes(
type = FieldType.ENUM,
setter = False, # Disabled for safety reasons
name = 'Split Phase Machine Type',
options = SplitPhaseMachineType,
"split_phase_machine_mode": FieldAttributes(
type=FieldType.ENUM,
setter=False, # Disabled for safety reasons
name="Split Phase Machine Type",
options=SplitPhaseMachineType,
),
'grid_charge_on': FieldAttributes(
type = FieldType.BOOL,
setter = False, # Disabled for safety reasons
name = 'Grid Charge',
"grid_charge_on": FieldAttributes(
type=FieldType.BOOL,
setter=False, # Disabled for safety reasons
name="Grid Charge",
),
'time_control_on': FieldAttributes(
type = FieldType.BOOL,
setter = False, # Disabled for safety reasons
name = 'Time Control',
"time_control_on": FieldAttributes(
type=FieldType.BOOL,
setter=False, # Disabled for safety reasons
name="Time Control",
),
'battery_range_start': FieldAttributes(
type = FieldType.NUMERIC,
setter = False, # Disabled
name = 'Battery Range Start',
unit_of_measurement = '%',
"battery_range_start": FieldAttributes(
type=FieldType.NUMERIC,
setter=False, # Disabled
name="Battery Range Start",
unit_of_measurement="%",
),
'battery_range_end': FieldAttributes(
type = FieldType.NUMERIC,
setter = False, # Disabled
name = 'Battery Range End',
unit_of_measurement = '%',
"battery_range_end": FieldAttributes(
type=FieldType.NUMERIC,
setter=False, # Disabled
name="Battery Range End",
unit_of_measurement="%",
),
}
def PACK_FIELD_ATTRIBUTES(pack: int):
return {
'pack_voltage': VoltageFieldAttributes(
name = f'Battery Pack {pack} Voltage',
"pack_voltage": VoltageFieldAttributes(
name=f"Battery Pack {pack} Voltage",
),
'pack_battery_percent': FieldAttributes(
type = FieldType.NUMERIC,
name = f'Battery Pack {pack} Percent',
unit_of_measurement = '%',
device_class ='battery',
state_class ='measurement',
"pack_battery_percent": FieldAttributes(
type=FieldType.NUMERIC,
name=f"Battery Pack {pack} Percent",
unit_of_measurement="%",
device_class="battery",
state_class="measurement",
),
'pack_bms_version': FieldAttributes(
type = FieldType.NUMERIC,
name = f'Battery Pack {pack} BMS Version',
"pack_bms_version": FieldAttributes(
type=FieldType.NUMERIC,
name=f"Battery Pack {pack} BMS Version",
),
}