Add extracted tools: CitrineOS, OpenOCPP, ShapeShifter
- CitrineOS core extracted (CSMS OCPP 2.0.1) - OpenOCPP extracted (firmware OCPP 1.6J/2.0.1) - ShapeShifter library installed (pip install -e) - ShapeShifter specification extracted - EVerest extracted TODO updated with progress
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"Internal": {
|
||||
"ChargePointId": "cp001",
|
||||
"CentralSystemURI": "127.0.0.1:8180/steve/websocket/CentralSystemService/",
|
||||
"ChargeBoxSerialNumber": "cp001",
|
||||
"ChargePointModel": "Yeti",
|
||||
"ChargePointVendor": "Pionix",
|
||||
"FirmwareVersion": "0.1",
|
||||
"LogMessagesFormat": [],
|
||||
"AllowChargingProfileWithoutStartSchedule": true
|
||||
},
|
||||
"Core": {
|
||||
"AuthorizeRemoteTxRequests": false,
|
||||
"ClockAlignedDataInterval": 900,
|
||||
"ConnectionTimeOut": 10,
|
||||
"ConnectorPhaseRotation": "0.RST,1.RST",
|
||||
"GetConfigurationMaxKeys": 100,
|
||||
"HeartbeatInterval": 86400,
|
||||
"LocalAuthorizeOffline": false,
|
||||
"LocalPreAuthorize": false,
|
||||
"MeterValuesAlignedData": "Energy.Active.Import.Register",
|
||||
"MeterValuesSampledData": "Energy.Active.Import.Register",
|
||||
"MeterValueSampleInterval": 0,
|
||||
"NumberOfConnectors": 1,
|
||||
"ResetRetries": 1,
|
||||
"StopTransactionOnEVSideDisconnect": true,
|
||||
"StopTransactionOnInvalidId": true,
|
||||
"StopTxnAlignedData": "Energy.Active.Import.Register",
|
||||
"StopTxnSampledData": "Energy.Active.Import.Register",
|
||||
"SupportedFeatureProfiles": "Core,FirmwareManagement,RemoteTrigger,Reservation,LocalAuthListManagement,SmartCharging",
|
||||
"TransactionMessageAttempts": 1,
|
||||
"TransactionMessageRetryInterval": 10,
|
||||
"UnlockConnectorOnEVSideDisconnect": true
|
||||
},
|
||||
"FirmwareManagement": {
|
||||
"SupportedFileTransferProtocols": "FTP"
|
||||
},
|
||||
"LocalAuthListManagement": {
|
||||
"LocalAuthListEnabled": true,
|
||||
"LocalAuthListMaxLength": 42,
|
||||
"SendLocalListMaxLength": 42
|
||||
},
|
||||
"SmartCharging": {
|
||||
"ChargeProfileMaxStackLevel": 42,
|
||||
"ChargingScheduleAllowedChargingRateUnit": "Current",
|
||||
"ChargingScheduleMaxPeriods": 42,
|
||||
"MaxChargingProfilesInstalled": 42
|
||||
},
|
||||
"Security": {
|
||||
"SecurityProfile": 0
|
||||
},
|
||||
"PnC": {
|
||||
"ISO15118CertificateManagementEnabled": true,
|
||||
"ISO15118PnCEnabled": true,
|
||||
"ContractValidationOffline": true
|
||||
},
|
||||
"CostAndPrice": {
|
||||
"CustomDisplayCostAndPrice": false
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{}
|
||||
@@ -0,0 +1,278 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"description": "Schema for DCDERCtrlr EVSE 1",
|
||||
"name": "DCDERCtrlr",
|
||||
"evse_id": 1,
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"DCDERCtrlrAvailable": {
|
||||
"variable_name": "Available",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadWrite",
|
||||
"value": false
|
||||
}
|
||||
],
|
||||
"description": "Whether DC DER control is supported by this EVSE. Default disabled; set to true to enable DER control on this EVSE.",
|
||||
"default": false,
|
||||
"type": "boolean"
|
||||
},
|
||||
"DCDERCtrlrInverterHwVersion": {
|
||||
"variable_name": "InverterHwVersion",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Hardware version of inverter.",
|
||||
"type": "string"
|
||||
},
|
||||
"DCDERCtrlrInverterManufacturer": {
|
||||
"variable_name": "InverterManufacturer",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Manufacturer of inverter.",
|
||||
"type": "string"
|
||||
},
|
||||
"DCDERCtrlrInverterModel": {
|
||||
"variable_name": "InverterModel",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Model of inverter.",
|
||||
"type": "string"
|
||||
},
|
||||
"DCDERCtrlrInverterSwVersion": {
|
||||
"variable_name": "InverterSwVersion",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Software version of inverter.",
|
||||
"type": "string"
|
||||
},
|
||||
"DCDERCtrlrMaxChargeRateVA": {
|
||||
"variable_name": "MaxChargeRateVA",
|
||||
"characteristics": {
|
||||
"unit": "VA",
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "decimal"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Maximum apparent power charge rating in voltamperes; may differ from the apparent power maximum rating.",
|
||||
"type": "number"
|
||||
},
|
||||
"DCDERCtrlrMaxChargeRateW": {
|
||||
"variable_name": "MaxChargeRateW",
|
||||
"characteristics": {
|
||||
"unit": "W",
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "decimal"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Maximum active power charge rating in watts.",
|
||||
"type": "number"
|
||||
},
|
||||
"DCDERCtrlrMaxVA": {
|
||||
"variable_name": "MaxVA",
|
||||
"characteristics": {
|
||||
"unit": "VA",
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "decimal"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Maximum apparent power rating in voltamperes.",
|
||||
"type": "number"
|
||||
},
|
||||
"DCDERCtrlrMaxVar": {
|
||||
"variable_name": "MaxVar",
|
||||
"characteristics": {
|
||||
"unit": "Var",
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "decimal"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Maximum injected reactive power rating in vars.",
|
||||
"type": "number"
|
||||
},
|
||||
"DCDERCtrlrMaxVarNeg": {
|
||||
"variable_name": "MaxVarNeg",
|
||||
"characteristics": {
|
||||
"unit": "Var",
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "decimal"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Maximum absorbed reactive power rating in vars.",
|
||||
"type": "number"
|
||||
},
|
||||
"DCDERCtrlrMaxW": {
|
||||
"variable_name": "MaxW",
|
||||
"characteristics": {
|
||||
"unit": "W",
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "decimal"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Active power rating in watts at unity power factor.",
|
||||
"type": "number"
|
||||
},
|
||||
"DCDERCtrlrModesSupported": {
|
||||
"variable_name": "ModesSupported",
|
||||
"characteristics": {
|
||||
"valuesList": "EnterService,FreqDroop,FreqWatt,FixedPFAbsorb,FixedPFInject,FixedVar,Gradients,HFMustTrip,HFMayTrip,HVMustTrip,HVMomCess,HVMayTrip,LimitMaxDischarge,LFMustTrip,LVMustTrip,LVMomCess,LVMayTrip,PowerMonitoringMustTrip,VoltVar,VoltWatt,WattPF,WattVar",
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "MemberList"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly",
|
||||
"value": "FreqDroop,FreqWatt,VoltWatt,LimitMaxDischarge,VoltVar,FixedVar,EnterService,Gradients"
|
||||
}
|
||||
],
|
||||
"description": "List of DER control modes supported by the DC inverter of this EVSE.",
|
||||
"type": "string"
|
||||
},
|
||||
"DCDERCtrlrOverExcitedPF": {
|
||||
"variable_name": "OverExcitedPF",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "decimal"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Over-excited power factor.",
|
||||
"type": "number"
|
||||
},
|
||||
"DCDERCtrlrOverExcitedW": {
|
||||
"variable_name": "OverExcitedW",
|
||||
"characteristics": {
|
||||
"unit": "W",
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "decimal"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Active power rating in watts at specified over-excited power factor.",
|
||||
"type": "number"
|
||||
},
|
||||
"DCDERCtrlrReactiveSusceptance": {
|
||||
"variable_name": "ReactiveSusceptance",
|
||||
"characteristics": {
|
||||
"unit": "s",
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "decimal"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Reactive susceptance that remains connected to the electrical power system in the cease to energize and trip state.",
|
||||
"type": "number"
|
||||
},
|
||||
"DCDERCtrlrUnderExcitedPF": {
|
||||
"variable_name": "UnderExcitedPF",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "decimal"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Under-excited power factor.",
|
||||
"type": "number"
|
||||
},
|
||||
"DCDERCtrlrUnderExcitedW": {
|
||||
"variable_name": "UnderExcitedW",
|
||||
"characteristics": {
|
||||
"unit": "W",
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "decimal"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Active power rating in watts at specified under-excited power factor.",
|
||||
"type": "number"
|
||||
}
|
||||
},
|
||||
"required": []
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
[pytest]
|
||||
pythonpath=../../../config/v2
|
||||
@@ -0,0 +1,93 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"description": "Schema for Connector",
|
||||
"type": "object",
|
||||
"name": "Connector",
|
||||
"evse_id": 1,
|
||||
"connector_id": 1,
|
||||
"properties": {
|
||||
"ConnectorAvailabilityState": {
|
||||
"variable_name": "AvailabilityState",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "OptionList",
|
||||
"valuesList": "Available,Occupied,Reserved,Unavailable,Faulted"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual"
|
||||
}
|
||||
],
|
||||
"description": "This variable reports current availability state for the Connector. Optional, because already reported in StatusNotification.",
|
||||
"type": "string"
|
||||
},
|
||||
"ConnectorAvailable": {
|
||||
"variable_name": "Available",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Component exists",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"ChargeProtocol": {
|
||||
"variable_name": "ChargeProtocol",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual"
|
||||
}
|
||||
],
|
||||
"description": "The Charging Control Protocol applicable to a Connector. CHAdeMO: CHAdeMO protocol, ISO15118: ISO15118 V2G protocol (wired or wireless) as used with CCS, CPPWM: IEC61851-1 / SAE J1772 protocol (ELV DC & PWM signalling via Control Pilot wire), Uncontrolled: No charging power management applies (e.g. Schuko socket), Undetermined: Yet to be determined (e.g. before plugged in), Unknown: Not determinable, NOTE: ChargeProtocol is distinct from and orthogonal to connectorType.",
|
||||
"type": "string"
|
||||
},
|
||||
"ConnectorType": {
|
||||
"variable_name": "ConnectorType",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly",
|
||||
"value": "cGBT"
|
||||
}
|
||||
],
|
||||
"description": "A value of ConnectorEnumType (See part 2) plus additionally: cGBT, cChaoJi, OppCharge. Specific type of connector, including sub-variant information. Note: Distinct and orthogonal to Charging Protocol, Power Type, Phases.",
|
||||
"type": "string",
|
||||
"default": ""
|
||||
},
|
||||
"ConnectorSupplyPhases": {
|
||||
"variable_name": "SupplyPhases",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "integer"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Number of alternating current phases connected/available.",
|
||||
"type": "integer",
|
||||
"default": "0"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"ConnectorAvailable",
|
||||
"ConnectorSupplyPhases",
|
||||
"ConnectorType"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"description": "Schema for Connector",
|
||||
"type": "object",
|
||||
"name": "Connector",
|
||||
"evse_id": 2,
|
||||
"connector_id": 1,
|
||||
"properties": {
|
||||
"ConnectorAvailabilityState": {
|
||||
"variable_name": "AvailabilityState",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "OptionList",
|
||||
"valuesList": "Available,Occupied,Reserved,Unavailable,Faulted"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual"
|
||||
}
|
||||
],
|
||||
"description": "This variable reports current availability state for the Connector. Optional, because already reported in StatusNotification.",
|
||||
"type": "string"
|
||||
},
|
||||
"ConnectorAvailable": {
|
||||
"variable_name": "Available",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly",
|
||||
"value": true
|
||||
}
|
||||
],
|
||||
"description": "Component exists",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"ChargeProtocol": {
|
||||
"variable_name": "ChargeProtocol",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual"
|
||||
}
|
||||
],
|
||||
"description": "The Charging Control Protocol applicable to a Connector. CHAdeMO: CHAdeMO protocol, ISO15118: ISO15118 V2G protocol (wired or wireless) as used with CCS, CPPWM: IEC61851-1 / SAE J1772 protocol (ELV DC & PWM signalling via Control Pilot wire), Uncontrolled: No charging power management applies (e.g. Schuko socket), Undetermined: Yet to be determined (e.g. before plugged in), Unknown: Not determinable, NOTE: ChargeProtocol is distinct from and orthogonal to connectorType.",
|
||||
"type": "string"
|
||||
},
|
||||
"ConnectorType": {
|
||||
"variable_name": "ConnectorType",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly",
|
||||
"value": "cChaoJi"
|
||||
}
|
||||
],
|
||||
"description": "A value of ConnectorEnumType (See part 2) plus additionally: cGBT, cChaoJi, OppCharge. Specific type of connector, including sub-variant information. Note: Distinct and orthogonal to Charging Protocol, Power Type, Phases.",
|
||||
"type": "string",
|
||||
"default": ""
|
||||
},
|
||||
"ConnectorSupplyPhases": {
|
||||
"variable_name": "SupplyPhases",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "integer"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Number of alternating current phases connected/available.",
|
||||
"type": "integer",
|
||||
"default": "0"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"ConnectorAvailable",
|
||||
"ConnectorSupplyPhases",
|
||||
"ConnectorType"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"description": "Schema for EVSE",
|
||||
"type": "object",
|
||||
"name": "EVSE",
|
||||
"evse_id": 1,
|
||||
"properties": {
|
||||
"EVSEAllowReset": {
|
||||
"variable_name": "AllowReset",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Can be used to announce that an EVSE can be reset individually",
|
||||
"type": "boolean"
|
||||
},
|
||||
"EVSEAvailabilityState": {
|
||||
"variable_name": "AvailabilityState",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "OptionList",
|
||||
"valuesList": "Available,Occupied,Reserved,Unavailable,Faulted"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "This variable reports current availability state for the EVSE",
|
||||
"type": "string",
|
||||
"default": "Unavailable"
|
||||
},
|
||||
"EVSEAvailable": {
|
||||
"variable_name": "Available",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly",
|
||||
"value": false
|
||||
}
|
||||
],
|
||||
"description": "Component exists",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"EvseId": {
|
||||
"variable_name": "EvseId",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual"
|
||||
}
|
||||
],
|
||||
"description": "The name of the EVSE in the string format as required by ISO 15118 and IEC 63119-2.",
|
||||
"type": "string"
|
||||
},
|
||||
"EVSEPower": {
|
||||
"variable_name": "Power",
|
||||
"characteristics": {
|
||||
"unit": "W",
|
||||
"maxLimit": 22000,
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "decimal"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly",
|
||||
"value": 2000
|
||||
},
|
||||
{
|
||||
"type": "MaxSet",
|
||||
"mutability": "ReadOnly",
|
||||
"value": 44000
|
||||
}
|
||||
],
|
||||
"description": " kW,The variableCharacteristic maxLimit, that holds the maximum power that this EVSE can provide, is required. The Actual value of the instantaneous (real) power is desired, but not required.",
|
||||
"type": "number",
|
||||
"default": "0"
|
||||
},
|
||||
"EVSESupplyPhases": {
|
||||
"variable_name": "SupplyPhases",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "integer"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly",
|
||||
"value": 6
|
||||
}
|
||||
],
|
||||
"description": "Number of alternating current phases connected/available.",
|
||||
"type": "integer",
|
||||
"default": "0"
|
||||
},
|
||||
"ISO15118EvseId": {
|
||||
"variable_name": "ISO15118EvseId",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadWrite"
|
||||
}
|
||||
],
|
||||
"description": "The name of the EVSE in the string format as required by ISO 15118 and IEC 63119-2. Example: \"DE*ICE*E*1234567890*1\"",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"EVSEAvailabilityState",
|
||||
"EVSEAvailable",
|
||||
"EVSEPower",
|
||||
"EVSESupplyPhases"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,133 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"description": "Schema for EVSE",
|
||||
"type": "object",
|
||||
"name": "EVSE",
|
||||
"evse_id": 2,
|
||||
"properties": {
|
||||
"EVSEAllowReset": {
|
||||
"variable_name": "AllowReset",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Can be used to announce that an EVSE can be reset individually",
|
||||
"type": "boolean"
|
||||
},
|
||||
"EVSEAvailabilityState": {
|
||||
"variable_name": "AvailabilityState",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "OptionList",
|
||||
"valuesList": "Available,Occupied,Reserved,Unavailable,Faulted"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly",
|
||||
"value": "Faulted"
|
||||
}
|
||||
],
|
||||
"description": "This variable reports current availability state for the EVSE",
|
||||
"type": "string",
|
||||
"default": "Unavailable"
|
||||
},
|
||||
"EVSEAvailable": {
|
||||
"variable_name": "Available",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly",
|
||||
"value": true
|
||||
}
|
||||
],
|
||||
"description": "Component exists",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"EvseId": {
|
||||
"variable_name": "EvseId",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual"
|
||||
}
|
||||
],
|
||||
"description": "The name of the EVSE in the string format as required by ISO 15118 and IEC 63119-2.",
|
||||
"type": "string"
|
||||
},
|
||||
"EVSEPower": {
|
||||
"variable_name": "Power",
|
||||
"characteristics": {
|
||||
"unit": "W",
|
||||
"maxLimit": 22000,
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "decimal"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
},
|
||||
{
|
||||
"type": "MaxSet",
|
||||
"mutability": "ReadOnly",
|
||||
"value": 22000
|
||||
}
|
||||
],
|
||||
"description": " kW,The variableCharacteristic maxLimit, that holds the maximum power that this EVSE can provide, is required. The Actual value of the instantaneous (real) power is desired, but not required.",
|
||||
"type": "number",
|
||||
"default": "0"
|
||||
},
|
||||
"EVSESupplyPhases": {
|
||||
"variable_name": "SupplyPhases",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "integer"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Number of alternating current phases connected/available.",
|
||||
"type": "integer",
|
||||
"default": "0"
|
||||
},
|
||||
"ISO15118EvseId": {
|
||||
"variable_name": "ISO15118EvseId",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadWrite"
|
||||
}
|
||||
],
|
||||
"description": "The name of the EVSE in the string format as required by ISO 15118 and IEC 63119-2. Example: \"DE*ICE*E*1234567890*1\"",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"EVSEAvailabilityState",
|
||||
"EVSEAvailable",
|
||||
"EVSEPower",
|
||||
"EVSESupplyPhases"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"description": "Schema for UnitTestCtrlr",
|
||||
"name": "UnitTestCtrlr",
|
||||
"type": "object",
|
||||
"evse_id": 2,
|
||||
"connector_id": 3,
|
||||
"properties": {
|
||||
"UnitTestPropertyA": {
|
||||
"variable_name": "UnitTestPropertyAName",
|
||||
"source": "OCPP",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadWrite"
|
||||
}
|
||||
],
|
||||
"default": true,
|
||||
"type": "boolean"
|
||||
},
|
||||
"UnitTestPropertyB": {
|
||||
"variable_name": "UnitTestPropertyBName",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": false,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly",
|
||||
"value": "test_value"
|
||||
}
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"UnitTestPropertyC": {
|
||||
"variable_name": "UnitTestPropertyCName",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": false,
|
||||
"dataType": "integer"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"UnitTestPropertyA"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"description": "Schema for Connector",
|
||||
"type": "object",
|
||||
"name": "Connector",
|
||||
"evse_id": 1,
|
||||
"connector_id": 1,
|
||||
"properties": {
|
||||
"ConnectorAvailabilityState": {
|
||||
"variable_name": "AvailabilityState",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "OptionList",
|
||||
"valuesList": "Available,Occupied,Reserved,Unavailable,Faulted"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual"
|
||||
}
|
||||
],
|
||||
"description": "This variable reports current availability state for the Connector. Optional, because already reported in StatusNotification.",
|
||||
"type": "string"
|
||||
},
|
||||
"ConnectorAvailable": {
|
||||
"variable_name": "Available",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly",
|
||||
"value": true
|
||||
}
|
||||
],
|
||||
"description": "Component exists",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"ConnectorEnabled": {
|
||||
"variable_name": "Enabled",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": false,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadWrite"
|
||||
}
|
||||
]
|
||||
},
|
||||
"ChargeProtocol": {
|
||||
"variable_name": "ChargeProtocol",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "WriteOnly"
|
||||
}
|
||||
],
|
||||
"description": "The Charging Control Protocol applicable to a Connector. CHAdeMO: CHAdeMO protocol, ISO15118: ISO15118 V2G protocol (wired or wireless) as used with CCS, CPPWM: IEC61851-1 / SAE J1772 protocol (ELV DC & PWM signalling via Control Pilot wire), Uncontrolled: No charging power management applies (e.g. Schuko socket), Undetermined: Yet to be determined (e.g. before plugged in), Unknown: Not determinable, NOTE: ChargeProtocol is distinct from and orthogonal to connectorType.",
|
||||
"type": "string"
|
||||
},
|
||||
"ConnectorType": {
|
||||
"variable_name": "ConnectorType",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "integer"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly",
|
||||
"value": "2"
|
||||
},
|
||||
{
|
||||
"type": "Target",
|
||||
"mutability": "ReadWrite"
|
||||
}
|
||||
],
|
||||
"description": "A value of ConnectorEnumType (See part 2) plus additionally: cGBT, cChaoJi, OppCharge. Specific type of connector, including sub-variant information. Note: Distinct and orthogonal to Charging Protocol, Power Type, Phases.",
|
||||
"type": "string"
|
||||
},
|
||||
"ConnectorSupplyPhases": {
|
||||
"variable_name": "SupplyPhases",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "integer"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Target",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Number of alternating current phases connected/available.",
|
||||
"type": "integer",
|
||||
"default": "0"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"ConnectorAvailable",
|
||||
"ConnectorType"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"description": "Schema for Connector",
|
||||
"type": "object",
|
||||
"name": "Connector",
|
||||
"evse_id": 2,
|
||||
"connector_id": 2,
|
||||
"properties": {
|
||||
"ConnectorAvailabilityState": {
|
||||
"variable_name": "AvailabilityState",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "OptionList",
|
||||
"valuesList": "Available,Unavailable"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual"
|
||||
}
|
||||
],
|
||||
"description": "This variable reports current availability state for the Connector. Optional, because already reported in StatusNotification.",
|
||||
"type": "string"
|
||||
},
|
||||
"ConnectorAvailable": {
|
||||
"variable_name": "Available",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Component exists",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"ConnectorAvailable"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"description": "Schema for EVSE",
|
||||
"type": "object",
|
||||
"name": "EVSE",
|
||||
"evse_id": 1,
|
||||
"properties": {
|
||||
"EVSEAllowReset": {
|
||||
"variable_name": "AllowReset",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Can be used to announce that an EVSE can be reset individually",
|
||||
"type": "boolean"
|
||||
},
|
||||
"EVSEAvailabilityState": {
|
||||
"variable_name": "AvailabilityState",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "OptionList",
|
||||
"valuesList": "Available,Occupied,Reserved,Unavailable,Faulted"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "This variable reports current availability state for the EVSE",
|
||||
"type": "string",
|
||||
"default": "Unavailable"
|
||||
},
|
||||
"EVSEAvailable": {
|
||||
"variable_name": "Available",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Component exists",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"EvseId": {
|
||||
"variable_name": "EvseId",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual"
|
||||
}
|
||||
],
|
||||
"description": "The name of the EVSE in the string format as required by ISO 15118 and IEC 63119-2.",
|
||||
"type": "string"
|
||||
},
|
||||
"EVSEPower": {
|
||||
"variable_name": "Power",
|
||||
"characteristics": {
|
||||
"unit": "kW",
|
||||
"maxLimit": 22000,
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "decimal"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
},
|
||||
{
|
||||
"type": "MaxSet",
|
||||
"mutability": "ReadOnly"
|
||||
},
|
||||
{
|
||||
"type": "Target",
|
||||
"mutability": "ReadWrite"
|
||||
}
|
||||
],
|
||||
"description": " kW,The variableCharacteristic maxLimit, that holds the maximum power that this EVSE can provide, is required. The Actual value of the instantaneous (real) power is desired, but not required.",
|
||||
"type": "number",
|
||||
"default": "0"
|
||||
},
|
||||
"EVSESupplyPhases": {
|
||||
"variable_name": "SupplyPhases",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "integer"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly",
|
||||
"value": 2
|
||||
}
|
||||
],
|
||||
"description": "Number of alternating current phases connected/available.",
|
||||
"type": "integer",
|
||||
"default": "0"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"EVSEAvailabilityState",
|
||||
"EVSEAvailable",
|
||||
"EVSEPower",
|
||||
"EVSESupplyPhases"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"description": "Schema for EVSE",
|
||||
"type": "object",
|
||||
"name": "EVSE",
|
||||
"evse_id": 2,
|
||||
"properties": {
|
||||
"EVSEAllowReset": {
|
||||
"variable_name": "AllowReset",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Can be used to announce that an EVSE can be reset individually",
|
||||
"type": "boolean"
|
||||
},
|
||||
"EVSEAvailabilityState": {
|
||||
"variable_name": "AvailabilityState",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": false,
|
||||
"dataType": "string",
|
||||
"valuesList": "Available,Occupied,Reserved,Unavailable,Faulted"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly",
|
||||
"value": "Faulted"
|
||||
}
|
||||
],
|
||||
"description": "This variable reports current availability state for the EVSE",
|
||||
"type": "string",
|
||||
"default": "Unavailable"
|
||||
},
|
||||
"EVSEAvailable": {
|
||||
"variable_name": "Available",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly",
|
||||
"value": false
|
||||
}
|
||||
],
|
||||
"description": "Component exists",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"EvseId": {
|
||||
"variable_name": "EvseId",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual"
|
||||
}
|
||||
],
|
||||
"description": "The name of the EVSE in the string format as required by ISO 15118 and IEC 63119-2.",
|
||||
"type": "string"
|
||||
},
|
||||
"EVSEPower": {
|
||||
"variable_name": "Power",
|
||||
"characteristics": {
|
||||
"unit": "W",
|
||||
"maxLimit": 22000,
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "decimal"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "MaxSet",
|
||||
"mutability": "ReadOnly",
|
||||
"value": 22000
|
||||
}
|
||||
],
|
||||
"description": " kW,The variableCharacteristic maxLimit, that holds the maximum power that this EVSE can provide, is required. The Actual value of the instantaneous (real) power is desired, but not required.",
|
||||
"type": "number",
|
||||
"default": "0"
|
||||
},
|
||||
"EVSESupplyPhases": {
|
||||
"variable_name": "SupplyPhases",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "integer"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Number of alternating current phases connected/available.",
|
||||
"type": "integer",
|
||||
"default": "0"
|
||||
},
|
||||
"ISO15118EvseId": {
|
||||
"variable_name": "ISO15118EvseId",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadWrite"
|
||||
}
|
||||
],
|
||||
"description": "The name of the EVSE in the string format as required by ISO 15118 and IEC 63119-2. Example: \"DE*ICE*E*1234567890*1\"",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"EVSEAvailabilityState",
|
||||
"EVSEAvailable",
|
||||
"EVSESupplyPhases"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,130 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"description": "Schema for EVSE",
|
||||
"type": "object",
|
||||
"name": "EVSE",
|
||||
"evse_id": 3,
|
||||
"properties": {
|
||||
"EVSEAllowReset": {
|
||||
"variable_name": "AllowReset",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Can be used to announce that an EVSE can be reset individually",
|
||||
"type": "boolean"
|
||||
},
|
||||
"EVSEAvailabilityState": {
|
||||
"variable_name": "AvailabilityState",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "OptionList",
|
||||
"valuesList": "Available,Occupied,Reserved,Unavailable,Faulted"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "This variable reports current availability state for the EVSE",
|
||||
"type": "string",
|
||||
"default": "Unavailable"
|
||||
},
|
||||
"EVSEAvailable": {
|
||||
"variable_name": "Available",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Component exists",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"EvseId": {
|
||||
"variable_name": "EvseId",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual"
|
||||
}
|
||||
],
|
||||
"description": "The name of the EVSE in the string format as required by ISO 15118 and IEC 63119-2.",
|
||||
"type": "string"
|
||||
},
|
||||
"EVSEPower": {
|
||||
"variable_name": "Power",
|
||||
"characteristics": {
|
||||
"unit": "W",
|
||||
"maxLimit": 22000,
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "decimal"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
},
|
||||
{
|
||||
"type": "MaxSet",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": " kW,The variableCharacteristic maxLimit, that holds the maximum power that this EVSE can provide, is required. The Actual value of the instantaneous (real) power is desired, but not required.",
|
||||
"type": "number",
|
||||
"default": "0"
|
||||
},
|
||||
"EVSESupplyPhases": {
|
||||
"variable_name": "SupplyPhases",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "integer"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Number of alternating current phases connected/available.",
|
||||
"type": "integer",
|
||||
"default": "0"
|
||||
},
|
||||
"ISO15118EvseId": {
|
||||
"variable_name": "ISO15118EvseId",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadWrite"
|
||||
}
|
||||
],
|
||||
"description": "The name of the EVSE in the string format as required by ISO 15118 and IEC 63119-2. Example: \"DE*ICE*E*1234567890*1\"",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"EVSEAvailabilityState",
|
||||
"EVSEAvailable",
|
||||
"EVSEPower",
|
||||
"EVSESupplyPhases"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"description": "Schema for UnitTestCtrlr",
|
||||
"name": "UnitTestCtrlr",
|
||||
"type": "object",
|
||||
"evse_id": 2,
|
||||
"connector_id": 3,
|
||||
"properties": {
|
||||
"UnitTestPropertyA": {
|
||||
"variable_name": "UnitTestPropertyAName",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadWrite"
|
||||
}
|
||||
],
|
||||
"default": "1",
|
||||
"type": "string"
|
||||
},
|
||||
"UnitTestPropertyB": {
|
||||
"variable_name": "UnitTestPropertyBName",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": false,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"UnitTestPropertyA"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"description": "Schema for Connector",
|
||||
"type": "object",
|
||||
"name": "Connector",
|
||||
"evse_id": 1,
|
||||
"connector_id": 1,
|
||||
"properties": {
|
||||
"ConnectorAvailabilityState": {
|
||||
"variable_name": "AvailabilityState",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "OptionList",
|
||||
"valuesList": "Available,Occupied,Reserved,Unavailable,Faulted"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual"
|
||||
}
|
||||
],
|
||||
"description": "This variable reports current availability state for the Connector. Optional, because already reported in StatusNotification.",
|
||||
"type": "string"
|
||||
},
|
||||
"ConnectorAvailable": {
|
||||
"variable_name": "Available",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Component exists",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"ConnectorEnabled": {
|
||||
"variable_name": "Enabled",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": false,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadWrite"
|
||||
}
|
||||
]
|
||||
},
|
||||
"ChargeProtocol": {
|
||||
"variable_name": "ChargeProtocol",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "WriteOnly"
|
||||
}
|
||||
],
|
||||
"description": "The Charging Control Protocol applicable to a Connector. CHAdeMO: CHAdeMO protocol, ISO15118: ISO15118 V2G protocol (wired or wireless) as used with CCS, CPPWM: IEC61851-1 / SAE J1772 protocol (ELV DC & PWM signalling via Control Pilot wire), Uncontrolled: No charging power management applies (e.g. Schuko socket), Undetermined: Yet to be determined (e.g. before plugged in), Unknown: Not determinable, NOTE: ChargeProtocol is distinct from and orthogonal to connectorType.",
|
||||
"type": "string"
|
||||
},
|
||||
"ConnectorType": {
|
||||
"variable_name": "ConnectorType",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly",
|
||||
"value": "cCCS2"
|
||||
},
|
||||
{
|
||||
"type": "Target",
|
||||
"mutability": "ReadWrite"
|
||||
}
|
||||
],
|
||||
"description": "A value of ConnectorEnumType (See part 2) plus additionally: cGBT, cChaoJi, OppCharge. Specific type of connector, including sub-variant information. Note: Distinct and orthogonal to Charging Protocol, Power Type, Phases.",
|
||||
"type": "string",
|
||||
"default": "0"
|
||||
},
|
||||
"ConnectorSupplyPhases": {
|
||||
"variable_name": "SupplyPhases",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "integer"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Target",
|
||||
"mutability": "ReadOnly"
|
||||
},
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Number of alternating current phases connected/available.",
|
||||
"type": "integer",
|
||||
"default": "0"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"ConnectorAvailable",
|
||||
"ConnectorSupplyPhases",
|
||||
"ConnectorType"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"description": "Schema for EVSE",
|
||||
"type": "object",
|
||||
"name": "EVSE",
|
||||
"evse_id": 1,
|
||||
"properties": {
|
||||
"EVSEAllowReset": {
|
||||
"variable_name": "AllowReset",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Can be used to announce that an EVSE can be reset individually",
|
||||
"type": "boolean"
|
||||
},
|
||||
"EVSEAvailabilityState": {
|
||||
"variable_name": "AvailabilityState",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "OptionList",
|
||||
"valuesList": "Available,Occupied,Reserved,Unavailable,Faulted"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "This variable reports current availability state for the EVSE",
|
||||
"type": "string",
|
||||
"default": "Unavailable"
|
||||
},
|
||||
"EVSEAvailable": {
|
||||
"variable_name": "Available",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Component exists",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"EvseId": {
|
||||
"variable_name": "EvseId",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual"
|
||||
}
|
||||
],
|
||||
"description": "The name of the EVSE in the string format as required by ISO 15118 and IEC 63119-2.",
|
||||
"type": "string"
|
||||
},
|
||||
"EVSEPower": {
|
||||
"variable_name": "Power",
|
||||
"characteristics": {
|
||||
"unit": "kW",
|
||||
"maxLimit": 22000,
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "decimal"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
},
|
||||
{
|
||||
"type": "MaxSet",
|
||||
"mutability": "ReadOnly"
|
||||
},
|
||||
{
|
||||
"type": "Target",
|
||||
"mutability": "ReadWrite"
|
||||
}
|
||||
],
|
||||
"description": " kW,The variableCharacteristic maxLimit, that holds the maximum power that this EVSE can provide, is required. The Actual value of the instantaneous (real) power is desired, but not required.",
|
||||
"type": "number",
|
||||
"default": "0"
|
||||
},
|
||||
"EVSESupplyPhases": {
|
||||
"variable_name": "SupplyPhases",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "integer"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly",
|
||||
"value": 2
|
||||
}
|
||||
],
|
||||
"description": "Number of alternating current phases connected/available.",
|
||||
"type": "integer",
|
||||
"default": "0"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"EVSEAvailabilityState",
|
||||
"EVSEAvailable",
|
||||
"EVSEPower",
|
||||
"EVSESupplyPhases"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"description": "Schema for UnitTestCtrlr",
|
||||
"name": "UnitTestCtrlr",
|
||||
"type": "object",
|
||||
"evse_id": 2,
|
||||
"connector_id": 3,
|
||||
"properties": {
|
||||
"UnitTestPropertyA": {
|
||||
"variable_name": "UnitTestPropertyAName",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadWrite"
|
||||
}
|
||||
],
|
||||
"type": "boolean"
|
||||
},
|
||||
"UnitTestPropertyB": {
|
||||
"variable_name": "UnitTestPropertyBName",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": false,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly",
|
||||
"value": "test_value"
|
||||
}
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"UnitTestPropertyC": {
|
||||
"variable_name": "UnitTestPropertyCName",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": false,
|
||||
"dataType": "integer"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Target",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"type": "integer",
|
||||
"default": 42
|
||||
},
|
||||
"UnitTestPropertyD": {
|
||||
"variable_name": "UnitTestPropertyDName",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": false,
|
||||
"dataType": "integer"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"type": "integer",
|
||||
"default": 42
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"UnitTestPropertyA",
|
||||
"UnitTestPropertyB",
|
||||
"UnitTestPropertyC",
|
||||
"UnitTestPropertyD"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"description": "Schema for Connector",
|
||||
"type": "object",
|
||||
"name": "Connector",
|
||||
"evse_id": 1,
|
||||
"connector_id": 1,
|
||||
"properties": {
|
||||
"ConnectorAvailabilityState": {
|
||||
"variable_name": "AvailabilityState",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "OptionList",
|
||||
"valuesList": "Available,Occupied,Reserved,Unavailable,Faulted"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual"
|
||||
}
|
||||
],
|
||||
"description": "This variable reports current availability state for the Connector. Optional, because already reported in StatusNotification.",
|
||||
"type": "string"
|
||||
},
|
||||
"ConnectorAvailable": {
|
||||
"variable_name": "Available",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Component exists",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"ConnectorEnabled": {
|
||||
"variable_name": "Enabled",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": false,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadWrite"
|
||||
}
|
||||
]
|
||||
},
|
||||
"ChargeProtocol": {
|
||||
"variable_name": "ChargeProtocol",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "WriteOnly"
|
||||
}
|
||||
],
|
||||
"description": "The Charging Control Protocol applicable to a Connector. CHAdeMO: CHAdeMO protocol, ISO15118: ISO15118 V2G protocol (wired or wireless) as used with CCS, CPPWM: IEC61851-1 / SAE J1772 protocol (ELV DC & PWM signalling via Control Pilot wire), Uncontrolled: No charging power management applies (e.g. Schuko socket), Undetermined: Yet to be determined (e.g. before plugged in), Unknown: Not determinable, NOTE: ChargeProtocol is distinct from and orthogonal to connectorType.",
|
||||
"type": "string"
|
||||
},
|
||||
"ConnectorType": {
|
||||
"variable_name": "ConnectorType",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly",
|
||||
"value": "OppCharge"
|
||||
},
|
||||
{
|
||||
"type": "Target",
|
||||
"mutability": "ReadWrite"
|
||||
}
|
||||
],
|
||||
"description": "A value of ConnectorEnumType (See part 2) plus additionally: cGBT, cChaoJi, OppCharge. Specific type of connector, including sub-variant information. Note: Distinct and orthogonal to Charging Protocol, Power Type, Phases.",
|
||||
"type": "string",
|
||||
"default": "sType2"
|
||||
},
|
||||
"ConnectorSupplyPhases": {
|
||||
"variable_name": "SupplyPhases",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "integer"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Target",
|
||||
"mutability": "ReadOnly"
|
||||
},
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Number of alternating current phases connected/available.",
|
||||
"type": "integer",
|
||||
"default": "0"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"ConnectorAvailable",
|
||||
"ConnectorSupplyPhases",
|
||||
"ConnectorType"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"description": "Schema for EVSE",
|
||||
"type": "object",
|
||||
"name": "EVSE",
|
||||
"evse_id": 1,
|
||||
"properties": {
|
||||
"EVSEAllowReset": {
|
||||
"variable_name": "AllowReset",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Can be used to announce that an EVSE can be reset individually",
|
||||
"type": "boolean"
|
||||
},
|
||||
"EVSEAvailabilityState": {
|
||||
"variable_name": "AvailabilityState",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "OptionList",
|
||||
"valuesList": "Available,Occupied,Reserved,Unavailable,Faulted"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "This variable reports current availability state for the EVSE",
|
||||
"type": "string",
|
||||
"default": "Unavailable"
|
||||
},
|
||||
"EVSEAvailable": {
|
||||
"variable_name": "Available",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"description": "Component exists",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"EvseId": {
|
||||
"variable_name": "EvseId",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "string"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual"
|
||||
}
|
||||
],
|
||||
"description": "The name of the EVSE in the string format as required by ISO 15118 and IEC 63119-2.",
|
||||
"type": "string"
|
||||
},
|
||||
"EVSEPower": {
|
||||
"variable_name": "Power",
|
||||
"characteristics": {
|
||||
"unit": "kW",
|
||||
"maxLimit": 22000,
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "decimal"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
},
|
||||
{
|
||||
"type": "MaxSet",
|
||||
"mutability": "ReadOnly"
|
||||
},
|
||||
{
|
||||
"type": "Target",
|
||||
"mutability": "ReadWrite"
|
||||
}
|
||||
],
|
||||
"description": " kW,The variableCharacteristic maxLimit, that holds the maximum power that this EVSE can provide, is required. The Actual value of the instantaneous (real) power is desired, but not required.",
|
||||
"type": "number",
|
||||
"default": "0"
|
||||
},
|
||||
"EVSESupplyPhases": {
|
||||
"variable_name": "SupplyPhases",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "integer"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly",
|
||||
"value": 2
|
||||
}
|
||||
],
|
||||
"description": "Number of alternating current phases connected/available.",
|
||||
"type": "integer",
|
||||
"default": "0"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"EVSEAvailabilityState",
|
||||
"EVSEAvailable",
|
||||
"EVSEPower",
|
||||
"EVSESupplyPhases"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"description": "Schema for UnitTestCtrlr",
|
||||
"name": "UnitTestCtrlr",
|
||||
"type": "object",
|
||||
"evse_id": 2,
|
||||
"connector_id": 3,
|
||||
"properties": {
|
||||
"UnitTestPropertyA": {
|
||||
"variable_name": "UnitTestPropertyAName",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": true,
|
||||
"dataType": "boolean"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadWrite",
|
||||
"value": 42
|
||||
}
|
||||
],
|
||||
"type": "boolean"
|
||||
},
|
||||
"UnitTestPropertyB": {
|
||||
"variable_name": "UnitTestPropertyBName",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": false,
|
||||
"dataType": "decimal"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly",
|
||||
"value": "test_value"
|
||||
}
|
||||
],
|
||||
"type": "number",
|
||||
"default": "test"
|
||||
},
|
||||
"UnitTestPropertyC": {
|
||||
"variable_name": "UnitTestPropertyCName",
|
||||
"characteristics": {
|
||||
"supportsMonitoring": false,
|
||||
"dataType": "integer"
|
||||
},
|
||||
"attributes": [
|
||||
{
|
||||
"type": "Actual",
|
||||
"mutability": "ReadOnly"
|
||||
}
|
||||
],
|
||||
"type": "integer",
|
||||
"default": "true"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"UnitTestPropertyA"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user