Skip to main content

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-daikin-altherma-0.3.3.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

python_daikin_altherma-0.3.3-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file python-daikin-altherma-0.3.3.tar.gz.

File metadata

File hashes

Hashes for python-daikin-altherma-0.3.3.tar.gz
Algorithm Hash digest
SHA256 cbb81639bda9ab7473c0e446a5cb0948fd08ddf7515f622e4175935b064edee0
MD5 d2b4c6f997738eb51c667d34723e80c0
BLAKE2b-256 af46df23811f94f1c0b1de557fea11a9e15b4af1c004c223c4d9611a489615dd

See more details on using hashes here.

File details

Details for the file python_daikin_altherma-0.3.3-py3-none-any.whl.

File metadata

File hashes

Hashes for python_daikin_altherma-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 36bdaa022ef2d2711006127113b0e837e37874773a4ba3d13d12300d0ec899b8
MD5 63e2214b9abbf38985a12b63da022f9a
BLAKE2b-256 7f834cbfa69e06d5362886d195bca4690b8a3f22af1f8f17ed0fd5942fd5314b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page