Skip to main content

System

Endpoint group client.system (SystemEndpoints).

API Endpoints to send and retrieve the system data.

Example

client = KebaKeEnergyAPI(
host="ap4400.local",
username="test",
password="test",
ssl=True,
skip_ssl_verification=True
)
await client.system.get_info()

get_positions​

async def get_positions() -> Position

Get the number of installed devices e.g. heat circuit, solar circuit, etc.

Returns

  • Position: The number of installed devices per device type

get_info​

async def get_info() -> dict[str, Any]

Get the system information.

Returns

  • dict[str, Any]: A dictionary with system information

get_hmi_info​

async def get_hmi_info() -> dict[str, Any]

Get the Web HMI information.

Returns

  • dict[str, Any]: A dictionary with Web HMI information

get_device_info​

async def get_device_info() -> dict[str, Any]

Get the control unit information.

Returns

  • dict[str, Any]: A dictionary with control unit information

get_number_of_buffer_tanks​

async def get_number_of_buffer_tanks() -> int

Get the number of buffer tanks.

Returns

  • int: Number of installed buffer tanks

get_number_of_hot_water_tanks​

async def get_number_of_hot_water_tanks() -> int

Get the number of hot water tanks.

Returns

  • int: Number of installed hot water tanks

get_number_of_heat_pumps​

async def get_number_of_heat_pumps() -> int

Get the number of heat pumps.

Returns

  • int: Number of installed heat pumps

get_number_of_heating_circuits​

async def get_number_of_heating_circuits() -> int

Get the number of heating circuits.

Returns

  • int: Number of installed heating circuits

get_number_of_external_heat_sources​

async def get_number_of_external_heat_sources() -> int

Get the number of external heat sources.

Returns

  • int: Number of installed external heat sources

get_number_of_switch_valves​

async def get_number_of_switch_valves() -> int

Get the number of switch valves.

Returns

  • int: Number of installed switch valves

has_photovoltaics​

async def has_photovoltaics(*, human_readable: bool = True) -> int | str

Check if photovoltaics is available.

Parameters

  • human_readable bool (default: True): Return a human-readable string

Returns

  • int | str: 0 (OFF) / 1 (ON)

has_outdoor_temperature​

async def has_outdoor_temperature(*, human_readable: bool = True) -> int | str

Check if outdoor temperature sensor is available.

Parameters

  • human_readable bool (default: True): Return a human-readable string

Returns

  • int | str: 0 (OFF) / 1 (ON)

get_outdoor_temperature​

async def get_outdoor_temperature() -> float

Get the outdoor temperature.

Returns

  • float: Temperature in °C

get_operating_mode​

async def get_operating_mode(*, human_readable: bool = True) -> int | str

Get the operating mode from the system.

Parameters

  • human_readable bool (default: True): Return a human-readable string

Returns

  • int | str: -1(SETUP) / (0) STANDBY / (1) SUMMER / (2) AUTO_HEAT / (3) AUTO_COOL / (4) AUTO

set_operating_mode​

async def set_operating_mode(mode: int | str) -> None

Set the operating mode from the system.

Attention

Writing values should remain within normal limits, as is the case with typical use of the Web HMI. Permanent and very frequent writing of values reduces the lifetime of the built-in flash memory.

Parameters

  • mode int | str: Set the mode as integer or string (human-readable) e.g. 0 or STANDBY

get_cpu_usage​

async def get_cpu_usage() -> float

Get the CPU usage.

Returns

  • float: CPU usage in percent

get_webview_cpu_usage​

async def get_webview_cpu_usage() -> float

Get the webview CPU usage.

Returns

  • float: Webview CPU usage in percent

get_webserver_cpu_usage​

async def get_webserver_cpu_usage() -> float

Get the webserver CPU usage.

Returns

  • float: Webserver CPU usage in percent

get_control_cpu_usage​

async def get_control_cpu_usage() -> float

Get the control CPU usage.

Returns

  • float: Control CPU usage in percent

get_ram_usage​

async def get_ram_usage() -> int

Get the RAM usage.

Returns

  • int: RAM usage in kilobyte

get_free_ram​

async def get_free_ram() -> int

Get the free RAM.

Returns

  • int: Free RAM in kilobyte

get_timezone​

async def get_timezone() -> str

Get the timezone.

Returns

  • str: Timezone as name e.g. Europe/Vienna