Comments (72)
For those interested,
The solution DCOM + Modbus Gateway is about the same cost as the Home Hub (EKRHH).
For Altherma 2 we have no other option as EKRHH is not compatible, so it's good news :
- DCOM-LT/IO : 320€
- Arduino Uno + Shield 2 : 54€
- MAX13487 RS485 to TTL : 11€
- Optional Case : 21€
TOTAL 406€
This is buying on stock in EU ; you can get it cheaper from Aliexpress.
from arduino-altherma-controller.
@budulinek here is a picture of the full kit installed on a DIN rail inside the indoor unit.
- 2 Power supplies (24V and 5V)
- 1 Amp fuse
- DCOM-LT
- Modbus Gateway
You can use it as you wish.
from arduino-altherma-controller.
A lot of errors? Come on...
- Your numbers show 0,5% error rate.
- Moreover, Invalid RTU Response and Response Timeout are soft errors. Once detected, new attempt (Modbus RTU request) is made. Only if all 3 attempts are unsuccessful, the gateway gives up and shows a serious error Slave Failed to Respond. See https://github.com/budulinek/arduino-modbus-rtu-tcp-gateway?tab=readme-ov-file#modbus-status
Most probable cause of these soft errors: Arduino delays in processing the response. Arduino is a single-threaded computer. I have invested a lot of effort in optimizing the code to make it non-blocking (I have even modified some of the core functions in the ethernet library). But I suspect that under certain circumstances (0,5% of cases), Arduino is not fast enough to process the Modbus RTU response. What probably happens:
- Arduino sends Modbus RTU request via RS485 (countdown for Response Timeout starts)
- Modbus RTU response arrives when Arduino is busy doing other stuf (such as servicing WebUI - remember that there is fetch API request every 2 seconds when you are viewing the "Modbus Status" page). Modbus RTU response is stored in serial in buffer, but since Arduino is busy, its arrival is not recorded by the MCU
- Arduino finishes the task which caused the delay. Only now it checks serial in buffer. But because the Response Timeout has already passed, Modbus RTU response is dropped and these two errors are recorded. Because the gateway does treat unexpected Modbus RTU responses (responses arriving after Response Timeout) as Invalid RTU Response.
- New Modbus RTU request is sent by the gateway, response is successfully received (recorded) by the gateway and forwarded to the Modbus TCP master (HA, Loxone...). No problem.
As I said, Invalid RTU Response and Response Timeout are soft (fully recoverable) errors. Treat them as warnings - no need to worry about them. Watch out for Slave Responded with Error, Gateway Overloaded and Slave Failed to Respond.
from arduino-altherma-controller.
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.
from arduino-altherma-controller.
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
from arduino-altherma-controller.
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
from arduino-altherma-controller.
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:
Issue reopened for others to see.
EDIT: Yep, 400€ ....
from arduino-altherma-controller.
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.
from arduino-altherma-controller.
hi there, do you know where I purchase the DCOM-LT/MB in the UK please? Thanks
from arduino-altherma-controller.
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.
from arduino-altherma-controller.
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?
from arduino-altherma-controller.
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).
from arduino-altherma-controller.
Did you find any Modbus Device/Module for the "CB" Generation?
I have the EHBX11CB9W and looking for an working modbus device.
from arduino-altherma-controller.
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
from arduino-altherma-controller.
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.
from arduino-altherma-controller.
from arduino-altherma-controller.
I am from Austria, that's why the comments in the files are in German :-)
from arduino-altherma-controller.
from arduino-altherma-controller.
DCOM Configuration Mode.pdf
For completion, the description for the config mode.
Helped me.
from arduino-altherma-controller.
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
from arduino-altherma-controller.
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...
from arduino-altherma-controller.
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?
from arduino-altherma-controller.
Here in germany from our installer, he got it from his Daikin reseller "thiele & fendel".
from arduino-altherma-controller.
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...
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.
from arduino-altherma-controller.
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...
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
from arduino-altherma-controller.
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...
from arduino-altherma-controller.
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.
from arduino-altherma-controller.
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.
from arduino-altherma-controller.
@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
from arduino-altherma-controller.
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 ?
from arduino-altherma-controller.
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.
from arduino-altherma-controller.
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 ?
from arduino-altherma-controller.
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...
from arduino-altherma-controller.
Did you guys see this solution ? https://raomin.github.io/ESPAltherma/
from arduino-altherma-controller.
Yes but it isn't possible so set values, it is only monitoring.
from arduino-altherma-controller.
@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
I use at the moment for GEN3 DCOM-LT
I will use in the future Homehub (already ordered) because there are more Registers for better controlling the heatpump especially if you have photovoltaic
from arduino-altherma-controller.
OK, so I'm ordering the DCOM-LT.
The price is nearly the same for the DCOM-LT/IO one. Maybe its wiser to go with this one ?
from arduino-altherma-controller.
Did you guys see this solution ? https://raomin.github.io/ESPAltherma/
Yes, I know about it (see Comparison with other solutions ).
It is a good project, well maintained. But it uses serial port of Altherma (and not the P1P2 bus), which means it can not control Altherma. Only in a very limited way (on/off through external relay).
from arduino-altherma-controller.
Thank you ! Great page. Is it easy enough to integrate yours in HA or only Loxone for now ?
from arduino-altherma-controller.
Thank you ! Great page. Is it easy enough to integrate yours in HA or only Loxone for now ?
Arduino Altherma Controller integrates easily only with Loxone. Node-RED integration also possible but more difficult. Direct integration to HA not possible.
Modbus RTU -> TCP Gateway complies with Modbus protocol specifications. Therefore, if you choose DCOM-LT + my Modbus RTU -> TCP Gateway, it should easily integrate with any Modbus TCP master (Loxone, HA, Node-RED, etc. etc.).
from arduino-altherma-controller.
OK, clear now. In that case I will need to setup the sensors and program them with MODBUS commands. No one yet did a template to collect the entities.
Since you are an expert, could you give me an example if I want to run a command from HA to stop the HVAC for example ?
From there I might be able to build a complete template.
from arduino-altherma-controller.
I know quite a bit about Modbus protocol as such.
But I have no experience with HA. Please check this HA Modbus tutorial. First you configure "connection" (TCP connection to the gateway) and then "entities" (incl. sensors, target temperature, HVAC mode etc.).
You also need to know modbus register address you want to write to (or read from). You get them from DCOM-LT reference manual.
from arduino-altherma-controller.
Since you are an expert, could you give me an example if I want to run a command from HA to stop the HVAC for example ?
And, if you build my Modbus RTU -> TCP gateway, you can also run modbus requests (commands) directly from its web interface for testing purposes. Modbus protocol is actually quite simnple. Assuming you have slave ID 0x01, according to DCOM-LT/MB manual, you can turn off HVAC ("Space Heating/Cooling") by this command:
01 06 00 04 00 00
from arduino-altherma-controller.
Thank you ! I will now order the parts to make your gateway. All of this is exciting.
For the modbus configuration actually it seems quite easy. Here you can see a setup on LG but the principle is the same : https://youtu.be/Xuj2YFZ5zME?si=MeQGxm9zRHsmm6ln
Really cool and can't wait to have it ; I have my solar inverter already running on HA with batteries and this winter will be able to automate and control the ALTHERMA HP based on solar and battery charging based on tarif.
This is much more powerful than integrated smart grid (SG) as it does not manage batteries : sometimes you want the excess to charge the batteries for example.
Last thing and not least in HA you can define strategies based on next day solar forecast, which makes it even more awesome. One I deeply recomment is SOLCAST https://solcast.com/ (free you have 10 API requests per day). I found it much more accurate than the one embedded in HA.
from arduino-altherma-controller.
I read your instructions for the arduino.
I'm new to Arduino. When it says "Download and flash my pre-compiled firmware"; do I need to configure before the Ethernet shield or all is included in your firmware, ready-to-go once flashed ?
To flash it, I guess its from IDE ?
thanks,
from arduino-altherma-controller.
I read your instructions for the arduino. I'm new to Arduino. When it says "Download and flash my pre-compiled firmware"; do I need to configure before the Ethernet shield or all is included in your firmware, ready-to-go once flashed ? To flash it, I guess its from IDE ?
thanks,
I think it is better to compile your own firmware. Download github repo, open arduino-modbus-rtu-tcp-gateway.ino in Arduino IDE. In Arduino IDE, open library manager and install "CircularBuffer" and "StreamLib" libraries. Connect Arduino, select board and port. Then hit Ctrl+U (comnpile and upload). No need to configure ethernet shield, default settings will apply and your Arduino should be available on 192.168.1.254
from arduino-altherma-controller.
Thank you for the info. I will use this KKSB case to have a complete module.
https://kksb-cases.com/cdn/shop/products/DSC02079_800x544.jpg?v=1669881064
TTL card can go inside also.
What's great is that the case has a DIN rail adapter.
So you can put side by side on the rail, the DCOM-LT and your module.
I saw on the drawing it's better to use a direct 5V power supply and not use the USB or existing DC.
from arduino-altherma-controller.
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
Hi, I decided to do my project on the Arduino custom gateway, but are you sure this module from Waveshare cannot handle more than one Modbus TCP part inside ? https://www.welectron.com/Waveshare-RS232-485-TO-ETH.
The product is more expensive than the cheaper 23273 https://eu.robotshop.com/fr/products/industrial-serial-server-rs485-to-rj45-ethernet-tcp-ip-to-serial-rail-mount-poe
from arduino-altherma-controller.
@budulinek
I read your instructions for the arduino. I'm new to Arduino. When it says "Download and flash my pre-compiled firmware"; do I need to configure before the Ethernet shield or all is included in your firmware, ready-to-go once flashed ? To flash it, I guess its from IDE ?
thanks,I think it is better to compile your own firmware. Download github repo, open arduino-modbus-rtu-tcp-gateway.ino in Arduino IDE. In Arduino IDE, open library manager and install "CircularBuffer" and "StreamLib" libraries. Connect Arduino, select board and port. Then hit Ctrl+U (comnpile and upload). No need to configure ethernet shield, default settings will apply and your Arduino should be available on 192.168.1.254
Got the Arduino working ; really straightforward and simple !
Since my network is on 192.168.0.X I had to connect it to a laptop with a direct IP to change the IP through the webinterface.
For next time, eg if I have to update one day, is their a way to change the default IP in the ino files ?
Thanks again Mate !
from arduino-altherma-controller.
@StefanR71 Hi, I decided to do my project on the Arduino custom gateway, but are you sure this module from Waveshare cannot handle more than one Modbus TCP part inside ? https://www.welectron.com/Waveshare-RS232-485-TO-ETH. The product is more expensive than the cheaper 23273 https://eu.robotshop.com/fr/products/industrial-serial-server-rs485-to-rj45-ethernet-tcp-ip-to-serial-rail-mount-poe
The last one i have, i also tryed one from USR IOT and contacted the support, all have the same problem...
from arduino-altherma-controller.
Just to share the results with Budulinek's Mdbus TCP gateway. Works great, amazing solution!
Attached picture of the hardware with the KKSB case (TTL converter fits inside no problem).
Bottom right, you can see the customized (direct 5V power supply jack) - not using the jack on the Arduino.
@budulinek One thing you should mention on your gateway's page is to highlight this risk that some TTL adapter manufacturers invert TX and RX ! I lost 3h of investigation because of this !! My card is DSD TECH SH-U12 https://www.amazon.fr/dp/B07B667STP?ref=ppx_pop_mob_ap_share
from arduino-altherma-controller.
@adicorra thanks for the feedback! I am always happy to hear that it works :-)
- No need to change the default IP. Once you change IP in webUI, it is saved in EEPROM. And EEPROM data are retained during minor firmware update (i.e. when you compile and upload new firmware to Arduino, your user settings are retained). I only erase EEPROM data when I need to change its structure, you will notice that major version will change (currently 7.x). But if you want, you can change default IP in advanced_settings.h
- Thanks for the feedback regarding inverted TX and RX!! Actually you are not the first one with this problem, I will definitely update README to alert users.
- @StefanR71 yes, I have also heard that USR-IOT have same problems. USR-IOT and Waweshare haver similar webUI, maybe they share code? BTW I have studied USR-IOT functionality and drew inspiration from their webUI. So credits to them :-)
- @adicorra Could you please confirm that issues mentioned by Stefan are solved with my gateway?
from arduino-altherma-controller.
Thanks for your recap. Yes, I can confirm everything is working perefectly. I didn't experience the issues with the other commercial gateways since I didn't test them, but if @StefanR71 tells me exactly what register (on the Altherma) doesn't work because of the multiple parts inside the data packet , then I can test it live and confirm.
from arduino-altherma-controller.
@budulinek, regarding the default IP, can you please confirm because I recall to have changed it and reflashed but didn't seem to take into account (I mean before going in the WebUI). This is important as the gateway will be in the unit casing and don't want to unwire just to change the IP one day. Ideally can we get another IP adress at boot without going through the WebUI ?
Did I do this correctly ? In yellow the values I changed (here they are as default of course)
from arduino-altherma-controller.
@adicorra Yes, this is where you change the default IP. You can also see the default static IP on the "Tools" page in web UI. And you can test your default IP by clicking "Load Default Settings". The button will erase your EEPROM (only MAC address is retained) and default settings from advanced_settings.h will be apllied (incl. your default IP) .
BTW can I use the picture of your hardware (with the KKSB case) in my my readme?
from arduino-altherma-controller.
Yes you can, with pleasure.
from arduino-altherma-controller.
Update : this morning I had just setup 2 input sensors that worked fine and supplied me with the water temp.
I tried to control the cooling today and it takes it (relay 1 goes on) and the remotcon led goes green but the PUMP does not start. I checked the min outside temperature thinking it was reset and the value is correct.
I don't know whats going on.
Also, if I change the "Room Cooling Setpoint" the value on the remotcon doesn't change. Weird.
I sent commands over the gateway such as 01 06 00 07 00 15
from arduino-altherma-controller.
Found the issue ! Before I had the LAN adpater and when I removed it (because its not compatible with a Remotcon + DCOM), my room thermostat switched to "At Unit" in [A.2.1.B] - Once switched back to "In Room" as it should be (thermostat) then all came back as before and HP working now with Climate Entities from HA.
from arduino-altherma-controller.
A lot of invalid RTU responsed (in just 12h hours). What are these coming from ?
My RS485 card is working fine, no errors reported by the HP.
from arduino-altherma-controller.
No problem, I was anticipating your answer that it is not an issue since I mentioned not to have errors. I was just curious to understand from where these "dropped communications" could come from and I think you have a given a clear analysis. Your project is so good that it even tracks such "missed paquets". I really appreciate what you have done on optimizing the code. A nice project in the end. Did you consider industrializing it in a complete package ?
from arduino-altherma-controller.
Hi @budulinek
How do we disable this if we have hardware flow control ?
#define RS485_CONTROL_PIN 6
Do we just "delete" the line?
PS : im facing issues with the arduino not accessible when it starts (I havent identified why yet).
from arduino-altherma-controller.
@StefanR71 Arduino ethernet is just crap, not industrial and not stable. Going with this, industrial and works perfectly ! https://www.pusr.com/products/din-rail-rs485-serial-to-ethernet-converter-usr-dr302.html
from arduino-altherma-controller.
@StefanR71 Arduino ethernet is just crap, not industrial and not stable. Going with this, industrial and works perfectly ! https://www.pusr.com/products/din-rail-rs485-serial-to-ethernet-converter-usr-dr302.html
Yes it is working, when you query only single registers or registers that are directly following. But when you query multiple registers like 2, 8, 30 then it isn't working you will receive only the answer for the first register. I was in touch with the support and they told me this is an issue.
from arduino-altherma-controller.
This is not an issue to control the Altherma,
from arduino-altherma-controller.
This is not an issue to control the Altherma,
It is an problem when you query the following registers in one query:
Input registers: 29, 30, 34, 36, 37, 39, 40, 41, 42, 43, 44, 48, 51, 52
Holding registers: 0, 1, 2, 3, 9, 11
When i send this directly to the HomeHub via Modbus TCP i'm getting an answer. But when the HomeHub is in RTU mode and i use the USR IOT gateway i'm gettig a timeout, because the gateway don't understand multiple Modbus packets in one TCP packet.
So query single registers is a workaround to get this working but the behavior of the gateway isn't correct.
from arduino-altherma-controller.
Ok, but what devices do such multiple requests ? I don’t think HA does this nor the Fibaro app.
I will test the commercial one and let you know. The fact that Arduino is some sort of « lego » board is a big issue, not reliable, no electrostatic standards, ETH is not reliable, so many drawbacks. Sometimes you start it and nothing.
from arduino-altherma-controller.
I don't know i have written my onwn monitoring and i was using this to query a Modbus device: https://github.com/favalex/modbus-cli
Here i have created a register file:
reg_pumpe i@29:einaus
reg_verdichter i@30:einaus
reg_durchfluss i@48
reg_dreiwege i@36:dreiwege
reg_hk_mode_ist i@37:betrieb
reg_aussentemperatur i@43
reg_warmwasser i@51:status
reg_raumheizung i@52:status
reg_vorlauf_phe i@39
reg_vorlauf_buh i@40
reg_rucklauf i@41
reg_ist_warmwasser i@42
reg_kaeltemittel i@44
reg_soll_heizen h@0
reg_soll_kuehlen h@1
reg_hk_mode h@2:betrieb
reg_hk_status h@3:einaus
reg_soll_warmwasser h@9
reg_ww_status h@11:einaus
:einaus
0=aus
1=ein
:dreiwege
0=raumheizung
1=brauchwasser
:betrieb
0=auto
1=heizen
2=kuehlen
:status
0=untaetig
1=betrieb
And then i query:
modbus -s 1 -r /haus/heizung/register 192.168.77.82:502 reg*
And get all the values in one batch:
reg_soll_heizen: 42 0x2a
reg_soll_kuehlen: 18 0x12
reg_hk_mode: 1 0x1 heizen
reg_hk_status: 1 0x1 ein
reg_soll_warmwasser: 50 0x32
reg_ww_status: 1 0x1 ein
reg_pumpe: 1 0x1 ein
reg_verdichter: 1 0x1 ein
reg_abtauen: 0 0x0 aus
reg_dreiwege: 1 0x1 brauchwasser
reg_hk_mode_ist: 1 0x1 heizen
reg_vorlauf_phe: 4670 0x123e
reg_vorlauf_buh: 4660 0x1234
reg_rucklauf: 4180 0x1054
reg_ist_warmwasser: 4480 0x1180
reg_aussentemperatur: 440 0x1b8
reg_kaeltemittel: 3800 0xed8
reg_durchfluss: 2820 0xb04
reg_warmwasser: 1 0x1 betrieb
reg_raumheizung: 1 0x1 betrieb
When i'm doing the same with the USR IOT or Waveshare gateway i'm getting only:
reg_soll_heizen: 42 0x2a
reg_soll_kuehlen: 18 0x12
reg_hk_mode: 1 0x1 heizen.
reg_hk_status: 1 0x1 ein
TimeoutError: timed out
I'm using here for my programs a ESP32 WROOM board, this is running very stable, i have no problems with that device. But how stable a device is, is also depending on the librarys you are using. Some have memory leaks, then it is worth to search for other version and test again...
And i think such devices as USR IOT or Waveshare are using Chips like a ESP32 too... So it depends only on the program and librarys you are using if a device is stable or not.
from arduino-altherma-controller.
@StefanR71 Arduino ethernet is just crap, not industrial and not stable. Going with this, industrial and works perfectly ! https://www.pusr.com/products/din-rail-rs485-serial-to-ethernet-converter-usr-dr302.html
The Wiznet W5x00 chips are good chips. The Ethernet.h library has some minor flaws, but otherwise works well. I have several Arduino + W5x00 solutions running for years without problems. In my opinion, the problem is a poor design of some Arduino ethernet shield. I am not a HW guy, but I think the issue is linked to how RST pin of the W5x00 chip is triggered:
Most W5x00 shields have the W5x00's RST pin hard wired to Arduino's RST. Usually it works well, but sometimes the W5x00 is not reset correctly during (re)start (I blame poor shield design, missing capacitor on the RST pin). As a result, the reset signal (pull down on the RST pin) may come too early, or it is too short to trigger reset of the W5x00 chip.
Best W5x00 shields have the W5x00's RST pin hard wired to a dedicated pin (rather than Arduino's RST). I have Nano W5500 shield (unfortunately no longer in production) which has RST on pin 7. This is excellent solution because then I can reset the W5x00 programatically. Once Arduino starts, I pull down pin 7 for a while to reset W5x00 and then I continue calling the Ethernet library. ETH_RESET_PIN can be configured in advanced_settings.h. Check your ethernet shield, maybe you also have RST on a dedicated pin.
If you still want to give Arduino the chance, you may try a "bypass" solution:
- On the ethernet shield bend the RST pin (so that it is disconnected from Arduino RST) and wire it to PIN 7 on the ethernet shield, creating a "bypass". From now on, W5x00 will be reset programatically - better solution than through the Arduino RST pin.
- On the Arduino shield, there is also second RST pin in the ICSP connector. Bend it to the side so that it does not connect to the ethernet shield.
from arduino-altherma-controller.
I have some issues connecting my Home Hub with the Altherma 3 R F unit.
According to the installers reference guide, there should be a Daikin HomeHub menu entry in the Installer Settings menu. This doesn't show up. I do have a Daikin Home Controls option in the main menu, but that seems unrelated.
The Home Hub is unresponsive to Modbus RTU and over TCP it responds with 32k values for all registers. I think the Home Hub didn't pair correctly with the indoor unit.
Indoor unit: EHVX08S23EJ6V
Outdoor unit: ERGA08EAV3H
Unit interface software: V07.04.00
Unit interface micon ID: ID20010E0A
Micon ID inside: ID0222
I measured 15-16 volts on the P1P2 wires at the Home Hub, also when disconnected from the Home Hub, so the wiring seems to be in order.
Anybody any experience to share, or hints for me to get it working?
from arduino-altherma-controller.
I thik you must call the Daikin service to install the current software.
See here in the compatibility: https://www.daikin.de/content/dam/document-library/Installer-reference-guide/heat/accessories/ekrhh/EKRHH_Installer%20reference%20guide_4PEN744838-1C_English.pdf
You need the MicronID 0223 and software v7.3.0.
from arduino-altherma-controller.
Ah, I was confusing it with the "Interface Micon ID" which is ID20010E0A in my system, which seemed higher than the long version listed there ("Hydro SW version").
Searching for a bit, it looks like this isn't for me to be able to do (looks like they are directly flashing the board). I'm hoping an installer can perform it, or otherwise i'll just have to get Daikin to do it.
from arduino-altherma-controller.
adicorra where abouts did you pick up the DCOM unit for 320€?
Thanks
from arduino-altherma-controller.
Related Issues (3)
- Can't compile HOT 4
- Date Reset HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from arduino-altherma-controller.