:orphan: .. _everest_types_energy: ###### energy ###### Energy import/export capability/limit types .. _energy-NumberWithSource: | **NumberWithSource**: *object* | Simple number type with source information | properties: | **value**: *number* | Value | **source**: *string* | Source of the value .. _energy-IntegerWithSource: | **IntegerWithSource**: *object* | Simple number type with source information | properties: | **value**: *integer* | Value | **source**: *string* | Source of the value .. _energy-NodeType: | **NodeType**: *string* | Enum Type for different Nodes on the energy tree | enum: | - Undefined | - Evse | - Generic .. _energy-EvseState: | **EvseState**: *string* | Enum for simplified EVSE state | enum: | - Unplugged | - WaitForAuth | - WaitForEnergy | - PrepareCharging | - PausedEV | - PausedEVSE | - Charging | - Finished | - Disabled .. _energy-LimitsReq: | **LimitsReq**: *object* | Energy flow limiting object request (Evses to EnergyManager) | properties: | **total_power_W**: *object* (:ref:`energy-NumberWithSource `) | Total power limit in Watt. Can be used for DC or as additional limit for AC. Positive number. | **ac_max_current_A**: *object* (:ref:`energy-NumberWithSource `) | Max current limit (per phase) in Ampere. AC only. Positive number. | **ac_min_current_A**: *object* (:ref:`energy-NumberWithSource `) | Min AC current limit per phase in Ampere. Values below that value indicate the device will not work properly, i.e. it will not charge below 6 amps. AC only. | **ac_max_phase_count**: *object* (:ref:`energy-IntegerWithSource `) | Limit to number of phases. Omit if number of phases are not limited. Value between 1 and 3. | **ac_min_phase_count**: *object* (:ref:`energy-IntegerWithSource `) | Minimal number of phases. Omit if number of phases are not limited. Value between 1 and 3. | **ac_supports_changing_phases_during_charging**: *boolean* | Indicate whether phase switching is allowed during charging or not | **ac_number_of_active_phases**: *integer* | Number of phases currently offered to the vehicle (1ph or 3ph mode) .. _energy-LimitsRes: | **LimitsRes**: *object* | Energy flow limiting object Result (Energy manager to Evses) | properties: | **total_power_W**: *object* (:ref:`energy-NumberWithSource `) | Total power limit in Watt. Can be used for DC or as additional limit for AC. Negative numbers mean export to grid direction. | **ac_max_current_A**: *object* (:ref:`energy-NumberWithSource `) | Max current limit (per phase) in Ampere. AC only. Negative numbers mean export to grid direction. | **ac_max_phase_count**: *object* (:ref:`energy-IntegerWithSource `) | Limit to number of phases. Omit if number of phases are not limited. .. _energy-OptimizerTarget: | **OptimizerTarget**: *object* | User defined optimizer targets for this evse | properties: | **energy_amount_needed**: *number* | Amount of kwh the car needs to fulfill its charging target | **charge_to_max_percent**: *number* | Charge car battery to max NN percent | **car_battery_soc**: *number* | Car battery State Of Charge in percent | **leave_time**: *string* | RFC3339 UTC format time when the car needs to drive away with charging targets fulfilled. Will charge cheapest within this timeframe. | **price_limit**: *number* | Always charge if price below this limit. This includes solar charging and price for solar energy if price levels set correctly. | **full_autonomy**: *boolean* | Only charge from locally generated energy. Do not draw power from grid for charging. .. _energy-FrequencyWattPoint: | **FrequencyWattPoint**: *object* | A point of a frequency-watt curve | properties: | **frequency_Hz**: *number* | The frequency in Hz | **total_power_W**: *number* | The total power in W .. _energy-SetpointType: | **SetpointType**: *object* | Defines a setpoint, which is a target value for either charging or discharging depending on the sign. Setpoints per phase are currently not supported. | properties: | **ac_current_A**: *number* | The target value in amps per phase for either charging or discharging depending on the sign. Positive values indicate charging, while negative values indicate discharging. Do not set ac_current_A, total_power_W and frequency_table properties simultaneously. | **total_power_W**: *number* | The target value for the total power for either charging or discharging depending on the sign. Positive values indicate charging, while negative values indicate discharging. Do not set ac_current_A, total_power_W and frequency_table properties simultaneously. | **frequency_table**: *array* | Frequency table for the setpoint. When used it must contain at least two coordinates to specify a power-frequency table to use during this period. If the array is empty, no frequency setpoint is set. Do not set ac_current_A, total_power_W and frequency_table properties simultaneously. | **array_item**: *object* (:ref:`energy-FrequencyWattPoint `) | One entry for the frequency table | **priority**: *integer* | Note: priority handling is not implemented for now. If multiple conflicting setpoints are specified in the tree, the priority selects which one is used. Highest priority is 0, lowest priority is 1000. | **source**: *string* | Source of the setpoint .. _energy-ScheduleSetpointEntry: | **ScheduleSetpointEntry**: *object* | One entry for the time series (setpoint request) | properties: | **timestamp**: *string* | Absolute timestamp for this sample in RFC3339 UTC format | format:date-time | **setpoint**: *object* (:ref:`energy-SetpointType `) | Setpoint for this timestamp .. _energy-ScheduleReqEntry: | **ScheduleReqEntry**: *object* | One entry for the time series (request) | properties: | **timestamp**: *string* | Absolute timestamp for this sample in RFC3339 UTC format | format:date-time | **limits_to_root**: *object* (:ref:`energy-LimitsReq `) | Limit for this timestamp, for the root facing side | **limits_to_leaves**: *object* (:ref:`energy-LimitsReq `) | Limit for this timestamp, for the leaves facing side | **conversion_efficiency**: *number* | Conversion efficiency from root to leaves side (e.g. AC/DC efficiency). Defaults to one if not specified. | **price_per_kwh**: *object* (:ref:`energy_price_information-PricePerkWh `) | Price information for this timepoint .. _energy-ScheduleResEntry: | **ScheduleResEntry**: *object* | One entry for the time series (result) | properties: | **timestamp**: *string* | Absolute timestamp for this sample in RFC3339 UTC format | format:date-time | **limits_to_root**: *object* (:ref:`energy-LimitsRes `) | Limit for this timestamp, for the root facing side | **price_per_kwh**: *object* (:ref:`energy_price_information-PricePerkWh `) | Price information for this timepoint .. _energy-EnergyFlowRequest: | **EnergyFlowRequest**: *object* | Request energy flow parameters to supply/limit energy import (direction from grid to car) and/or consume/limit energy export (car to grid) at a specific point in the tree | properties: | **children**: *array* | Array of child node energy flow requests (in the direction to consumer/car) | **array_item**: *object* (:ref:`energy-EnergyFlowRequest `) | One entry per child node | **uuid**: *string* | UUID for this node. This UUID will be used again when enforce_limits() command propagates through the tree. | **node_type**: *string* (:ref:`energy-NodeType `) | Node Type Enum | **priority_request**: *boolean* | If set to true, this is a high priority request that needs to be handled now. Otherwise energymanager may merge multiple requests and address them later. | **evse_state**: *object* (:ref:`energy-EvseState `) | State of the EVSE | **optimizer_target**: *object* (:ref:`energy-OptimizerTarget `) | User defined optimizer targets for this evse | **energy_usage_root**: *object* (:ref:`powermeter-Powermeter `) | Energy usage measurement of this node at root side | **energy_usage_leaves**: *object* (:ref:`powermeter-Powermeter `) | Energy usage measurement of this node at leaves side | **schedule_import**: *array* | Energy import/limits time series. The first entry is special as it will be active already now even if the timestamp is in the future, so it is good practice to set the first entry to current time. The time series can have arbitrary time difference between entries and all timestamps are absolute UTC time. | **array_item**: *object* (:ref:`energy-ScheduleReqEntry `) | One entry for the time series. Values are always positive. | **schedule_export**: *array* | Energy export/limits time series. The first entry is special as it will be active already now even if the timestamp is in the future, so it is good practice to set the first entry to current time. The time series can have arbitrary time difference between entries and all timestamps are absolute UTC time. | **array_item**: *object* (:ref:`energy-ScheduleReqEntry `) | One entry for the time series. Values are always positive. | **schedule_setpoints**: *array* | Setpoints time series. The first entry is special as it will be active already now even if the timestamp is in the future, so it is good practice to set the first entry to current time. The time series can have arbitrary time difference between entries and all timestamps are absolute UTC time. | **array_item**: *object* (:ref:`energy-ScheduleSetpointEntry `) | One entry for the time series. .. _energy-EnforcedLimits: | **EnforcedLimits**: *object* | Enforce Limits data type | properties: | **uuid**: *string* | UUID of node that this limit applies to | **valid_for**: *integer* | Limits are valid for this number of seconds. If no new update is received after valid_for seconds then power consumption must be stopped. | **limits_root_side**: *object* (:ref:`energy-LimitsRes `) | Enforced limits that must be respected at the root side. | **schedule**: *array* | Informative only. Do not use for actual limiting. Energy import/export limits time series. The first entry is special as it will be active already now even if the timestamp is in the future, so it is good practice to set the first entry to current time. The time series can have arbitrary time difference between entries and all timestamps are absolute UTC time. | **array_item**: *object* (:ref:`energy-ScheduleResEntry `) | One entry for the time series. Values are positive for import from grid and negative for export to grid. .. _energy-ExternalLimits: | **ExternalLimits**: *object* | External Limits data type | properties: | **schedule_import**: *array* | Energy import/limits time series. The first entry is special as it will be active already now even if the timestamp is in the future, so it is good practice to set the first entry to current time. The time series can have arbitrary time difference between entries and all timestamps are absolute UTC time. The last entry is valid for any time after the schedule ends. | **array_item**: *object* (:ref:`energy-ScheduleReqEntry `) | One entry for the time series | **schedule_export**: *array* | Energy export/limits time series. The first entry is special as it will be active already now even if the timestamp is in the future, so it is good practice to set the first entry to current time. The time series can have arbitrary time difference between entries and all timestamps are absolute UTC time. The last entry is valid for any time after the schedule ends. | **array_item**: *object* (:ref:`energy-ScheduleReqEntry `) | One entry for the time series | **schedule_setpoints**: *array* | Setpoints time series. The first entry is special as it will be active already now even if the timestamp is in the future, so it is good practice to set the first entry to current time. The time series can have arbitrary time difference between entries and all timestamps are absolute UTC time. | **array_item**: *object* (:ref:`energy-ScheduleSetpointEntry `) | One entry for the time series.