black code formatting
This commit is contained in:
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",
|
||||
),
|
||||
}
|
||||
Reference in new issue
Block a user