arduino-altherma-controller icon indicating copy to clipboard operation
arduino-altherma-controller copied to clipboard

Daikin and Modbus interface

Open jelockwood opened this issue 4 years ago • 79 comments

@budulinek You mention in your ReadMe

There is no external Modbus adapter for newer Altherma models, the official LAN adapter is very limited in functionality and as of today Daikin has no usable public API or cloud-based solution.

However I found the following two products. Would these solve this problem?

https://www.daikin.eu/en_us/products/RTD-W.html - For use with Altherma 3 HT models I believe https://www.daikin.eu/en_us/products/RTD-LT-CA.html - For use with Altherma 3 LT models I believe

See this discussion https://community.openhab.org/t/how-to-integrate-daikin-altherma-lt-heat-pump/16488/ and in particular this post https://community.openhab.org/t/how-to-integrate-daikin-altherma-lt-heat-pump/16488/17

jelockwood avatar Oct 29 '21 21:10 jelockwood

@jelockwood

I know about these two products. Made by 3rd company, sold by Daikin. See also: http://www.realtime-controls.co.uk/index.php/site/product-list/C1/

These are quite old products. RTD-W is (was) for Altherma HT. Could (or could not) be compatible with Altherma 3 HT.

RTD-LT/CA was for the very first "CA" generation of Altherma LT. Did not try it. But according to the manual (and according to Daikin representative to whom I talked few years ago), it is not compatible with the second "CB" generation of Altherma LT (I have second generation Altherma LT which has CB in the product name: EHVX08S26CB9W ). I very much doubt it would be compatible with the newest (3rd) generation of Altherma.

budulinek avatar Nov 01 '21 11:11 budulinek

BTW there is another commercial P1P2 <-> Modbus solution by Intesis, but probably only for Daikin cooling units: https://www.intesis.com/products/ac-interfaces/daikin-gateways

And of course, P1P2 <-> KNX solution by Zennio, compatible with Altherma 3: https://www.zennio.com/products/clima/klic-da

budulinek avatar Nov 01 '21 12:11 budulinek

Today we installed a Altherma 3 H HT W (ETBH16EF9W) and Daikin told me to use the DCOM-LT/IO unit for Modbus access:

https://www.daikin.eu/en_us/products/dcom-lt-io.html

StefanR71 avatar Aug 02 '22 15:08 StefanR71

You are right! Thanks for sharing the info, I did not know about it (probably some new product).

There is also a "DCOM-LT/MB" unit. Only Modbus, no relays, no analog inputs. Probably cheaper.

You can check its capabilities by looking at Modbus registers here:

https://www.daikin.fi/content/dam/document-library/installation-manuals/opt-and-acc/DCOM-LT-MB%20reference%20manual_English.pdf

Issue reopened for others to see.

EDIT: Yep, 400€ ....

budulinek avatar Aug 02 '22 15:08 budulinek

Thanks for the Info... I will look for the /MB version...

I'm searching for a solution to query some values and switch the functions heat/cooling/water on/off.

Because i want to disable the water heat function at night when the next days we have more than 8 hours of sun. But cooling should still possible, so i can't use the solarlock input. And on the other side i want only allow cooling when i have solar power or enough power in my battery's.

In the past we had a Novelan/Luxtronic device and that o controlled from my linux server with a python script. The same i want to create now with the Altherma.

StefanR71 avatar Aug 02 '22 15:08 StefanR71

hi there, do you know where I purchase the DCOM-LT/MB in the UK please? Thanks

ttnguyen111 avatar Dec 10 '22 11:12 ttnguyen111

Thanks for the Info... I will look for the /MB version...

I'm searching for a solution to query some values and switch the functions heat/cooling/water on/off.

Because i want to disable the water heat function at night when the next days we have more than 8 hours of sun. But cooling should still possible, so i can't use the solarlock input. And on the other side i want only allow cooling when i have solar power or enough power in my battery's.

In the past we had a Novelan/Luxtronic device and that o controlled from my linux server with a python script. The same i want to create now with the Altherma.

I have an Daikin Altherma 3 H MT W connected with the DCOM LT/MB Modul.

I can set via Modbus the following values:

