Daikin Heat pump Altherma Integration

I have installed it with HACS but it
Says in the log Device ‘None’ is filtered out? #4

1 Like

Same issue here, the Json has the correct info and is correctly formatted.

hi lynxul25,
how i can help you?
What is your model? brp069a62 or BRP069A78?
Can you sen me privately your JSON?

bye

It’s brp069a62. Sent you a PM with the Json. Appreciate the help!

Hi @lynxul25,
at the moment we have 2 custom integration for Altherma 3.
Mine is for BRP069A78:

For brp069a62 try this:

Let us know if you resolve…
bye

1 Like

Worked like a charm!

1 Like

For me this integration work:

The other one does not seem to be working, for the LAN adapter in my Daikin, at least.

This is what I see:


Basically I can see the temperature of the water heater. I can also start/stop the climate control and the water heater. HOWEVER, I cannot change the temps. Is this intended?

PS. Huge thanks for making this possible!

1 Like

As always, correct answer to this is: it depends…
Your device (Daikin Gas Boiler) is different, so has different configuration and features.
Can you change temps via Daikin Residential Controller app?
If so, then it may be possible to add this also into integration.

You could share JSON data (daikin_puredata.json in HA /config folder) for your device via private message, I can take a look how difficult adding this would be. Unless you have some Pyhton develpoment skills and want to do it yourself?

Hello everyone, i started this topic a year and a half ago, and i am just being aware of all the development and the great job that was done ! Many thanks !!

I managed to install succesfully the custom integration BigFoot2020/daikin_residential_brp069a62 ! It works great, thanks once again ! I have a only problem : when i add a thermostat card in lovelace based on the climate variable altherma, the set point temperature is shown correctly (here 20°C) and i can edit it. But, the main temperature shown in big font on the card is not the one i would like (here 28°C), i suppose this is the temperature of the water running in the heating floor but the one i would need to see is the inside_temperature (here 21,3°C), like it shows on the physical thermostat. Is there a way to change this ?

See answer here: HA front end issues · Issue #1 · BigFoot2020/daikin_residential_brp069a62 · GitHub
I am looking into this, but it may take some time.
It may be helpful if you are willing to share JSON data for your system.

Hello BigFoot, I answered in the other topic.
About JSON data for my system, is there a tutorial somewhere to extract it ?
Thanks

For debug purposes daikin_puredata.json is saved in HA /config folder, that contains all data read from cloud.

I have also created custom component for Daikin altherma. It is in early experimental phase. Works for me, but I do want to revisit the code and do some changes + documentation, so keep in mind if you decide to test it. You can find it here. Sorry, there is no description on how to install it, but it is straight forward just copy daiking_altherma folder from github to the custom_components folder and restart you HA. The difference is that this component works locally so you don’t need to connect to cloud. No keys, no passwords are required. Normally it should discover your unit automatically, or you can add integration and specify IP address of your unit manually. Also, it should work with both settings: fixed water temperature and weather dependent temperature.
Now, regarding the thermostat. As far as I know daikin heater itself does not have such thing as target temperature. You can specify either offset temperature of leaving water or set the leaving water temperature to fixed value. What you could do is create generic thermostat component. Here, is an example what would you need to put into your configuration file:

climate:
  - platform: generic_thermostat
    name: My Heater
    unique_id: daikin_climate_control
    target_sensor: sensor.indoor_temperature
    min_temp: 18
    max_temp: 26
    heater: switch.climate_control
    target_temp: 20
    cold_tolerance: 0.3
    hot_tolerance: 0.3
    ac_mode: false
    initial_hvac_mode: "heat"
    min_cycle_duration:
      seconds: 5

The important entities you need to pay attention is heater. This should be a switch to turn on or off the heater (or it could also be open/close valve, in case you have set it up and want to control temperature for each room independently). If you decide to test daikin_altherma component you can set it to switch.climate_control. The other entity is target_sensor. You can set any temperature sensor you want. For example if you have more than one temperature sensors in your house you can take average value or smth like that, or you can just use daikin’s sensor.
The limitation of the generic_thermostat is that it does not know how to “ask” for more heat from the heater. The generic_thermostat component only turns on and off the switch, it does not change leaving water temperature. What I mean is that if you set leaving water temperature low enough and you want to reach high temperature in your house the generic thermostat will not reach the desired temperature and will be on all the time, so you need to adjust how much heat your heater should produce in other ways (automation, services, manually, etc.)

Hey there! Yes, I can edit the temps via the Daikin Residential Controller app.

Sending you the JSON data (daikin_puredata.json in HA /config folder) privately.

