From b24fade217d5670f5703a5d696bd79c5af4a8d53 Mon Sep 17 00:00:00 2001 From: Jared-Newell-Mobility <119603687+Jared-Newell-Mobility@users.noreply.github.com> Date: Fri, 22 Dec 2023 10:42:14 +0100 Subject: [PATCH] V201/missing component and type enums #300 (#487) OCPP 2.0.1 Referenced Components and Variables - sourced from a union of ocpp 2.0.1 part 2 appendices v1.3 plus the contents of Appendices_CSV_v1.3 - components.csv and variables.csv and dm_components_vars.xlsx --- CHANGELOG.md | 2 +- ocpp/v201/enums.py | 1348 +++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 1348 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 481dfa5ac..e5227880f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Change log - +- [#300](https://github.com/mobilityhouse/ocpp/issues/300) OCPP 2.0.1 add reference components and variables - [#518](https://github.com/mobilityhouse/ocpp/issues/518) OCPP 2.0.1 add additional reason codes from v1.3 ======= ## 0.24.0 (2023-12-07) diff --git a/ocpp/v201/enums.py b/ocpp/v201/enums.py index d0ba19194..625fafbf3 100644 --- a/ocpp/v201/enums.py +++ b/ocpp/v201/enums.py @@ -91,7 +91,8 @@ class AttributeType(str, Enum): getVariables:GetVariablesRequest.GetVariableDataType , getVariables:GetVariablesResponse.GetVariableResultType , setVariables:SetVariablesRequest.SetVariableDataType , - setVariables:SetVariablesResponse.SetVariableResultType + setVariables:SetVariablesResponse.SetVariableResultType , + ConnectedEV component variable AttributeType """ actual = "Actual" @@ -1358,3 +1359,1348 @@ class SecurityEventType(str, Enum): invalid_tls_cipher_suite = "InvalidTLSCipherSuite" maintenance_login_accepted = "MaintenanceLoginAccepted" maintenance_login_failed = "MaintenanceLoginFailed" + + +class ControllerComponentName(str, Enum): + """ + Referenced Controller Components (Logical Components) + Sourced from ocpp 2.0.1 part 2 appendices 3.1 v1.3, in + appendices_CSV_v1.3.zip dm_components_vars.csv and components.csv. + """ + + aligned_data_ctrlr = "AlignedDataCtrlr" + auth_cache_ctrlr = "AuthCacheCtrlr" + auth_ctrlr = "AuthCtrlr" + chademo_ctrlr = "CHAdeMOCtrlr" + clock_ctrlr = "ClockCtrlr" + customization_ctrlr = "CustomizationCtrlr" + device_data_ctrlr = "DeviceDataCtrlr" + display_message_ctrlr = "DisplayMessageCtrlr" + iso15118_ctrlr = "ISO15118Ctrlr" + local_auth_list_ctrlr = "LocalAuthListCtrlr" + monitoring_ctrlr = "MonitoringCtrlr" + ocpp_comm_ctrlr = "OCPPCommCtrlr" + reservation_ctrlr = "ReservationCtrlr" + sampled_data_ctrlr = "SampledDataCtrlr" + security_ctrlr = "SecurityCtrlr" + smart_charging_ctrlr = "SmartChargingCtrlr" + tariff_cost_ctrlr = "TariffCostCtrlr" + tx_ctrlr = "TxCtrlr" + + +class PhysicalComponentName(str, Enum): + """ + Referenced Physical Components - sourced from dm_components_vars.csv. + Note: specific variables for each component are sourced from a union of + ocpp 2.0.1 part 2 appendices 3.2 v1.3 and dm_components_vars.csv + from appendices_CSV_v1.3.zip. That is for all Physical Components in + section 3.2. expressed in this module as enums, + e.g. the variables of ControllerVariableName enum + """ + + access_barrier = "AccessBarrier" + ac_dc_converter = "AcDcConverter" + ac_phase_selector = "AcPhaseSelector" + actuator = "Actuator" + air_cooling_system = "AirCoolingSystem" + area_ventilation = "AreaVentilation" + bay_occupancy_sensor = "BayOccupancySensor" + beacon_lighting = "BeaconLighting" + cable_breakaway_sensor = "CableBreakawaySensor" + case_access_sensor = "CaseAccessSensor" + charging_station = "ChargingStation" + charging_status_indicator = "ChargingStatusIndicator" + connected_ev = "ConnectedEV" + connector = "Connector" + connector_holster_release = "ConnectorHolsterRelease" + connector_holster_sensor = "ConnectorHolsterSensor" + connector_plug_retention_lock = "ConnectorPlugRetentionLock" + connector_protection_release = "ConnectorProtectionRelease" + controller = "Controller" + control_metering = "ControlMetering" + cppwm_controller = "CPPWMController" + data_link = "DataLink" + display = "Display" + distribution_panel = "DistributionPanel" + electrical_feed = "ElectricalFeed" + elv_supply = "ELVSupply" + emergency_stop_sensor = "EmergencyStopSensor" + environmental_lighting = "EnvironmentalLighting" + ev_retention_lock = "EVRetentionLock" + evse = "EVSE" + external_temperature_sensor = "ExternalTemperatureSensor" + fiscal_metering = "FiscalMetering" + flood_sensor = "FloodSensor" + ground_isolation_protection = "GroundIsolationProtection" + heater = "Heater" + humidity_sensor = "HumiditySensor" + light_sensor = "LightSensor" + liquid_cooling_system = "LiquidCoolingSystem" + local_availability_sensor = "LocalAvailabilitySensor" + local_controller = "LocalController" + local_energy_storage = "LocalEnergyStorage" + over_current_protection = "OverCurrentProtection" + over_current_protection_recloser = "OverCurrentProtectionRecloser" + power_contactor = "PowerContactor" + rcd = "RCD" + rcd_recloser = "RCDRecloser" + real_time_clock = "RealTimeClock" + shock_sensor = "ShockSensor" + spaces_count_signage = "SpacesCountSignage" + switch = "Switch" + temperature_sensor = "TemperatureSensor" + tilt_sensor = "TiltSensor" + token_reader = "TokenReader" + ui_input = "UIInput" + upstream_protection_trigger = "UpstreamProtectionTrigger" + vehicle_id_sensor = "VehicleIdSensor" + + +class GenericVariableName(str, Enum): + """ + Variable names where the component type is non-specific + derived from a union of in appendices_CSV_v1.3.zip, + dm_components_vars.csv (Generic) and variables.csv + """ + + ac_current = "ACCurrent" + active = "Active" + ac_voltage = "ACVoltage" + allow_reset = "AllowReset" + angle = "Angle" + attempts = "Attempts" + availability_state = "AvailabilityState" + available = "Available" + certificate = "Certificate" + charge_protocol = "ChargeProtocol" + charging_complete_bulk = "ChargingCompleteBulk" + charging_complete_full = "ChargingCompleteFull" + charging_time = "ChargingTime" + color = "Color" + complete = "Complete" + connected_time = "ConnectedTime" + connector_type = "ConnectorType" + count = "Count" + currency = "Currency" + current_imbalance = "CurrentImbalance" + data_text = "DataText" + date_time = "DateTime" + dc_current = "DCCurrent" + dc_voltage = "DCVoltage" + departure_time = "DepartureTime" + ec_variant = "ECVariant" + enabled = "Enabled" + energy = "Energy" + energy_capacity = "EnergyCapacity" + energy_export = "EnergyExport" + energy_export_register = "EnergyExportRegister" + energy_import = "EnergyImport" + energy_import_register = "EnergyImportRegister" + entries = "Entries" + evse_id = "EvseId" + fallback = "Fallback" + fan_speed = "FanSpeed" + firmware_version = "FirmwareVersion" + force = "Force" + formats = "Formats" + frequency = "Frequency" + fuse_rating = "FuseRating" + height = "Height" + humidity = "Humidity" + hysteresis = "Hysteresis" + iccid = "ICCID" + impedance = "Impedance" + imsi = "IMSI" + interval = "Interval" + length = "Length" + light = "Light" + manufacturer = "Manufacturer" + message = "Message" + minimum_status_duration = "MinimumStatusDuration" + mode = "Mode" + model = "Model" + network_address = "NetworkAddress" + operated = "Operated" + operating_times = "OperatingTimes" + overload = "Overload" + percent = "Percent" + phase_rotation = "PhaseRotation" + post_charging_time = "PostChargingTime" + power = "Power" + problem = "Problem" + protecting = "Protecting" + remaining_time_bulk = "RemainingTimeBulk" + remaining_time_full = "RemainingTimeFull" + secc_id = "SeccId" + serial_number = "SerialNumber" + signal_strength = "SignalStrength" + state = "State" + state_of_charge = "StateOfCharge" + state_of_charge_bulk = "StateOfChargeBulk" + storage = "Storage" + supply_phases = "SupplyPhases" + suspending = "Suspending" + suspension = "Suspension" + temperature = "Temperature" + time = "Time" + time_offset = "TimeOffset" + timeout = "Timeout" + token = "Token" + token_type = "TokenType" + tries = "Tries" + tripped = "Tripped" + vehicle_id = "VehicleId" + version_date = "VersionDate" + version_number = "VersionNumber" + voltage_imbalance = "VoltageImbalance" + + +class AlignedDataCtrlrVariableName(str, Enum): + """ + Variable names where the component type is AlignedDataCtrlr + See ControllerComponentName for referenced logical component + """ + + available = "Available" + enabled = "Enabled" + interval = "Interval" + measurands = "Measurands" + send_during_idle = "SendDuringIdle" + sign_readings = "SignReadings" + tx_ended_interval = "TxEndedInterval" + tx_ended_measurands = "TxEndedMeasurands" + + +class AuthCacheCtrlrVariableName(str, Enum): + """ + Variable names where the component type is AuthCacheCtrlr + See ControllerComponentName for referenced logical component + """ + + available = "Available" + enabled = "Enabled" + life_time = "LifeTime" + policy = "Policy" + storage = "Storage" + disable_post_authorize = "DisablePostAuthorize" + + +class AuthCtrlrVariableName(str, Enum): + """ + Variable names where the component type is AuthCtrlr + See ControllerComponentName for referenced logical component + """ + + additional_info_items_per_message = "AdditionalInfoItemsPerMessage" + authorize_remote_start = "AuthorizeRemoteStart" + enabled = "Enabled" + local_authorize_offline = "LocalAuthorizeOffline" + local_pre_authorize = "LocalPreAuthorize" + master_pass_group_id = "MasterPassGroupId" + offline_tx_for_unknown_id_enabled = "OfflineTxForUnknownIdEnabled" + disable_remote_authorization = "DisableRemoteAuthorization" + + +class CHAdeMOCtrlrVariableName(str, Enum): + """ + Variable names where the component type is CHAdeMOCtrlr + See ControllerComponentName for referenced logical component + """ + + enabled = "Enabled" + active = "Active" + complete = "Complete" + tripped = "Tripped" + problem = "Problem" + selftest_active = "SelftestActive" + selftest_active_set = "SelftestActive(Set)" + chademo_protocol_number = "CHAdeMOProtocolNumber" + vehicle_status = "VehicleStatus" + dynamic_control = "DynamicControl" + high_current_control = "HighCurrentControl" + high_voltage_control = "HighVoltageControl" + auto_manufacturer_code = "AutoManufacturerCode" + + +class ClockCtrlrVariableName(str, Enum): + """ + Variable names where the component type is ClockCtrlr + See ControllerComponentName for referenced logical component + """ + + date_time = "DateTime" + next_time_offset_transition_date_time = "NextTimeOffsetTransitionDateTime" + ntp_server_uri = "NtpServerUri" + ntp_source = "NtpSource" + time_adjustment_reporting_threshold = "TimeAdjustmentReportingThreshold" + time_offset = "TimeOffset" + time_source = "TimeSource" + time_zone = "TimeZone" + + +class CustomizationCtrlrVariableName(str, Enum): + """ + Variable names where the component type is CustomizationCtrlr + See ControllerComponentName for referenced logical component + """ + + custom_implementation_enabled = "CustomImplementationEnabled" + + +class DeviceDataCtrlrVariableName(str, Enum): + """ + Variable names where the component type is DeviceDataCtrlr + See ControllerComponentName for referenced logical component + """ + + bytes_per_message = "BytesPerMessage" + configuration_value_size = "ConfigurationValueSize" + items_per_message = "ItemsPerMessage" + reporting_value_size = "ReportingValueSize" + value_size = "ValueSize" + + +class DeviceDataCtrlrInstanceName(str, Enum): + """ + Instance names where the component type is DeviceDataCtrlr + """ + + get_report = "GetReport" + get_variables = "GetVariables" + set_variables = "SetVariables" + + +class DisplayMessageCtrlrVariableName(str, Enum): + """ + Variable names where the component type is DisplayMessageCtrlr + See ControllerComponentName for referenced logical component + """ + + available = "Available" + display_messages = "DisplayMessages" + enabled = "Enabled" + personal_message_size = "PersonalMessageSize" + supported_formats = "SupportedFormats" + supported_priorities = "SupportedPriorities" + + +class ISO15118CtrlrVariableName(str, Enum): + """ + Variable names where the component type is ISO15118Ctrlr + See ControllerComponentName for referenced logical component + """ + + active = "Active" + enabled = "Enabled" + central_contract_validation_allowed = "CentralContractValidationAllowed" + complete = "Complete" + contract_validation_offline = "ContractValidationOffline" + secc_id = "SeccId" + selftest_active = "SelftestActive" + selftest_active_set = "SelftestActive(Set)" + max_schedule_entries = "MaxScheduleEntries" + requested_energy_transfer_mode = "RequestedEnergyTransferMode" + request_metering_receipt = "RequestMeteringReceipt" + country_name = "CountryName" + organization_name = "OrganizationName" + pnc_enabled = "PnCEnabled" + problem = "Problem" + tripped = "Tripped" + v2g_certificate_installation_enabled = "V2GCertificateInstallationEnabled" + contract_certificate_installation_enabled = "ContractCertificateInstallationEnabled" + + +class LocalAuthListCtrlrVariableName(str, Enum): + """ + Variable names where the component type is LocalAuthListCtrlr + See ControllerComponentName for referenced logical component + """ + + available = "Available" + bytes_per_message = "BytesPerMessage" + enabled = "Enabled" + entries = "Entries" + items_per_message = "ItemsPerMessage" + storage = "Storage" + disable_post_authorize = "DisablePostAuthorize" + + +class MonitoringCtrlrVariableName(str, Enum): + """ + Variable names where the component type is MonitoringCtrlr + See ControllerComponentName for referenced logical component + """ + + available = "Available" + bytes_per_message = "BytesPerMessage" + enabled = "Enabled" + items_per_message = "ItemsPerMessage" + offline_queuing_severity = "OfflineQueuingSeverity" + monitoring_base = "MonitoringBase" + monitoring_level = "MonitoringLevel" + active_monitoring_base = "ActiveMonitoringBase" + active_monitoring_level = "ActiveMonitoringLevel" + + +class MonitoringCtrlrInstanceName(str, Enum): + """ + Instance names where the component type is MonitoringCtrlr + """ + + clear_variable_monitoring = "ClearVariableMonitoring" + set_variable_monitoring = "SetVariableMonitoring" + + +class OCPPCommCtrlrVariableName(str, Enum): + """ + Variable names where the component type is OCPPCommCtrlr + See ControllerComponentName for referenced logical component + """ + + active_network_profile = "ActiveNetworkProfile" + file_transfer_protocols = "FileTransferProtocols" + heartbeat_interval = "HeartbeatInterval" + message_timeout = "MessageTimeout" + message_attempt_interval = "MessageAttemptInterval" + message_attempts = "MessageAttempts" + minimum_status_duration = "MinimumStatusDuration" + network_configuration_priority = "NetworkConfigurationPriority" + network_profile_connection_attempts = "NetworkProfileConnectionAttempts" + offline_threshold = "OfflineThreshold" + public_key_with_signed_meter_value = "PublicKeyWithSignedMeterValue" + queue_all_messages = "QueueAllMessages" + reset_retries = "ResetRetries" + retry_back_off_random_range = "RetryBackOffRandomRange" + retry_back_off_repeat_times = "RetryBackOffRepeatTimes" + retry_back_off_wait_minimum = "RetryBackOffWaitMinimum" + unlock_on_ev_side_disconnect = "UnlockOnEVSideDisconnect" + web_socket_ping_interval = "WebSocketPingInterval" + field_length = "FieldLength" + + +class OCPPCommCtrlrInstanceName(str, Enum): + """ + Instance names where the component type is OCPPCommCtrlr + """ + + default = "Default" + transaction_event = "TransactionEvent" + + +class ReservationCtrlrVariableName(str, Enum): + """ + Variable names where the component type is ReservationCtrlr + See ControllerComponentName for referenced logical component + """ + + available = "Available" + enabled = "Enabled" + non_evse_specific = "NonEvseSpecific" + + +class SampledDataCtrlrVariableName(str, Enum): + """ + Variable names where the component type is SampledDataCtrlr + See ControllerComponentName for referenced logical component + """ + + available = "Available" + enabled = "Enabled" + sign_readings = "SignReadings" + tx_ended_interval = "TxEndedInterval" + tx_ended_measurands = "TxEndedMeasurands" + tx_started_measurands = "TxStartedMeasurands" + tx_updated_interval = "TxUpdatedInterval" + tx_updated_measurands = "TxUpdatedMeasurands" + register_values_without_phases = "RegisterValuesWithoutPhases" + + +class SecurityCtrlrVariableName(str, Enum): + """ + Variable names where the component type is SampledDataCtrlr + See ControllerComponentName for referenced logical component + """ + + additional_root_certificate_check = "AdditionalRootCertificateCheck" + basic_auth_password = "BasicAuthPassword" + certificate_entries = "CertificateEntries" + cert_signing_repeat_times = "CertSigningRepeatTimes" + cert_signing_wait_minimum = "CertSigningWaitMinimum" + identity = "Identity" + max_certificate_chain_size = "MaxCertificateChainSize" + organization_name = "OrganizationName" + security_profile = "SecurityProfile" + + +class SmartChargingCtrlrVariableName(str, Enum): + """ + Variable names where the component type is SmartChargingCtrlr + See ControllerComponentName for referenced logical component + """ + + ac_phase_switching_supported = "ACPhaseSwitchingSupported" + available = "Available" + enabled = "Enabled" + entries = "Entries" + external_control_signals_enabled = "ExternalControlSignalsEnabled" + limit_change_significance = "LimitChangeSignificance" + notify_charging_limit_with_schedules = "NotifyChargingLimitWithSchedules" + periods_per_schedule = "PeriodsPerSchedule" + phases_3to1 = "Phases3to1" + profile_stack_level = "ProfileStackLevel" + rate_unit = "RateUnit" + + +class SmartChargingCtrlrInstanceName(str, Enum): + """ + Instance names where the component type is SmartChargingCtrlr + """ + + charging_profiles = "ChargingProfiles" + + +class TariffCostCtrlrVariableName(str, Enum): + """ + Variable names where the component type is TariffCostCtrlr + See ControllerComponentName for referenced logical component + """ + + available = "Available" + currency = "Currency" + enabled = "Enabled" + tariff_fallback_message = "TariffFallbackMessage" + total_cost_fallback_message = "TotalCostFallbackMessage" + + +class TariffCostCtrlrInstanceName(str, Enum): + """ + Instance names where the component type is TariffCostCtrlr + """ + + tariff = "Tariff" + cost = "Cost" + + +class TxCtrlrVariableName(str, Enum): + """ + Instance names where the component type is TxCtrlr + See ControllerComponentName for referenced logical component + """ + + charging_time = "ChargingTime" + ev_connection_time_out = "EVConnectionTimeOut" + max_energy_on_invalid_id = "MaxEnergyOnInvalidId" + stop_tx_on_ev_side_disconnect = "StopTxOnEVSideDisconnect" + stop_tx_on_invalid_id = "StopTxOnInvalidId" + tx_before_accepted_enabled = "TxBeforeAcceptedEnabled" + tx_start_point = "TxStartPoint" + tx_stop_point = "TxStopPoint" + + +class AccessBarrierVariableName(str, Enum): + """ + Variable names where the component type is AccessBarrier + See PhysicalComponentName for referenced physical component + """ + + enabled = "Enabled" + active = "Active" + problem = "Problem" + + +class AcDcConverterVariableName(str, Enum): + """ + Variable names where the component type is AcDcConverter + See PhysicalComponentName for referenced physical component + """ + + dc_current = "DCCurrent" + dc_voltage = "DCVoltage" + enabled = "Enabled" + fan_speed = "FanSpeed" + overload = "Overload" + power = "Power" + problem = "Problem" + temperature = "Temperature" + tripped = "Tripped" + + +class AcPhaseSelectorVariableName(str, Enum): + """ + Variable names where the component type is AcPhaseSelector + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + phase_rotation = "PhaseRotation" + problem = "Problem" + + +class ActuatorVariableName(str, Enum): + """ + Variable names where the component type is Actuator + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + problem = "Problem" + state = "State" + + +class AirCoolingSystemVariableName(str, Enum): + """ + Variable names where the component type is AirCoolingSystem + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + problem = "Problem" + fan_speed = "FanSpeed" + + +class AreaVentilationVariableName(str, Enum): + """ + Variable names where the component type is AreaVentilation + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + problem = "Problem" + fan_speed = "FanSpeed" + + +class BayOccupancySensorVariableName(str, Enum): + """ + Variable names where the component type is BayOccupancySensor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + percent = "Percent" + + +class BeaconLightingVariableName(str, Enum): + """ + Variable names where the component type is BeaconLighting + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + color = "Color" + enabled = "Enabled" + enabled_set = "Enabled(Set)" + percent = "Percent" + percent_set = "Percent(Set)" + power = "Power" + problem = "Problem" + + +class CableBreakawaySensorVariableName(str, Enum): + """ + Variable names where the component type is CableBreakawaySensor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + tripped = "Tripped" + + +class CaseAccessSensorVariableName(str, Enum): + """ + Variable names where the component type is CaseAccessSensor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + enabled_set = "Enabled(Set)" + problem = "Problem" + tripped = "Tripped" + + +class ChargingStationVariableName(str, Enum): + """ + Variable names where the component type is ChargingStation + See PhysicalComponentName for referenced physical component + """ + + ac_current = "ACCurrent" + ac_voltage = "ACVoltage" + ac_voltage_max_limit = "ACVoltage(MaxLimit)" + allow_new_sessions_pending_firmware_update = "AllowNewSessionsPendingFirmwareUpdate" + available = "Available" + availability_state = "AvailabilityState" + charge_protocol = "ChargeProtocol" + current_imbalance = "CurrentImbalance" + ec_variant = "ECVariant" + enabled = "Enabled" + identity = "Identity" + model = "Model" + operating_times = "OperatingTimes" + overload = "Overload" + phase_rotation = "PhaseRotation" + power = "Power" + power_max_limit = "Power(MaxLimit)" + problem = "Problem" + serial_number = "SerialNumber" + supply_phases = "SupplyPhases" + supply_phases_max_limit = "SupplyPhases(MaxLimit)" + tripped = "Tripped" + vendor_name = "VendorName" + voltage_imbalance = "VoltageImbalance" + + +class ChargingStatusIndicatorVariableName(str, Enum): + """ + Variable names where the component type is ChargingStatusIndicator + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + color = "Color" + + +class ConnectedEVVariableName(str, Enum): + """ + Variable names where the component type is ConnectedEV + See PhysicalComponentName for referenced physical component + """ + + protocol_agreed = "ProtocolAgreed" + protocol_supported_by_ev = "ProtocolSupportedByEV" + vehicle_id = "VehicleId" + # Voltage and current values + ac_current = "ACCurrent" + ac_voltage = "ACVoltage" + dc_current = "DCCurrent" + dc_voltage = "DCVoltage" + # Power, energy and time values + power = "Power" + energy_import = "EnergyImport" + departure_time = "DepartureTime" + energy_capacity = "EnergyCapacity" + remaining_time_bulk = "RemainingTimeBulk" + remaining_time_full = "RemainingTimeFull" + state_of_charge = "StateOfCharge" + state_of_charge_bulk = "StateOfChargeBulk" + charging_complete_bulk = "ChargingCompleteBulk" + charging_complete_full = "ChargingCompleteFull" + + +class ChargingStateVariableName(str, Enum): + """ + Variable names where the component type is ChargingState + """ + + # Status values - ChargingState + battery_overvoltage = "BatteryOvervoltage" + battery_undervoltage = "BatteryUndervoltage" + charging_current_deviation = "ChargingCurrentDeviation" + battery_temperature = "BatteryTemperature" + voltage_deviation = "VoltageDeviation" + charging_system_error = "ChargingSystemError" + vehicle_shift_position = "VehicleShiftPosition" + vehicle_charging_enabled = "VehicleChargingEnabled" + charging_system_incompatibility = "ChargingSystemIncompatibility" + charger_connector_lock_fault = "ChargerConnectorLockFault" + + +class ConnectorVariableName(str, Enum): + """ + Variable names where the component type is Connector + See PhysicalComponentName for referenced physical component + """ + + availability_state = "AvailabilityState" + available = "Available" + charge_protocol = "ChargeProtocol" + connector_type = "ConnectorType" + enabled = "Enabled" + phase_rotation = "PhaseRotation" + problem = "Problem" + supply_phases = "SupplyPhases" + supply_phases_max_limit = "SupplyPhases(MaxLimit)" + tripped = "Tripped" + + +class ConnectorHolsterReleaseVariableName(str, Enum): + """ + Variable names where the component type is ConnectorHolsterRelease + See PhysicalComponentName for referenced physical component + """ + + enabled = "Enabled" + active = "Active" + problem = "Problem" + state = "State" + + +class ConnectorHolsterSensorVariableName(str, Enum): + """ + Variable names where the component type is ConnectorHolsterSensor + See PhysicalComponentName for referenced physical component + """ + + enabled = "Enabled" + active = "Active" + problem = "Problem" + + +class ConnectorPlugRetentionLockVariableName(str, Enum): + """ + Variable names where the component type is ConnectorPlugRetentionLock + See PhysicalComponentName for referenced physical component + """ + + enabled = "Enabled" + active = "Active" + problem = "Problem" + tripped = "Tripped" + tries = "Tries" + tries_set_limit = "Tries(SetLimit)" + tries_max_limit = "Tries(MaxLimit)" + + +class ConnectorProtectionReleaseVariableName(str, Enum): + """ + Variable names where the component type is ConnectorProtectionRelease + See PhysicalComponentName for referenced physical component + """ + + enabled = "Enabled" + active = "Active" + problem = "Problem" + tripped = "Tripped" + + +class ControllerVariableName(str, Enum): + """ + Variable names where the component type is Controller + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + ec_variant = "ECVariant" + firmware_version = "FirmwareVersion" + interval_heartbeat = "Interval[Heartbeat]" + manufacturer = "Manufacturer" + max_msg_elements = "MaxMsgElements" + model = "Model" + problem = "Problem" + selftest_active = "SelftestActive" + selftest_active_set = "SelftestActive(Set)" + serial_number = "SerialNumber" + version_date = "VersionDate" + version_number = "VersionNumber" + + +class ControlMeteringVariableName(str, Enum): + """ + Variable names where the component type is ControlMetering + See PhysicalComponentName for referenced physical component + """ + + power = "Power" + ac_current = "ACCurrent" + dc_current = "DCCurrent" + dc_voltage = "DCVoltage" + + +class CPPWMControllerVariableName(str, Enum): + """ + Variable names where the component type is CPPWMController + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + dc_voltage = "DCVoltage" + enabled = "Enabled" + percentage = "Percentage" + problem = "Problem" + selftest_active = "SelftestActive" + selftest_active_set = "SelftestActive(Set)" + state = "State" + + +class DataLinkVariableName(str, Enum): + """ + Variable names where the component type is DataLink + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + complete = "Complete" + enabled = "Enabled" + fallback = "Fallback" + iccid = "ICCID" + imsi = "IMSI" + network_address = "NetworkAddress" + problem = "Problem" + signal_strength = "SignalStrength" + + +class DisplayVariableName(str, Enum): + """ + Variable names where the component type is Display + See PhysicalComponentName for referenced physical component + """ + + color = "Color" + count_height_in_chars = "Count[HeightInChars]" + count_width_in_chars = "Count[WidthInChars]" + data_text_visible = "DataText[Visible]" + enabled = "Enabled" + problem = "Problem" + state = "State" + + +class DistributionPanelVariableName(str, Enum): + """ + Variable names where the component type is DistributionPanel + See PhysicalComponentName for referenced physical component + """ + + charging_station = "ChargingStation" + distribution_panel = "DistributionPanel" + fuse = "Fuse" + instance_name = "InstanceName" + + +class ElectricalFeedVariableName(str, Enum): + """ + Variable names where the component type is ElectricalFeed + See PhysicalComponentName for referenced physical component + """ + + ac_voltage = "ACVoltage" + active = "Active" + dc_voltage = "DCVoltage" + enabled = "Enabled" + energy = "Energy" + phase_rotation = "PhaseRotation" + power = "Power" + power_type = "PowerType" + problem = "Problem" + supply_phases = "SupplyPhases" + + +class ELVSupplyVariableName(str, Enum): + """ + Variable names where the component type is ELVSupply + See PhysicalComponentName for referenced physical component + """ + + energy_import_register = "EnergyImportRegister" + fallback = "Fallback" + fallback_max_limit = "Fallback(MaxLimit)" + power = "Power" + power_max_limit = "Power(MaxLimit)" + state_of_charge = "StateOfCharge" + time = "Time" + + +class EmergencyStopSensorVariableName(str, Enum): + """ + Variable names where the component type is EmergencyStopSensor + See PhysicalComponentName for referenced physical component + """ + + enabled = "Enabled" + active = "Active" + tripped = "Tripped" + + +class EnvironmentalLightingVariableName(str, Enum): + """ + Variable names where the component type is EnvironmentalLighting + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + color = "Color" + enabled = "Enabled" + enabled_set = "Enabled(Set)" + percent = "Percent" + percent_set = "Percent(Set)" + power = "Power" + problem = "Problem" + + +class EVRetentionLockVariableName(str, Enum): + """ + Variable names where the component type is EVRetentionLock + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + complete = "Complete" + enabled = "Enabled" + problem = "Problem" + + +class EVSEVariableName(str, Enum): + """ + Variable names where the component type is EVSE + See PhysicalComponentName for referenced physical component + """ + + ac_current = "ACCurrent" + ac_voltage = "ACVoltage" + available = "Available" + availability_state = "AvailabilityState" + allow_reset = "AllowReset" + charge_protocol = "ChargeProtocol" + charging_time = "ChargingTime" + count_charging_profiles_max_limit = "Count[ChargingProfiles](MaxLimit)" + count_charging_profiles = "Count[ChargingProfiles]" + current_imbalance = "CurrentImbalance" + dc_current = "DCCurrent" + dc_voltage = "DCVoltage" + enabled = "Enabled" + evse_id = "EvseId" + iso15118_evse_id = "ISO15118EvseId" + overload = "Overload" + phase_rotation = "PhaseRotation" + post_charging_time = "PostChargingTime" + power = "Power" + problem = "Problem" + supply_phases = "SupplyPhases" + tripped = "Tripped" + voltage_imbalance = "VoltageImbalance" + + +class ExternalTemperatureSensorVariableName(str, Enum): + """ + Variable names where the component type is ExternalTemperatureSensor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + problem = "Problem" + temperature = "Temperature" + + +class FiscalMeteringVariableName(str, Enum): + """ + Variable names where the component type is FiscalMetering + See PhysicalComponentName for referenced physical component + """ + + problem = "Problem" + certificate = "Certificate" + ec_variant = "ECVariant" + energy_export = "EnergyExport" + energy_export_register = "EnergyExportRegister" + energy_import = "EnergyImport" + energy_import_register = "EnergyImportRegister" + manufacturer_ct = "Manufacturer[CT]" + manufacturer_meter = "Manufacturer[Meter]" + model_ct = "Model[CT]" + model_meter = "Model[Meter]" + options_set_meter_value_aligned_data = "OptionsSet[MeterValueAlignedData]" + options_set_txn_stopped_aligned_data = "OptionsSet[TxnStoppedAlignedData]" + serial_number_ct = "SerialNumber[CT]" + serial_number_meter = "SerialNumber[Meter]" + + +class FloodSensorVariableName(str, Enum): + """ + Variable names where the component type is FloodSensor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + height = "Height" + percent = "Percent" + tripped = "Tripped" + + +class GroundIsolationProtectionVariableName(str, Enum): + """ + Variable names where the component type is GroundIsolationProtection + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + complete = "Complete" + enabled = "Enabled" + impedance = "Impedance" + problem = "Problem" + + +class HeaterVariableName(str, Enum): + """ + Variable names where the component type is Heater + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + problem = "Problem" + tripped = "Tripped" + power = "Power" + power_max_limit = "Power(MaxLimit)" + power_max_set = "Power(MaxSet)" + temperature_min_set = "Temperature(MinSet)" + temperature_max_set = "Temperature(MaxSet)" + + +class HumiditySensorVariableName(str, Enum): + """ + Variable names where the component type is HumiditySensor + See PhysicalComponentName for referenced physical component + """ + + enabled = "Enabled" + humidity = "Humidity" + problem = "Problem" + + +class LightSensorVariableName(str, Enum): + """ + Variable names where the component type is LightSensor + See PhysicalComponentName for referenced physical component + """ + + enabled = "Enabled" + light = "Light" + problem = "Problem" + + +class LiquidCoolingSystemVariableName(str, Enum): + """ + Variable names where the component type is LiquidCoolingSystem + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + problem = "Problem" + temperature = "Temperature" + + +class LocalAvailabilitySensorVariableName(str, Enum): + """ + Variable names where the component type is LocalAvailabilitySensor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + problem = "Problem" + + +class LocalControllerVariableName(str, Enum): + """ + Variable names where the component type is LocalController + See PhysicalComponentName for referenced physical component + """ + + charging_station = "ChargingStation" + distribution_panel = "DistributionPanel" + ec_variant = "ECVariant" + enabled = "Enabled" + identity = "Identity" + manufacturer = "Manufacturer" + model = "Model" + problem = "Problem" + serial_number = "SerialNumber" + tripped = "Tripped" + + +class LocalEnergyStorageVariableName(str, Enum): + """ + Variable names where the component type is LocalEnergyStorage + See PhysicalComponentName for referenced physical component + """ + + capacity = "Capacity" + energy_capacity = "EnergyCapacity" + identity = "Identity" + + +class OverCurrentProtectionVariableName(str, Enum): + """ + Variable names where the component type is OverCurrentProtection + See PhysicalComponentName for referenced physical component + """ + + ac_current = "ACCurrent" + active = "Active" + operated = "Operated" + + +class OverCurrentProtectionRecloserVariableName(str, Enum): + """ + Variable names where the component type is OverCurrentProtectionRecloser + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + active_set = "Active(Set)" + enabled = "Enabled" + complete = "Complete" + problem = "Problem" + mode = "Mode" + tries = "Tries" + tries_set_limit = "Tries(SetLimit)" + tries_max_limit = "Tries(MaxLimit)" + + +class PowerContactorVariableName(str, Enum): + """ + Variable names where the component type is PowerContactor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + problem = "Problem" + tripped = "Tripped" + + +class RCDVariableName(str, Enum): + """ + Variable names where the component type is RCD + See PhysicalComponentName for referenced physical component + """ + + operated = "Operated" + tripped = "Tripped" + + +class RCDRecloserVariableName(str, Enum): + """ + Variable names where the component type is RCDRecloser + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + active_set = "Active(Set)" + complete = "Complete" + enabled = "Enabled" + problem = "Problem" + tries = "Tries" + tries_max_limit = "Tries(MaxLimit)" + tries_set_limit = "Tries(SetLimit)" + + +class RealTimeClockVariableName(str, Enum): + """ + Variable names where the component type is RealTimeClock + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + dc_voltage = "DCVoltage" + fallback = "Fallback" + fallback_max_limit = "Fallback(MaxLimit)" + problem = "Problem" + + +class ShockSensorVariableName(str, Enum): + """ + Variable names where the component type is ShockSensor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + force = "Force" + + +class SpacesCountSignageVariableName(str, Enum): + """ + Variable names where the component type is SpacesCountSignage + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + count = "Count" + enabled = "Enabled" + + +class SwitchVariableName(str, Enum): + """ + Variable names where the component type is Switch + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + state = "State" + + +class TemperatureSensorVariableName(str, Enum): + """ + Variable names where the component type is TemperatureSensor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + problem = "Problem" + temperature = "Temperature" + + +class TiltSensorVariableName(str, Enum): + """ + Variable names where the component type is TiltSensor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + angle = "Angle" + + +class TokenReaderVariableName(str, Enum): + """ + Variable names where the component type is TokenReader + See PhysicalComponentName for referenced physical component + """ + + enabled = "Enabled" + enabled_set = "Enabled(Set)" + operated = "Operated" + problem = "Problem" + token = "Token" + token_type = "TokenType" + + +class UIInputVariableName(str, Enum): + """ + Variable names where the component type is UIInput + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled" + operated = "Operated" + + +class UpstreamProtectionTriggerVariableName(str, Enum): + """ + Variable names where the component type is UpstreamProtectionTrigger + See PhysicalComponentName for referenced physical component + """ + + active_set = "Active(Set)" + enabled = "Enabled" + problem = "Problem" + tripped = "Tripped" + + +class VehicleIdSensorVariableName(str, Enum): + """ + Variable names where the component type is VehicleIdSensor + See PhysicalComponentName for referenced physical component + """ + + active = "Active" + enabled = "Enabled"