How to integrate Daikin Altherma LT heat pump?

Hi All,

Since a week or 2 I have the same adapter BRP069A62
And I am poking around this device. What I have found is that upon reboot, port 80 and 23 are open for about 30 min or so, I have not been able to guess a password for the telnet connection. And port 80 only does basic functions on the page like setting the IP address and reset.

For now I am able to read a lot of info, and change the temp and turn on / off. But am stuck trying to change anything of the schedule. The nested json is a bit of a pain.

Current output

User chosen schedule ID: 3
Next schedule change: Monday, Time: 2200, temp will be set to: 18.0
Complete schedule: $NULL|1|1700,200;2200,180;,;,;,;,;1700,200;2200,180;,;,;,;,;1700,200;2200,180;,;,;,;,;1700,200;2200,180;,;,;,;,;1700,200;2200,180;,;,;,;,;1000,200;1300,180;1700,200;2200,180;,;,;1000,200;1300,180;1700,200;2200,180;,;,
Connected to Daikin on:
Device function: function/SpaceHeating
The device is currently: on, and the operation is: heating
Brand: Daikin, LAN adapter Model: BRP069A62, Duty: HVAC controller, Firmware: 17003900, Software: 436DD123000, SerialNR: XXXXXXX
Given name by user: Central heating
Indoor unit model: EHYHBH08AAV3, software: ID9051, EEPROM: AS1706433-11A
Outdoor unit Softare: ID3904, User EEPROM: AS1705847-01F, User interface software: AS1705847-01F
Current Errors: 0, Current Warmings: 0, Emergency state: 0,  Installer state: 0
Reported Errors:
Did we manually override the scheduled temp: NO
Current indoor temp: 20.0
Current outdoor temp: 11.0
Current water temp: 46.5
Current target temp: 21.0
Water temp is calculated based on: WeatherDependent
Is child lock active: NO, Current pin is: 1234
Holiday start: 2020-03-06, Holiday End: 2020-03-06, Holiday mode active?: NO

Any one have a Idea to on how to change the schedule?