Hi tadas.
I have few questions about your integration, just to understand if it has the potential to integrate with the other existing.
Unfortunately I haven’t tried, because has the same name of my integration and I haven’t time.

  1. what is your goal? only work without daikin cloud or anything else? you think that you will have access to more sensors?

  2. what functionality you developed? Same of App or something more? Can you post an image of your integration in HA as example?

  3. Have you started from zero or from other integrations? I tryed to compare your code with mine to get inspired, but is completly different…

Thanks…

I could answer to these questions, at least partially and based on my knowledge.

First, they do not have same name/domain: “daikin_altherma” vs “daikin_residential_altherma”.

Daikin had app named “Daikin Online Control Heating”, which used WebSockets to connect to Daikin LAN Adapters (at least BRP069A61/2 were supported, not sure about others) locally. Daikin has decommissioned that app and API was not public. There are several other libraries that use same API, but no other (public) HA integrations that I know of.

Functionality of that app was (at least for me) really limited. So same applies for integration. Basically I get similar functionality from both: 4 temp sensors, 2 setpoints and 3 switches and some duplicated functionality via other entities.

For me, main point is that is works locally and does not depend on my Internet connectivity or Daikin, should they decide to change anything on the cloud side.

I don’t expect to be able to see any other sensors via BRP069A61/2 LAN adapters, unless Daikin would do a major firmware upgrade (which is not likely), so I started to use ESPAltherma. That seems to be working great to monitor my heat pump, although setting up all needed template sensors is a bit tricky.

Conclusion: I now have a way to monitor my heat pump (in addition to Shelly 3EM for total power/energy consumption), a way to control basic funtionality my heat pump (actually 2 separate ways), so I’m really happy about this and really thankful for all that have helped me to get here.

@Lontra,
First of all I have tested only with BRP069A62, so it may not work with other models. My goal was to develop independent python package which should give me easy control of my Daikin device locally, without making any external connections. Of course with intention to fully integrate with the HA.
To answer to your 1 and 2 question whatever I would be able to get more access compared to cloud approach I am not sure at the moment because majority of the functionality I learned out only by reverse engineering daikin residential app, so it is limited to what the app is capable to do. What other functionality is hidden on the device but not seen in the app is yet to be discovered. Currently pyaltherma package supports the following functionality and can be easily integrated (or already integrated) into HA

For water heating:

  • Get/Set target temperature
  • Get water temperature
  • Turn off/on
  • Turn powerful
  • errors and maintainer status

For space heating:

  • works with both states weather dependent and fixed
  • Operation State (heating/cooling/auto)
  • Leaving water temperature heating/cooling/auto (get/set)
  • Leaving water temperature offset heating/cooling/auto (get/set)
  • Indoor temperature
  • Outdoor temperature
  • Current leaving water temperature
  • Turn on/off
  • Operation mode

States:

  • Installer state
  • warning state
  • emergency state
  • control mode state
  • Weather dependent state

Other info:

  • Indoor software/version
  • outdoor software/version
  • remocon software/version
  • Model number
  • Unit id
  • Sensor list (with all definitions like min/max/step)

Things I am planning to do for HA integration:

  • Energy consumption info
  • Error states info
  • Schedules? But I am not sure if that is really worth integrating into HA
  • And finally, be ready to quickly develop any other features which maybe discovered in the future. Somehow I do believe that local API has much more to offer than what we see in the cloud app. We just need to dig a bit deeper to find them out

Technically, I stared to develop integration from the scratch. Of course you may find similar code in other integrations as I took some pieces of code and some ideas from other parts, not necessarily related to HVAC as this is my first integration I did and had to learn a lot.

And here are some screenshots:

Water heater is standard HA WaterHeater control

2 Likes

@tadas,
Just to be clear: Did you really use “Daikin Residnetial” app when “reverse engineering” API? During initial setup?

Because I don’t see any direct traffic between app (mobile device with app) and heat pump (LAN adapter) after initial setup. Both are only communicating with Daikin cloud.

As I mentioned previous app did have that traffic, and I tried to “sniff” it using network monitoring.

I tried to search some already known “keywords” in the app like m2m:rqp, mca, TargetTemperature, …, and hoped to discover some unknown without much of the luck. Not the traffic itself. The only thing I tried to sniff is the traffic of the unit. Anyway, without much luck as everything has been already discovered before.

Hello. I did some work on web sockets for my Daikin Altherma machine with a BRP069A62. I made an integration with homeassistant using a very different approach (by then I did not know how to program a custom_component). I am using it for two years with few issues.

May be it can help to your approach. I have just uploaded it to GitHub.
You can have a look at https://github.com/enredador/DKNd

1 Like