1 Leaving Water Main Heating Setpoint / 25 .. 55ºC 2 Leaving Water Main Cooling Setpoint / 5 .. 22ºC 3 Operation Mode / 0: Auto, 1:Heating, 2:Cooling 4 Space Heating/Cooling On/Off / 0:OFF 1:ON 6 Room Thermostat Control Heating Setpoint / 12 .. 30ºC 7 Room Thermostat Control Cooling Setpoint / 15 .. 35ºC 9 Quiet Mode Operation 0:OFF 1:ON 10 DHW Reheat Setpoint / 30 .. 60ºC 12 DHW Reheat On/Off / 0:OFF 1:ON 13 DHW Booster Mode On/Off / 0:OFF 1:ON 53 Weather Dependent Mode / 0:Fixed 1: Weather Dependent 2: Fixed+Scheduled 3: Weather Dependent+Scheduled 54 Weather Dependent Mode LWT Heating Setpoint Offset / -10 .. 10ºC 55 Weather Dependent Mode LWT Cooling Setpoint Offset / -10 .. 10ºC

It works quite well.

MichaelST01 avatar May 11 '23 11:05 MichaelST01

MichaelST01 would you mind sharing how you did this over ModBus? I have almost the same setup: A Daikin Altherma 3 H HT W connected with DCOM LT/MB module. But I am only capable of reading some registers and can't find a way to control the operating mode (start/stop) or change water main heating setpoint. Only documentation I found is in the DCOM manual - perhaps you have another reference?

macla avatar May 24 '23 06:05 macla

