--- 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//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//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") ```