pub const STANDARD_COMPONENTS: &[&str] = &[
"ACDERCtrlr",
"AlignedDataCtrlr",
"AuthCacheCtrlr",
"AuthCtrlr",
"BatterySwapCtrlr",
"CHAdeMOCtrlr",
"ClockCtrlr",
"CustomizationCtrlr",
"DCDERCtrlr",
"DeviceDataCtrlr",
"DisplayMessageCtrlr",
"ISO15118Ctrlr",
"LocalAuthListCtrlr",
"MonitoringCtrlr",
"PaymentCtrlr",
"OCPPCommCtrlr",
"ReservationCtrlr",
"SampledDataCtrlr",
"SecurityCtrlr",
"SmartChargingCtrlr",
"TariffCostCtrlr",
"TxCtrlr",
"V2XChargingCtrlr",
"WebPaymentsCtrlr",
"AccessBarrier",
"AcDcConverter",
"AcPhaseSelector",
"Actuator",
"AirCoolingSystem",
"AreaVentilation",
"BatteryCartridge",
"BayOccupancySensor",
"BeaconLighting",
"CableBreakawaySensor",
"CaseAccessSensor",
"ChargingStation",
"ChargingStatusIndicator",
"ConnectedEV",
"Connector",
"ConnectorHolsterRelease",
"ConnectorHolsterSensor",
"ConnectorPlugRetentionLock",
"ConnectorProtectionRelease",
"Controller",
"ControlMetering",
"CPPWMController",
"DataLink",
"Display",
"DistributionPanel",
"ElectricalFeed",
"ELVSupply",
"EmergencyStopSensor",
"EnvironmentalLighting",
"EVRetentionLock",
"EVSE",
"ExternalTemperatureSensor",
"FiscalMetering",
"FloodSensor",
"GroundIsolationProtection",
"Heater",
"HumiditySensor",
"LightSensor",
"LiquidCoolingSystem",
"LocalAvailabilitySensor",
"LocalController",
"LocalEnergyStorage",
"NetworkConfiguration",
"OverCurrentProtection",
"OverCurrentProtectionRecloser",
"PowerContactor",
"RCD",
"RCDRecloser",
"RealTimeClock",
"ShockSensor",
"SpacesCountSignage",
"Switch",
"TemperatureSensor",
"TiltSensor",
"TokenReader",
"UpstreamProtectionTrigger",
"UIInput",
"VehicleIdSensor",
];
#[must_use]
pub fn is_standard_component(name: &str) -> bool {
STANDARD_COMPONENTS
.iter()
.any(|c| c.eq_ignore_ascii_case(name))
}