This is based upon changing the temp / on/off but does not seem to work:

	"m2m:rqp": {
		"op": 1,
		"to": "/[0]/MNAE/1/Schedule/Active",
		"fr": "/S",
		"rqi": "",
		"ty": 4,
		"pc": {
			"m2m:cin": {
				"con": "{"data":{"path":"/mn-cse-LONG_ID_STRING/MNAE/1/schedule/List/Heating/la","id":2}}",
				"cnf": "text/plain:0"

changing: "cnf": "text/plain:0" to "cnf": "application/json:0" does not help either. The daiking heating app is a mess with cariables named every letter of the alphabet and not a decent name. All the values in a long variable… those devs…

My code is far from pretty as it is highly repetitive at the moment having all the URLS + their JSON key figured out, and some even nested JSON.

My indoor unit is the hvac+gas hybrid pump. And does not readout consumption as it is not connected to the lan module only the p1/p2 bus is. (which might be a next step to figure out on how to enable such things.)

Alos worthy of note:

  • The Random strings are not actually needed it seems.
  • The Url in the send JSON under fr, Also can be just a /
  • Which would reduce the code to: "{\"m2m:rqp\":{\"op\":2,\"to\":\"/[0]/MNAE/1/Schedule/List/Heating/la\",\"fr\":\"/\",\"rqi\":\""\"}}"


I’m looking to get a DAIKIN Altherma R Hybrid 8kW. Would that work with your REST sniffer based works ?

Did your plans to go for a binding succeed ? Or did your Python script mature ?

I’d like to instruct my heat pump to do its work when I have excess electric power from my solar system (SG ready function)
Can I do that via OpenHAB/REST or would I need the BRP069A61 ? (it has electrical inputs for that in addition to what the BRP069A62 can do).

Hey Markus,
I am currently in the process of switching everything over to a Homie/MQTT based architecture. I was just developing some code today. I guess by Monday I should have something to at least read the values and provide it to MQTT.
I think you could use the 2/Operation/Powerful feature to produce hot-water on demand, but I am not sure if there is a smarter/better way of doing that.

I will let you know when I have some public code.


Thanks. Please let me make sure: we’re talking about Altherma R hybrid. That’s the ex-Rotex system.
It also is compatible with the BRP069A62/61 and provides that REST interface you access ?

Unfortunately I can not tell you whether the R-Hybrid is compatible with the BRP069A62 or alike, this you need to call Daikin for and ask them. Their website is not great on details.
But if you can use it, it should work with my tools.


Hello everyone,
I just finished the very first version of my Daikin Adapter to Homie convention software. If you’re brave, feel free to test it and give me feedback :slight_smile:

This software needs Java Version 12 at least!

This software allows to discover a Daikin Adapter BRP069A62 in the network and read its endpoints. It will then publish it to an MQTT server according to the homie convention. This software is in its early stage, so please be careful when using it!

Launching it

You can launch it with java -jar daikin-0.0.1.jar which will give you a few options.

If you don’t know your IP address you can run java -jar daikin-0.0.1.jar -d and it will discover existing Daikin Adapters through MDNS, or you can just run java -jar daikin-0.0.1.jar -g to start a Setup GUI. If you launch the GUI for the first time, it will open a dialog, where you can enter the IP address of the adapter, or hit the discover button and get the first adapter found.

Once the proper UI opens you can hit the discover button which will try to identify all possible endpoints that can be read from this adapter. For this it will use the UnitProfile endpoint, as well as a text file with some other endpoints that I found in the app.
ADVANCED: You can also try your own endpoints with the -e option

Once all endpoints have been discovered (which may take a minute) the table for editing information should be filled.

alt text

Table columns

Pollinterval allows you to set how often things are read. You can get some of my preferred values by hitting the Guess polling button. But please double check if it is what you would expect and let me know if not.

  • NEVER items will be ignored and never read
  • ONCE items will be read only during startup. This is useful for things like Hardware version which will very like never change, but it is nice to have it available
  • MINUTELY items will be read every minute
  • HOURLY items will be read every hour
  • BI_HOURLY items will be read ever other hour
  • DAILY items will be read every 24h

Currently the polling interval is relative to the start time of the polling (-p option).

Name is a human readable name that will appear in a homie client.

Unit is the physical unit of that property. You can hit the guess units button and I set °C to all items ending in temperature. For some other items I can actually read out the unit from the unitprofile.

Format allows to specify the range of expected values. For numbers that is min:max for enums on, off,explode. See the homie convention for more information.

DataType is GUESSED from the current value. This may be WRONG! for example the temperature may be exactly 22°C during reading, but the unit can actually provide 22,1°C. So if you know that this field is not integer, change it to float or string.

Value If you hit discover you get the current value for information, this allows you make a better assessment of the data type or the expected values.

Final steps in GUI

At the bottom you can find some inputs related to the MQTT settings. The device name must match the homie convention which is lower-case [a-z0-9]+.

The last step of the GUI is to write the config file which is done by the save file button. The default name is PollingSettings.json

If you don’t like GUIs you can run java -jar daikin-0.0.1.jar -w which will scan the given IP address and write a PollingSettings.json file that you can edit.

Running the polling service

Now that you have a proper PollingSettings.json you can finally launch java -jar daikin-0.0.1.jar -p which will start the polling and update the data in the homie convention.
Enjoy :slight_smile:
If you have any issues, please let me know and I will see if I can fix them. Please remember, this is an early version and will have Bugs! Don’t put it into production and forget about just yet…

Hi, i’m also trying to integrate the Daikin heat pump into my smart home systems.
What you achieved so far looks grat and quite promising, can you provide a list (or screenshots) of all the values / parameters that you could read from the Daikin Adapter?

You can take a look at my PollingSettings.json here


Thanks for your reply!

As far as i saw things like Inlet and Outlet Temperature, Current Water Flow, etc. unfortunately aren’t included right? (Those would be the things i’d be especially interested in).

I found today following thread:
In the middle of the page there seems to be a new approach of getting (maybe also setting) values from the device: They managed to read the “D-Checker” plug with a simple USB to TTL stick and the original D-Checker software by Daikin. It seems that they could read even a lot more information and values from the heat pump than shown in the user interface control. Maybe someone knows if it’s possible to create a “Wifi to TTL” device (maybe with ESP8266 / ESP32) which reads the data and provides it to our SmartHomes via wifi?!?

Yes, unfortunately the really cool and interesting data is not included :frowning:
Ok, I just read trough the last parts of the D-Checker story, and that is REALLY intriguing… I still have plenty of ESP32 laying around :smiley: So I might actually take a look at it.


Your work is really awesome. I just tested it and seems to work great, I still have to dive into the different values but that seems fine.
I have currently a EHVZ unit,so I don’t know if I can get a lot of infos, but still, having some basic information is great.
Again, thanks for your work and time.
I’ll try to give you a better feedback once I’ve integrated the data into Jeedom.

Just found that there is also a Daikin “monitoring tool” (seems to be a d-checker light), which works via bluetooth and allows to get the data via an app on your mobile:

However couldn’t find this bluetooth adapter anywhere to buy and / or further information on what this adapter exactly does in it’s internals.

Great, thanks a lot for your contribution.
Unfortunately, this is conceptually somewhat incompatible to an openHAB integration, the better approach would be to write a binding.
Would you be willing to try integrating you code with the Daikin binding as suggested here?
Check back with @JimT, I’m sure he’ll give you a helping hand.

Hey Markus,
I started to implement a binding, but then switched away from it and went with the MQTT path. As it is using the homie convention, it should be fairly simple to get the data into OpenHab if needed.
Anyhow, if anyone is willing to continue in my footsteps with developing a binding:

I started with some unit tests and discovery is mostly working. The MQTT version is re-developed from scratch.


I was hoping for you to do that. The binding framework is there, it’s hopefully just about integrating the Altherma endpoints.

This is another option it works!

I have been monitoring the heat pump for almost a year, it works perfect. You have all the available data, water flow, valve status, flow, return temperatures, etc …

thx, can you share some information about how you built the hardware part for the ‘P1P2Serial’ project? Which parts are really needed and where to get them?

Hello good day,
The truth is that my knowledge of hardware is very limited, all the information about them is at the following link:

The assembly of the circuit was made by Arnold Niessen, I only acted as a tester. From what Arnold explained, the hardest circuits to find are the MM192s. But I think they can be obtained online. Surely Arnold can give you more clues. Thanks to him I was able to mount the system.
I only integrated the P1P2 into openhab with NodeRED to be able to monitor and interact with the heat pump.

ok, so you basically got the adapter from the project owner :smiley:

Is there anybody among us, who knows where to start if we’d like to develop a ESP32 / ESP8266 D-Checker adapter? (How to integrate Daikin Altherma LT heat pump?)
I could assist in writing the software, but i have no clue on how to build up a ‘USB - TTL’ stick for the ESP device.

Instead of going the P1P2 route, I would much rather go the D-Checker route, which is a regular UART, but someone needs to dump the traffic going trough this, so that it can be decoded.