Connect to daikin altherma heat pumps
Project description
python-daikin-altherma
talks to daikin altherma via LAN adapter BRP069A61 or BRP069A62
How to use
How to install ?
Simply get it from pypi by:
pip3 install python-daikin-altherma
How to run
>>> from daikin_altherma import DaikinAltherma
>>> d = DaikinAltherma('192.168.10.126')
>>> print(f'My outdoor temperature is {d.outdoor_temperature}°C')
My outdoor temperature is 2.0°C
>>> d.print_all_status()
Daikin adapter: 192.168.11.100 BRP069A61
Daikin unit: EAVH16S23DA6V 0
Daikin time: 2023-10-20 18:56:08
Hot water tank:
Current: 48.0°C (target 49.0°C)
Heating enabled: True (Powerful: False)
Heating:
Outdoor temp:14.0°C
Indoor temp: 21.5°C
Heating target: 24.0°C (is heating enabled: True)
Leaving water: 29.0°C
Heating mode: heating
Schedule: {'Mo': {'0000': 18.0, '0600': 20.0, '1200': 22.0, '1500': 20.0, '1800': 18.0}, 'Tu': {'0000': 18.0, '0600': 20.0, '1800': 18.0}, 'We': {'0000': 18.0, '0600': 20.0, '1800': 18.0}, 'Th': {'0000': 18.0, '0600': 20.0, '1200': 22.0, '1500': 20.0, '1800': 18.0}, 'Fr': {'0000': 18.0, '0600': 20.0, '1200': 22.0, '1500': 20.0, '1800': 18.0}, 'Sa': {'0000': 18.0, '0600': 20.0, '1200': 22.0, '1500': 20.0, '1800': 18.0}, 'Su': {'0000': 18.0, '0600': 20.0, '1200': 22.0, '1500': 20.0, '1800': 18.0}}
Schedules
You can set schedules using set_heating_schedule(schedule). Your best bet is to
look at the example file.
Documentation
class DaikinAltherma(builtins.object)
| DaikinAltherma(adapter_ip: str)
|
| Methods defined here:
|
| __init__(self, adapter_ip: str)
| Initialize self. See help(type(self)) for accurate signature.
|
| print_all_status(self)
|
| set_heating_enabled(self, heating_active: bool)
| Whether to turn the heating on(True) or off(False).
| You can confirm that it works by calling self.is_heating_enabled
|
| set_heating_schedule(self, schedule: dict[str, dict[str, float]])
| Sets the heating schedule for the heating.
|
| set_holiday_mode(self, on_holiday: bool)
| Whether to turn the holiday mode on(True) or off(False).
| You can confirm that it works by calling self.is_holiday_mode
|
| set_setpoint_temperature(self, setpoint_temperature_c: float)
| Sets the heating setpoint (target) temperature, in °C
|
| set_leaving_water_temperature_offset(self, offset_temperature_c: int)
| Sets the heating leaving water offset temperature, in °C
|
| set_tank_heating_enabled(self, powerful_active: bool)
| Whether to turn the water tank heating on(True) or off(False).
| You can confirm that it works by calling self.is_tank_heating_enabled
|
| set_unit_datetime(self, d)
| Sets the datetime of your unit. Does not work on all units. See `is_unit_datetime_adjustable`
|
| ----------------------------------------------------------------------
| Readonly properties/methods defined here:
| All properties will return None if not supported.
|
| adapter_model
| Returns the model of the LAN adapter.
| Ex: BRP069A61
|
| available_services(unit_nr)
| Returns a JSON with capacities for each unit. unit_nr is in range [0..2] normally
|
| control_mode
| Returns the type of control used for heating. This is an installation setting, and controls for example the availability of indoor_temperature
|
| heating_mode
| Returns whether the heat pump is heating or cooling.
|
| heating_schedule
| Returns the HeatingSchedule list heating
|
| heating_schedule_state
| Returns the actual heating schedule state
|
| indoor_setpoint_temperature
| Returns the indoor setpoint (target) temperature, in °C
|
| indoor_temperature
| Returns the indoor temperature, in °C
|
| indoor_unit_software_version
| Returns the unit software version
|
| indoor_unit_version
| Returns the unit version
|
| is_heating_enabled
| Returns if the unit heating is enabled
|
| is_heating_[warning|error|emergency]
| Returns if heating has a warning or an error or an emergency
|
| heating_error_status
| Returns the heating status: "OK" or "Warning" or "Error" or "Emergency"
|
| is_holiday_mode
| Returns if the holiday mode active or not
|
| is_tank_heating_enabled
| Returns if the tank heating is currently enabled
|
| is_tank_[warning|error|emergency]
| Returns if tank heating has a warning or an error or an emergency
|
| tank_error_status
| Returns the tank status: "OK" or "Warning" or "Error" or "Emergency"
|
| is_tank_powerful
| Returns if the tank is in powerful state
|
| is_unit_datetime_adjustable
| Returns True if the datetime of your unit is adjustable
|
| leaving_water_temperature
| Returns the heating leaving water temperature, in °C
|
| leaving_water_temperature_offset
| Returns the heating leaving water offset temperature, in °C
|
| outdoor_temperature
| Returns the outdoor temperature, in °C
|
| outdoor_unit_software_version
| Returns the unit software version
|
| pin_code
| Returns the pin code of the LAN adapter
|
| power_consumption
| Returns the heating energy consumption in kWh per [D]ay, [W]eek, [M]onth
|
| remote_setting_version
| Returns the remote console setting version
|
| remote_software_version
| Returns the remote console setting software version
|
| tank_schedule
| Returns the TankSchedule list heating
|
| tank_schedule_state
| Returns the actual tank schedule state
|
| tank_setpoint_temperature
| Returns the hot water tank setpoint (target) temperature, in °C
|
| tank_temperature
| Returns the hot water tank temperature, in °C
|
| tank_power_consumption
| Returns the tank energy consumption in kWh per [D]ay, [W]eek, [M]onth
|
| unit_datetime
| Returns the current date of the unit. Is refreshed every minute or so
|
| unit_model
| Returns the model of the heating unit.
| Ex: EAVH16S23DA6V
|
| unit_type
| Returns the type of unit
|
| in_installerstate and tank_in_installerstate
| Returns if the heating is in the installer mode, will have limited functionality in that case
|
| ----------------------------------------------------------------------
| Data descriptors defined here:
|
| __dict__
| dictionary for instance variables (if defined)
|
| __weakref__
| list of weak references to the object (if defined)
|
| ----------------------------------------------------------------------
| Data and other attributes defined here:
|
| DATETIME_FMT = '%Y%m%dT%H%M%SZ'
|
| DAYS = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su']
|
| UserAgent = 'python-daikin-altherma'
Acknowledgments
Many thanks to william-sy and KarstenB for their bootstrap !
Alternatives
- C# implementation: https://github.com/jbinko/dotnet-daikin-altherma
- Home assistant component: https://github.com/tadasdanielius/daikin_altherma
- ESP32 implementation: https://github.com/raomin/ESPAltherma
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file python_daikin_altherma-0.5.0.tar.gz.
File metadata
- Download URL: python_daikin_altherma-0.5.0.tar.gz
- Upload date:
- Size: 9.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f554cc72fe601734e676b50230a298614eeb0c8f5cd7a3f751a1953b508485bb
|
|
| MD5 |
a9ce44d9169f22c1c015095ece95c331
|
|
| BLAKE2b-256 |
6f3c36697f29fa3c551b25819bd6447b95f0007208d0504636c015135d1123ed
|
File details
Details for the file python_daikin_altherma-0.5.0-py3-none-any.whl.
File metadata
- Download URL: python_daikin_altherma-0.5.0-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f203ca49fc6706c42580153fdb6d0b8f6332178efee9d69480435b861adec250
|
|
| MD5 |
9af3b77e00ba0e9244e8d466269c7af3
|
|
| BLAKE2b-256 |
23e608700e3315648ccea0113eb0fe312d22427159ee470988f196da30518e1a
|