I did it the following way: Hardware - DCOM LT/MB -> PE11 (Modbus RTU to TCP) For testing I had iobroker with modbus interface (installed as master) installed and I changed the values of the holding registers in the object tree. Why I need it is that I have Photovoltaic on the roof and I use the heatpump to power the pool (so I have to switch to fixed Temperature and set the Leaving Water Main Heating Setpoint to a higher value 45°. If I switch of the pool-heating I change the value back to weather dependent mode or I switch room heating completly off.

In the final version I use a UVR16x2 (www.ta.co.at) with a modbus RTU interface to control it. It also controls the heating circuits of the house (from the puffer).

MichaelST01 avatar May 24 '23 15:05 MichaelST01

@budulinek

Did you find any Modbus Device/Module for the "CB" Generation? I have the EHBX11CB9W and looking for an working modbus device.

peacekeeper03 avatar Jun 20 '23 10:06 peacekeeper03

@MichaelST01

I have a similar configuration: A Daikin Altherma 3 H HT W connected to a DCOM LT/IO module. I can only read some registers but not write, e.g. to change the operating mode. As a controller, the UVR16x2 connected to the CAN-BC2 including the Modbus board. Would it be possible to get the necessary files (*.dat, *.tdw)? It would help me a lot, thanks in advance. @hdm64a

hdm64a avatar Jul 11 '23 20:07 hdm64a

@hdm64a

No problem, here are the files. At the moment I switch the pool heating manually on with UVR16x2 (when it is on the Daikin changes operating mode, and sets Temperature to 43°C, when it is off it switches operating mode back). But I suppose you have a different hydraulic setup.

TDW Files.zip

MichaelST01 avatar Jul 18 '23 07:07 MichaelST01

Hello,

Thank you for the files. For me the programming of the communication Uvr16x2 <-> Dcom <-> Daikin is the most important. I will try to implement this in my hydraulic plan in the near future.

Best regards.

Jo

Are you from Germany?

 

Gesendet: Dienstag, 18. Juli 2023 um 09:06 Uhr Von: "MichaelST01" @.> An: "budulinek/arduino-altherma-controller" @.> Cc: "hdm64a" @.>, "Mention" @.> Betreff: Re: [budulinek/arduino-altherma-controller] Daikin and Modbus interface (Issue #4)

 

@hdm64a

No problem, here are the files. At the moment I switch the pool heating manually on with UVR16x2 (when it is on the Daikin changes operating mode, and sets Temperature to 43°C, when it is off it switches operating mode back). But I suppose you have a different hydraulic setup.

TDW Files.zip

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

hdm64a avatar Jul 19 '23 07:07 hdm64a

I am from Austria, that's why the comments in the files are in German :-)

MichaelST01 avatar Jul 25 '23 10:07 MichaelST01

 

Hello,

I have problems switching the WP on and off via the Modbus. How do you do that or do you know a solution. Thank you.

 

Gesendet: Dienstag, 25. Juli 2023 um 12:36 Uhr Von: "MichaelST01" @.> An: "budulinek/arduino-altherma-controller" @.> Cc: "hdm64a" @.>, "Mention" @.> Betreff: Re: [budulinek/arduino-altherma-controller] Daikin and Modbus interface (Issue #4)

 

I am from Austria, that's why the comments in the files are in German :-)

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

hdm64a avatar Aug 23 '23 22:08 hdm64a

DCOM Configuration Mode.pdf For completion, the description for the config mode. Helped me.

peacekeeper03 avatar Sep 22 '23 11:09 peacekeeper03

Thanks for the Info... I will look for the /MB version... I'm searching for a solution to query some values and switch the functions heat/cooling/water on/off. Because i want to disable the water heat function at night when the next days we have more than 8 hours of sun. But cooling should still possible, so i can't use the solarlock input. And on the other side i want only allow cooling when i have solar power or enough power in my battery's. In the past we had a Novelan/Luxtronic device and that o controlled from my linux server with a python script. The same i want to create now with the Altherma.

I have an Daikin Altherma 3 H MT W connected with the DCOM LT/MB Modul.

I can set via Modbus the following values:

1 Leaving Water Main Heating Setpoint / 25 .. 55ºC 2 Leaving Water Main Cooling Setpoint / 5 .. 22ºC 3 Operation Mode / 0: Auto, 1:Heating, 2:Cooling 4 Space Heating/Cooling On/Off / 0:OFF 1:ON 6 Room Thermostat Control Heating Setpoint / 12 .. 30ºC 7 Room Thermostat Control Cooling Setpoint / 15 .. 35ºC 9 Quiet Mode Operation 0:OFF 1:ON 10 DHW Reheat Setpoint / 30 .. 60ºC 12 DHW Reheat On/Off / 0:OFF 1:ON 13 DHW Booster Mode On/Off / 0:OFF 1:ON 53 Weather Dependent Mode / 0:Fixed 1: Weather Dependent 2: Fixed+Scheduled 3: Weather Dependent+Scheduled 54 Weather Dependent Mode LWT Heating Setpoint Offset / -10 .. 10ºC 55 Weather Dependent Mode LWT Cooling Setpoint Offset / -10 .. 10ºC

It works quite well.

Hi i got the DCOM-LT/IO and a waveshare RS485 To ETH im able to connect to the modbus but im lost in the config can you point me where to set it up?

Thanks

skydoy avatar Mar 10 '24 10:03 skydoy

Hi, i have now a Daikin HomeHub, this part replaces the DCOM and can used with Modbus RTU "or" Modbus TCP. So there i no need for a additional RS485 to ETH gateway. I have also tryed a waveshare product, but this product has the same limitation like all cheap chinese gateways. It will discard TCP payloads with more than one Modbus TCP part inside...

StefanR71 avatar Mar 10 '24 14:03 StefanR71

This Home Hub sounds very promising, but getting it seems somewhat difficult. It was introduced the end of last year. Could you share where you bought or got it from?

mkarnebeek avatar Mar 10 '24 16:03 mkarnebeek

Here in germany from our installer, he got it from his Daikin reseller "thiele & fendel".

StefanR71 avatar Mar 10 '24 16:03 StefanR71

Hi, i have now a Daikin HomeHub, this part replaces the DCOM and can used with Modbus RTU "or" Modbus TCP. So there i no need for a additional RS485 to ETH gateway. I have also tryed a waveshare product, but this product has the same limitation like all cheap chinese gateways. It will discard TCP payloads with more than one Modbus TCP part inside...

@StefanR71

I'm from France, I have ALTHERMA2 (CB version as stated above) and I'm ready to order the DCOM-LT-IO to communicate over Modbus from HA.

What "limitations" have you encountered with the cheap RTU to TCP gateways ?

Discarding TCP payloads => what is the impact in terms of controlling the unit ?

What gateway do you recommend if the limitation is an issue ?

Thanks.

adicorra avatar May 15 '24 11:05 adicorra

Hi, i have now a Daikin HomeHub, this part replaces the DCOM and can used with Modbus RTU "or" Modbus TCP. So there i no need for a additional RS485 to ETH gateway. I have also tryed a waveshare product, but this product has the same limitation like all cheap chinese gateways. It will discard TCP payloads with more than one Modbus TCP part inside...

@StefanR71

I'm from France, I have ALTHERMA2 (CB version as stated above) and I'm ready to order the DCOM-LT-IO to communicate over Modbus from HA.

What "limitations" have you encountered with the cheap RTU to TCP gateways ?

Discarding TCP payloads => what is the impact in terms of controlling the unit ?

What gateway do you recommend if the limitation is an issue ?

Thanks.

If you have troubles with cheap Chinese Modbus RTU -> TCP gateways, you can try my own Modbus RTU ⇒ Modbus TCP/UDP Gateway ;-)

Here is a tutorial and a firmware for an Arduino-based gateway. Quite reliable, works in my house for years. For your information: in my gateway, payloads are stored in a buffer, they are not discarded. Of course, if you you bombard the gateway with very frequent requests and you manage to fill the buffer, then the TCP request is discarded :-) Moreover, you can see the utilization of the buffer in the Web UI, you can also see counter for these "gateway overloaded" errors in webUI.

https://github.com/budulinek/arduino-modbus-rtu-tcp-gateway

budulinek avatar May 15 '24 12:05 budulinek

In my view you have 2 possible ways:

Don't order the DCOM-LT-IO, use the HomeHub: https://www.daikin.eu/en_us/products/product.html/EKRHH.html

When your heatpump isn't compatibe with the HomeHub, then you need to use the other part and use a gateway to modbus TCP.

The problem is the following with the gateways:

When you request the content of the registers 1,2,3 and 6 then this request will be send in 2 parts: request 3 registers starting at 1 request 1 register starting at 6

But for the second request we don't get an answer.

A workaround is to query only registers that are together at a time. Or only single registers...

StefanR71 avatar May 15 '24 12:05 StefanR71

I would of liked to go for the EKRHH but it is only compatible with the Altherma "3" and I have the Gen 2.

On what controls will I be limited since I yet did not go in details and do not know what the impact will be ? What function will work or not work ?

Whats crazy is that DAIKIN give the DCOM-LT compatible with the unit.

adicorra avatar May 15 '24 12:05 adicorra

But for the second request we don't get an answer.

Yeah, seems that cheap Chinese Modbus gateways do not have a buffer at all. My Modbus gateway stores 10 requests in a buffer.

https://github.com/budulinek/arduino-modbus-rtu-tcp-gateway

Feel free to give it a try. I do not have DCOM-LT-IO myself, but I have tested my Modbus gateway extensively.

budulinek avatar May 15 '24 12:05 budulinek

@StefanR71 I'm thinkging Unless you where using the DCOM-LT with a Gen 3 and its not fully compatible with the Gen 3.....

I received this compatiblity list from Daikin : Altherma 3 H HT split (EPRA-D) Altherma 3 R32 R Split (ERLA-D) Altherma 3 Monobloc (ED(B)LA-D) Alttherma 3 WS (EGSHA-D)

It mentions not compatible with : Altherma 3 R split (ERGA-E).

But for Gen2 it is compatible : ERLQ-C

Maybe the conclusion is that : For GEN 2 => Use the DCOM-LT (MB or IO) For GEN 3 => Use the HomeHub

adicorra avatar May 15 '24 12:05 adicorra

But for the second request we don't get an answer.

Yeah, seems that cheap Chinese Modbus gateways do not have a buffer at all. My Modbus gateway stores 10 requests in a buffer.

https://github.com/budulinek/arduino-modbus-rtu-tcp-gateway

Feel free to give it a try. I do not have DCOM-LT-IO myself, but I have tested my Modbus gateway extensively.

Do you mean it's better to use arduino without a commercial modbus gateway ?

adicorra avatar May 15 '24 12:05 adicorra

But for the second request we don't get an answer.

Yeah, seems that cheap Chinese Modbus gateways do not have a buffer at all. My Modbus gateway stores 10 requests in a buffer. https://github.com/budulinek/arduino-modbus-rtu-tcp-gateway Feel free to give it a try. I do not have DCOM-LT-IO myself, but I have tested my Modbus gateway extensively.

Do you mean it's better to use arduino without a commercial modbus gateway ?

Sure, this is what I mean. I am quite confident in my gateway - it is better than these Chinese commercial gateways.

budulinek avatar May 15 '24 12:05 budulinek

Ok, so in that case, with the GEN2 (I have the same as you, EHVX11S26CB9W (CB version) if I go for DCOM-LT-MB + your gateway all will work 100% with the HVAC ?

adicorra avatar May 15 '24 12:05 adicorra

Maybe the conclusion is that : For GEN 2 => Use the DCOM-LT (MB or IO) For GEN 3 => Use the HomeHub

Okay, then the DCOM-LT, and making a own gateway is the best choice.

I used a ESP32 to query the values via Modbus and store them in a local MQTT server on the same ESP32. This MQTT i query from my monitoring. I made also some MQTT topics to set the DHT temperature or switch the device on or off...

StefanR71 avatar May 15 '24 12:05 StefanR71