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_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
|
| ----------------------------------------------------------------------
| Readonly properties defined here:
|
| adapter_model
| Returns the model of the LAN adapter.
| Ex: BRP069A61
|
| heating_mode
| This function name makes no sense, because it
| 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_holiday_mode
| Returns if the holiday mode active or not
|
| is_tank_heating_enabled
| Returns if the tank heating is currently enabled
|
| is_tank_powerful
| Returns if the tank is in powerful state
|
| leaving_water_temperature
| Returns the heating leaving water 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 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
|
| 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
|
| ----------------------------------------------------------------------
| 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
Close
Hashes for python-daikin-altherma-0.3.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbb81639bda9ab7473c0e446a5cb0948fd08ddf7515f622e4175935b064edee0 |
|
MD5 | d2b4c6f997738eb51c667d34723e80c0 |
|
BLAKE2b-256 | af46df23811f94f1c0b1de557fea11a9e15b4af1c004c223c4d9611a489615dd |
Close
Hashes for python_daikin_altherma-0.3.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36bdaa022ef2d2711006127113b0e837e37874773a4ba3d13d12300d0ec899b8 |
|
MD5 | 63e2214b9abbf38985a12b63da022f9a |
|
BLAKE2b-256 | 7f834cbfa69e06d5362886d195bca4690b8a3f22af1f8f17ed0fd5942fd5314b |