EVerest API definition for external derating of a DC powersupply 1.0.0

Specification of a the EVerest API for implementing DC power supply derating functionality. This allows integration of hardware-specific derating logic, for example adjusting output current based on internal temperature measurements. In the simplest case, derating is determined solely by the plug temperature, as reported by the evse_board_support driver. This value is exposed here for conv enience. More advanced implementations may incorporate additional temperature sensors, such as relay temperature or other relevant measurements, to enable more precise cont rol. Note that this is for DC output in DC charging only. To derate for AC chargers (or the AC side in DC chargers), use an EnergyNode and set external_limits instead.

  • #EVerest
  • #powermeter

Servers

  • mqtt://localhost:1883/everest_api/1/powermeter/{module_id}mqttdefault

    default local MQTT

    object
    module_id
    required
    string

    The ID of the module has to be defined by cfg_target_module_id in EVerest config file.

Operations

  • SEND m2e/set_external_derating

    Operation IDsend_set_external_derating

    Available only on servers:

    Accepts the following message:

    Send set external deratingsend_set_external_derating

    Set external derating values. The provided values will be merged with the existing internal capabilities of the power supply: The minimum of the internal and external values will be used. All values are optional, unset means no limit.

    Message IDsend_set_external_derating
    object

    Derate DC power supply Capabilities from an external source.

    Examples

  • RECEIVE e2m/plug_temperature_C

    Operation IDreceive_plug_temperature_C

    Available only on servers:

    Accepts the following message:

    Receive the public keyreceive_plug_temperature_C

    Current temperature of the plug in degree celsius

    Message IDreceive_plug_temperature_C
    Payload
    number

    Temperature in degree celsius

    Examples

  • RECEIVE e2m/heartbeat

    Operation IDreceive_heartbeat

    Available only on servers:

    Accepts the following message:

    Receive heartbeatreceive_heartbeat

    Heartbeat produced by EVerest as configured via cfg_heartbeat_interval_ms in the EVerest configuration

    Message IDreceive_heartbeat
    Payload
    integer

    64bit unsigned integer. The id of every heartbeat increases by 1 and overflows when the maximum representable value is reached

    Examples

  • SEND m2e/communication_check

    Operation IDsend_communication_check

    Available only on servers:

    Accepts the following message:

    Send communication checksend_communication_check

    Signal to EVerest that communication is good or check shall be stopped

    Message IDsend_communication_check
    Payload
    boolean

    Send 'true' at least every 'cfg_communication_check_to_s' seconds to signal module is alive. Send 'false' to stop communication check'

    Examples

Messages

  • #1Send set external deratingsend_set_external_derating

    Set external derating values. The provided values will be merged with the existing internal capabilities of the power supply: The minimum of the internal and external values will be used. All values are optional, unset means no limit.

    Message IDsend_set_external_derating
    object

    Derate DC power supply Capabilities from an external source.

  • #2Receive the public keyreceive_plug_temperature_C

    Current temperature of the plug in degree celsius

    Message IDreceive_plug_temperature_C
    Payload
    number

    Temperature in degree celsius

  • #3Receive heartbeatreceive_heartbeat

    Heartbeat produced by EVerest as configured via cfg_heartbeat_interval_ms in the EVerest configuration

    Message IDreceive_heartbeat
    Payload
    integer

    64bit unsigned integer. The id of every heartbeat increases by 1 and overflows when the maximum representable value is reached

  • #4Send communication checksend_communication_check

    Signal to EVerest that communication is good or check shall be stopped

    Message IDsend_communication_check
    Payload
    boolean

    Send 'true' at least every 'cfg_communication_check_to_s' seconds to signal module is alive. Send 'false' to stop communication check'

Schemas

  • object

    Derate DC power supply Capabilities from an external source.

  • PlugTemperature
    number

    Temperature in degree celsius

  • CommunicationCheck
    boolean

    Send 'true' at least every 'cfg_communication_check_to_s' seconds to signal module is alive. Send 'false' to stop communication check'

  • HeartBeatId
    integer

    64bit unsigned integer. The id of every heartbeat increases by 1 and overflows when the maximum representable value is reached