Control Pilot Control +++++++++++++++++++++ .. jsonschema:: ../../../schemas/CpPwmRequest.json :hide_key: /**/additionalProperties Example:: { "id": "79ac862e-d0a7-4eef-98b5-c827be3bd669", "name": "cp_pwm", "type": "request", "data": { "evse_id": "DE*SEV*E123456789", "hlc": true, # false "current": 10.5, # optional field; 1 decimal point float; 0A means 100% duty cycle, EVSE not ready/ pwm off "error_state": false, # true; true means 0% duty cycle and 0V (state E) "fault_state": false, # true; true means 0% duty cycle and -12V (state F) } } ---------- .. jsonschema:: ../../../schemas/CpPwmResponse.json :hide_key: /**/additionalProperties Example:: { "id": "79ac862e-d0a7-4eef-98b5-c827be3bd669", "name": "cp_pwm", "type": "response", "data": { "evse_id": "DE*SEV*E123456789", "status": "valid", # invalid, error "info": None, # optional field. in case of error or invalid, an info can be propagated } } -------- General requirements for PWM Requests ------------------------------------- ``hlc`` - If true, sets the duty cycle to 5%, to signal digital communication; If false indicates that basic charging is intended ``current`` - If ``hlc`` is false and ``current`` is between [6, 80] A, the duty cycle must be set accordingly for basic charging. This field is mandatory if ``hlc`` is false, and must be unset if it is true. If ``hlc`` is false and ``current`` is set to 0A, the duty cycle is set to 100%. ``error_state`` - If true signals a request to force state E in the CP line. ``fault_state`` - If true signals a request to force state F in the CP line - ``hlc`` = true => 5% is triggered at the beginning of the SLAC application - ``hlc`` = true is triggered also after iso15118 sends PowerDeliverRes with Status = "OK", hlc - ``fault_state`` = true signals a state F and it overrules the other fields values, i.e., if ``fault_state`` = true, then all other fields must be ignored (except on invalid cases) - ``error_state`` = true signals a state E and it overrules the other fields values, i.e., if ``error_state`` = true, then all other fields must be ignored (except on invalid cases) - if ``hlc`` = true, current must not be set (current = None) - if ``hlc`` = false, current must be set **Invalid cases** - ``hlc`` = false and current is non-zero and outside of the range [6, 80] (according to 61851-1) - ``hlc`` = true and current = any value, is invalid: one sets 5% and the other 100% or nominal duty cycle - ``error_state`` = true and ``fault_state = true``