Files

275 lines
7.2 KiB
Markdown

---
layout: default
title: API Reference
nav_order: 6
---
# API Reference
## Heat Pump Web API
The integration communicates with the heat pump's embedded web server.
### Get Status
Retrieves current heat pump status and sensor readings.
**Endpoint:**
```
GET /installedplugin/com.innova.pdc/<VERSION>/server/index.php?Action=GetStatus
```
**Response:**
```json
{
"sw": { "V": "3.0.49" },
"success": true,
"model": "RDZ",
"RESULT": {
"TSLastUpdate": 1759138628,
"info": {
"datetime": "29/09/2025 12:37"
},
"status": {
"ISP": "34.3 °C",
"SSP": 47.0,
"watert1": 32.1,
"watert2": 32.0,
"dhwt3": 46.8,
"t4": 9.6,
"watersetpoint": 43.0,
"dhwsetpoint": 47.0,
"heating": true,
"cooling": false,
"pwr": false,
"san": false,
"pump": true,
"res": false,
"standby": false,
"sce": true,
"alarm": {
"status": false,
"type": "",
"label": ""
},
"worktime_pdc": 11614,
"worktime_res": 593
}
}
}
```
### Status Fields
| Field | Type | Description |
|-------|------|-------------|
| `ISP` | string | Inlet Setpoint (e.g., "34.3 °C") |
| `SSP` | float | System Setpoint |
| `watert1` | float | Inflow water temperature |
| `watert2` | float | Outflow water temperature |
| `dhwt3` | float | Domestic hot water temperature |
| `t4` | float | Outdoor temperature |
| `watersetpoint` | float | Water temperature setpoint |
| `dhwsetpoint` | float | DHW temperature setpoint |
| `heating` | bool | Heating mode active |
| `cooling` | bool | Cooling mode active |
| `pwr` | bool | Compressor running |
| `san` | bool | DHW mode active |
| `pump` | bool | Circulation pump active |
| `res` | bool | Auxiliary heater active |
| `standby` | bool | Standby mode |
| `sce` | bool | Smart Consumer Electronics |
| `alarm.status` | bool | Alarm active |
| `alarm.type` | string | Alarm type code |
| `alarm.label` | string | Alarm description |
| `worktime_pdc` | int | Compressor runtime (hours) |
| `worktime_res` | int | Aux heater runtime (hours) |
### Set Parameter
Sets a heat pump parameter (temperature setpoint).
**Endpoint:**
```
POST /installedplugin/com.innova.pdc/<VERSION>/server/index.php?Action=SetParameter
```
**Content-Type:** `application/x-www-form-urlencoded`
**Parameters:**
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `Key` | string | Yes | Parameter name: `watersetpoint` or `dhwsetpoint` |
| `Value` | string | Yes | Temperature value |
| `manual` | string | Yes | Duration: `forever` or time-based |
**Example:**
```bash
curl -X POST "http://192.168.1.100/installedplugin/com.innova.pdc/2.0.10/server/index.php?Action=SetParameter" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "Key=watersetpoint&Value=45&manual=forever"
```
**Response:** HTTP 200 on success
---
## Home Assistant Services
### rdz_innova_heatpump.set_water_setpoint
Manually set the heating water temperature setpoint.
**Service Data:**
| Attribute | Type | Required | Description |
|-----------|------|----------|-------------|
| `temperature` | float | Yes | Target temperature (35-60°C) |
| `duration` | string | No | Duration: "forever" (default) or time-based |
**Example YAML:**
```yaml
service: rdz_innova_heatpump.set_water_setpoint
data:
temperature: 45
duration: forever
```
**Example Automation:**
```yaml
automation:
- alias: "Set water temperature on schedule"
trigger:
- platform: time
at: "06:00:00"
action:
- service: rdz_innova_heatpump.set_water_setpoint
data:
temperature: 45
duration: forever
```
---
## Entities
### Climate Entity
**Entity ID:** `climate.heat_pump_water_temperature`
**Attributes:**
| Attribute | Description |
|-----------|-------------|
| `current_temperature` | Current water temperature (T1) |
| `temperature` | Target temperature setpoint |
| `hvac_mode` | Current mode: `heat`, `cool`, `off` |
| `hvac_action` | Current action: `heating`, `cooling`, `idle`, `off` |
| `min_temp` | Minimum setpoint (35°C) |
| `max_temp` | Maximum setpoint (60°C) |
| `target_temp_step` | Temperature step (0.5°C) |
**Supported Features:**
- `TARGET_TEMPERATURE`
**HVAC Modes:**
- `heat` - Heating mode
- `cool` - Cooling mode
- `off` - Standby
### Water Heater Entity
**Entity ID:** `water_heater.heat_pump_dhw`
**Attributes:**
| Attribute | Description |
|-----------|-------------|
| `current_temperature` | Current DHW temperature (T3) |
| `temperature` | Target DHW setpoint |
| `operation_mode` | `on` when DHW active, `off` otherwise |
| `min_temp` | Minimum setpoint (35°C) |
| `max_temp` | Maximum setpoint (60°C) |
### Sensor Entities
| Entity ID | Unit | Description |
|-----------|------|-------------|
| `sensor.heat_pump_inlet_setpoint_temperature` | °C | ISP value |
| `sensor.heat_pump_system_setpoint_temperature` | °C | SSP value |
| `sensor.heat_pump_water_temperature_t1` | °C | Inflow temperature |
| `sensor.heat_pump_outflow_temperature_t2` | °C | Outflow temperature |
| `sensor.heat_pump_dhw_temperature_t3` | °C | DHW temperature |
| `sensor.heat_pump_outdoor_temperature_t4` | °C | Outdoor temperature |
| `sensor.heat_pump_water_setpoint` | °C | Water setpoint |
| `sensor.heat_pump_dhw_setpoint` | °C | DHW setpoint |
| `sensor.heat_pump_runtime` | h | Compressor hours |
| `sensor.heat_pump_auxiliary_heater_runtime` | h | Aux heater hours |
| `sensor.heat_pump_software_version` | - | Firmware version |
### Binary Sensor Entities
| Entity ID | Device Class | Description |
|-----------|--------------|-------------|
| `binary_sensor.heat_pump_heating` | heat | Heating mode |
| `binary_sensor.heat_pump_cooling` | cold | Cooling mode |
| `binary_sensor.heat_pump_working` | running | Compressor active |
| `binary_sensor.heat_pump_dhw_mode` | running | DHW mode |
| `binary_sensor.heat_pump_water_pump` | running | Pump active |
| `binary_sensor.heat_pump_auxiliary_heater` | heat | Aux heater active |
| `binary_sensor.heat_pump_standby` | power | Standby mode |
| `binary_sensor.heat_pump_disabled_prod` | power | Production disabled |
| `binary_sensor.heat_pump_sce` | power | SCE active |
| `binary_sensor.heat_pump_alarm` | problem | Alarm active |
---
## Internal Data Structure
The coordinator maintains this internal data structure:
```python
{
"software_version": "3.0.49",
"last_update": 1759138628,
"datetime": "29/09/2025 12:37",
# Temperatures
"inlet_setpoint_temp": 34.3,
"system_setpoint_temp": 47.0,
"water_temp_t1": 32.1,
"water_temp_t2": 32.0,
"dhw_temp_t3": 46.8,
"outdoor_temp_t4": 9.6,
"water_setpoint": 43.0,
"dhw_setpoint": 47.0,
"aux_heater": 0,
# States
"is_heating": True,
"is_cooling": False,
"is_working": False,
"is_dhw": False,
"is_pump_active": True,
"is_aux_heater": False,
"is_standby": False,
"disabled_prod": False,
"sce": True,
# Runtimes
"worktime_pdc": 11614,
"worktime_res": 593,
# Alarms
"has_alarm": False,
"alarm_type": "",
"alarm_label": ""
}
```
Access in custom code:
```python
coordinator = hass.data[DOMAIN][entry.entry_id]
temp = coordinator.data.get("water_temp_t1")
```