Home Assistant Unofficial Reference 2024.12.1
homeassistant.components.energy.data Namespace Reference

Classes

class  BatterySourceType
 
class  DeviceConsumption
 
class  EnergyManager
 
class  EnergyPreferences
 
class  EnergyPreferencesUpdate
 
class  FlowFromGridSourceType
 
class  FlowToGridSourceType
 
class  GasSourceType
 
class  GridSourceType
 
class  SolarSourceType
 
class  WaterSourceType
 

Functions

FlowFromGridSourceType _flow_from_ensure_single_price (FlowFromGridSourceType val)
 
Callable[[list[dict]], list[dict]] _generate_unique_value_validator (str key)
 
EnergyManager async_get_manager (HomeAssistant hass)
 
list[SourceTypecheck_type_limits (list[SourceType] value)
 

Variables

 BATTERY_SOURCE_SCHEMA
 
 DEVICE_CONSUMPTION_SCHEMA
 
 ENERGY_SOURCE_SCHEMA
 
 FLOW_FROM_GRID_SOURCE_SCHEMA
 
 FLOW_TO_GRID_SOURCE_SCHEMA
 
 GAS_SOURCE_SCHEMA
 
 GRID_SOURCE_SCHEMA
 
 SOLAR_SOURCE_SCHEMA
 
 SourceType
 
 STORAGE_KEY = DOMAIN
 
int STORAGE_VERSION = 1
 
 WATER_SOURCE_SCHEMA
 

Detailed Description

Energy data.

Function Documentation

◆ _flow_from_ensure_single_price()

FlowFromGridSourceType homeassistant.components.energy.data._flow_from_ensure_single_price ( FlowFromGridSourceType  val)
private
Ensure we use a single price source.

Definition at line 154 of file data.py.

◆ _generate_unique_value_validator()

Callable[[list[dict]], list[dict]] homeassistant.components.energy.data._generate_unique_value_validator ( str  key)
private
Generate a validator that ensures a value is only used once.

Definition at line 194 of file data.py.

◆ async_get_manager()

EnergyManager homeassistant.components.energy.data.async_get_manager ( HomeAssistant  hass)
Return an initialized data manager.

Definition at line 22 of file data.py.

◆ check_type_limits()

list[SourceType] homeassistant.components.energy.data.check_type_limits ( list[SourceType value)
Validate that we don't have too many of certain types.

Definition at line 262 of file data.py.

Variable Documentation

◆ BATTERY_SOURCE_SCHEMA

homeassistant.components.energy.data.BATTERY_SOURCE_SCHEMA
Initial value:
1 = vol.Schema(
2  {
3  vol.Required("type"): "battery",
4  vol.Required("stat_energy_from"): str,
5  vol.Required("stat_energy_to"): str,
6  }
7 )

Definition at line 233 of file data.py.

◆ DEVICE_CONSUMPTION_SCHEMA

homeassistant.components.energy.data.DEVICE_CONSUMPTION_SCHEMA
Initial value:
1 = vol.Schema(
2  {
3  vol.Required("stat_consumption"): str,
4  vol.Optional("name"): str,
5  }
6 )

Definition at line 290 of file data.py.

◆ ENERGY_SOURCE_SCHEMA

homeassistant.components.energy.data.ENERGY_SOURCE_SCHEMA
Initial value:
1 = vol.All(
2  vol.Schema(
3  [
4  cv.key_value_schemas(
5  "type",
6  {
7  "grid": GRID_SOURCE_SCHEMA,
8  "solar": SOLAR_SOURCE_SCHEMA,
9  "battery": BATTERY_SOURCE_SCHEMA,
10  "gas": GAS_SOURCE_SCHEMA,
11  "water": WATER_SOURCE_SCHEMA,
12  },
13  )
14  ]
15  ),
16  check_type_limits,
17 )

Definition at line 272 of file data.py.

◆ FLOW_FROM_GRID_SOURCE_SCHEMA

homeassistant.components.energy.data.FLOW_FROM_GRID_SOURCE_SCHEMA
Initial value:
1 = vol.All(
2  vol.Schema(
3  {
4  vol.Required("stat_energy_from"): str,
5  vol.Optional("stat_cost"): vol.Any(str, None),
6  # entity_energy_from was removed in HA Core 2022.10
7  vol.Remove("entity_energy_from"): vol.Any(str, None),
8  vol.Optional("entity_energy_price"): vol.Any(str, None),
9  vol.Optional("number_energy_price"): vol.Any(vol.Coerce(float), None),
10  }
11  ),
12  _flow_from_ensure_single_price,
13 )

Definition at line 167 of file data.py.

◆ FLOW_TO_GRID_SOURCE_SCHEMA

homeassistant.components.energy.data.FLOW_TO_GRID_SOURCE_SCHEMA
Initial value:
1 = vol.Schema(
2  {
3  vol.Required("stat_energy_to"): str,
4  vol.Optional("stat_compensation"): vol.Any(str, None),
5  # entity_energy_to was removed in HA Core 2022.10
6  vol.Remove("entity_energy_to"): vol.Any(str, None),
7  vol.Optional("entity_energy_price"): vol.Any(str, None),
8  vol.Optional("number_energy_price"): vol.Any(vol.Coerce(float), None),
9  }
10 )

Definition at line 182 of file data.py.

◆ GAS_SOURCE_SCHEMA

homeassistant.components.energy.data.GAS_SOURCE_SCHEMA
Initial value:
1 = vol.Schema(
2  {
3  vol.Required("type"): "gas",
4  vol.Required("stat_energy_from"): str,
5  vol.Optional("stat_cost"): vol.Any(str, None),
6  # entity_energy_from was removed in HA Core 2022.10
7  vol.Remove("entity_energy_from"): vol.Any(str, None),
8  vol.Optional("entity_energy_price"): vol.Any(str, None),
9  vol.Optional("number_energy_price"): vol.Any(vol.Coerce(float), None),
10  }
11 )

Definition at line 240 of file data.py.

◆ GRID_SOURCE_SCHEMA

homeassistant.components.energy.data.GRID_SOURCE_SCHEMA
Initial value:
1 = vol.Schema(
2  {
3  vol.Required("type"): "grid",
4  vol.Required("flow_from"): vol.All(
5  [FLOW_FROM_GRID_SOURCE_SCHEMA],
6  _generate_unique_value_validator("stat_energy_from"),
7  ),
8  vol.Required("flow_to"): vol.All(
9  [FLOW_TO_GRID_SOURCE_SCHEMA],
10  _generate_unique_value_validator("stat_energy_to"),
11  ),
12  vol.Required("cost_adjustment_day"): vol.Coerce(float),
13  }
14 )
Callable[[list[dict]], list[dict]] _generate_unique_value_validator(str key)
Definition: data.py:194

Definition at line 212 of file data.py.

◆ SOLAR_SOURCE_SCHEMA

homeassistant.components.energy.data.SOLAR_SOURCE_SCHEMA
Initial value:
1 = vol.Schema(
2  {
3  vol.Required("type"): "solar",
4  vol.Required("stat_energy_from"): str,
5  vol.Optional("config_entry_solar_forecast"): vol.Any([str], None),
6  }
7 )

Definition at line 226 of file data.py.

◆ SourceType

homeassistant.components.energy.data.SourceType

Definition at line 124 of file data.py.

◆ STORAGE_KEY

homeassistant.components.energy.data.STORAGE_KEY = DOMAIN

Definition at line 18 of file data.py.

◆ STORAGE_VERSION

int homeassistant.components.energy.data.STORAGE_VERSION = 1

Definition at line 17 of file data.py.

◆ WATER_SOURCE_SCHEMA

homeassistant.components.energy.data.WATER_SOURCE_SCHEMA
Initial value:
1 = vol.Schema(
2  {
3  vol.Required("type"): "water",
4  vol.Required("stat_energy_from"): str,
5  vol.Optional("stat_cost"): vol.Any(str, None),
6  vol.Optional("entity_energy_price"): vol.Any(str, None),
7  vol.Optional("number_energy_price"): vol.Any(vol.Coerce(float), None),
8  }
9 )

Definition at line 251 of file data.py.