-
-
Notifications
You must be signed in to change notification settings - Fork 113
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Community post] Show your ESPAltherma! #17
Comments
Model and option
PCB / ESP32Monitoring & Control
Any other info
|
Model and option
PCB / ESP32
Monitoring and control
With support from the ioBroker community I have built a script that derives data objects from the JSON string. With these objects I can do calculations such as thermal power, electrical power and COP. |
All fine except you should use the „Leaving water temp. before BUH(R1T)“. So you can monitor the COP while heating DHW too.
And: The Voltage 250V is a bit high! Best is you take the „Voltage (N-phase) (V)“ for calculation (about 230V).
… Am 23.01.2021 um 17:45 schrieb Raomin ***@***.***>:
Good idea! We have indeed everything we need for the COP.
I've just added it to mine.
Do you confirm the formula?
((state_attr('sensor.altherma','Flow sensor (l/min)')| float * 0.06 * 1.16 * (state_attr('sensor.altherma','Leaving water temp. after BUH (R2T)') | float - state_attr('sensor.altherma','Inlet water temp.(R4T)')|float) )
/
(state_attr('sensor.altherma','INV primary current (A)') | float * 250 / 1000))
I'll add it to the readme.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
Guys, this is awesome. I hope I will get so far one day... Mine want to be OpenHAB with Meteostick. Waiting for the parts now. |
Fine! |
Hi, My „Voltage (N-phase) (V)“ is always 0.00000 I dont know why? I rewrite the COP sensor fix 228 value but sensor is still unavailable, log said: TemplateError('ZeroDivisionError: float division by zero') while processing template 'Template("{{ ((state_attr('sensor.althermasensors','Flow sensor (l/min)')| float * 0.06 * 1.16 * (state_attr('sensor.althermasensors','Leaving water temp. before BUH (R1T)') | float - state_attr('sensor.althermasensors','Inlet water temp.(R4T)')|float) ) / (state_attr('sensor.altherma','INV primary current (A)') | float * 228 / 1000)) |round(2) }}")' for attribute '_state' in entity 'sensor.espaltherma_cop' |
First, my sensor is called You changed most of them but the 'INV primary current (A)' one is still sensor.altherma in your formula. If it's not this, there are 2 possible definitions for „Voltage (N-phase) (V)“ 0x21,2,101,2 and 0x21,4,101,2. You can try with the one you are not using now. Second, 'INV primary current (A)' is 0 when the heat pump is not heating. To avoid ZeroDivisionError when the heat pump is off you can extend the formula like this: {% if is_state_attr('sensor.althermasensors','Operation Mode', 'Heating') and is_state_attr('sensor.althermasensors','Freeze Protection', 'OFF') %}
{{
((state_attr('sensor.althermasensors','Flow sensor (l/min)')| float * 0.06 * 1.16 * (state_attr('sensor.althermasensors','Leaving water temp. before BUH (R1T)') | float - state_attr('sensor.althermasensors','Inlet water temp.(R4T)')|float) )
/
(state_attr('sensor.althermasensors','INV primary current (A)') | float * state_attr('sensor.althermasensors','Voltage (N-phase) (V)')|float / 1000))
|round(2)
}}
{% else %} 0 {%endif%} Like this, the formula will be calculated only when
I'm not sure what you are after but Google translated it as electric and thermal performance. -- |
Hi @pengemetal
COP is just: thermal / electrical |
Hi Guys, Thank you for all of your help. I changed Voltage to 0x21,2,101,2 and it is working! But it is interesting values are between 110-117 V. I have not rewritten the if parameter yet, I used the original code. |
It depends on the country you live!? |
You'll have this negative value when your heat pump is defrosting. It warms up the exchanger, hence giving a very negative heating performance...! |
I live in Hungary, 220V thats why it is interesting :) (I wrote 2 * in the code) |
If this value is changing overtime it's probably not the right register, you are looking at the In your case (like in every other except one), Voltage (N-phase) (V) should be in 0x21,4,101,2. Now if you have 0 maybe you have no or broken sensor (what is your model?). Anyway, if your electricity is of decent quality, it should be fairly stable and you can replace it in the formula as you did. -- |
ERLQ011CV3 outdoor EHBX11CB3V indoor |
Model and option board type: M5StickC ESP32 PICO Monitoring / control Describe the solution components (Home Assistant, ioBroker, Graphana etc.) Any other info location, contact information (optional) Request: the option for a fixed IP address |
Nice work @TingBrouwer. Impressive nodered graph...! |
Hi, first of all, thanx for your great effort! So far it's working great. Request: The option to force a reboot using MQTT. Today ESPAltherma lost the serial connection, the log showed timeouts. I disconnected / reconnected the ESP and it came back online :) |
Hi @rtenklooster, Welcome in the community! For HA, do not declare manually, it's better to get mqtt discovery to work :) discovery: And check HA logs, it should tell about the The disconnection is a weird behaviour. I doubt that restarting the ESP would have been enough... -- |
First of all GREAT work raomin. Thank you very much. I'm using Home Assistant Core and love to be in full control of my software by not using hassio ;-) For those of you also not wanting any autodiscovery messing up your structured HA config here is how you configure the Sensor showing LWT state as state_topic:
Sensor showing whatever attribute you want as state_topic with value_template.
Oh, very important, if you want to extract single attributes for graphs etc. most of them are like this:
Live Example:
I don't use the relay function as I combined ESPAltherma with a Zennio Klic_DA to control the unit via KNX, but
|
I also forgot to mention that I'm using the below listed board and had to lower Baudrate to I think 115200 or even lower (don't remember correctly) to get a connection established and having the board accepting the firmware upload.
|
Again, great work @raomin !! Connected all 5 pins with dupont wire Used several wires to extend and to place ESP outside the case Temporary connection, need to fix it somewhere. No fancy lovelace dashboards yet :) |
I haven't installed ESPAltherma on a board. However I have an EHBH08CB3V heat pump, and I'm working on a project to create a Python library and monitoring tools for this and other Daikin heat pumps. I started to painstakingly reverse-engineer the locations and types of variables in the serial port messages, but then discovered that you have already decoded them all, amazing! So I wrote some Python code to parse the ESPAltherma C definition files and output Python code. I also plan to distribute some of those definition files, unmodified (attribution intact), as part of that project, as permitted by the MIT License. So, many many thanks for your massive reverse-engineering effort @raomin, which will save me many hours of work! |
Hi @qris, nice to see my work on this project can help others :) |
@raomin thank you! The one thing that would be nice to have, but definitely not essential, is the variable number given to each variable in D-Checker. You can see them in the column headings of the D-Checker CSV export. For example, O/U MPU ID (xx) is number 19. I have been using these numbers as array indexes, and because the ESPAltherma definitions don't have them, I've had to create a synthetic ID from the definition files instead (page.offset.convid). I don't mean to ask you to do any significant work, but if you had these variable numbers available and simply didn't put them into the header file because espaltherma doesn't need them, then I would find them useful, thank you :) |
No way. It works :). I have EHVH08S26C9W. Connected one of my spare ESP32 to the serial port and I am getting readings. First thing I done is to buy you a beer. Well deserved! I ordered M5StickC ESP32 and will replace it with that one and put inside the unit. Currently I put dupont connector to serial pins and extended it with UTP cable outside the unit where I put my ESP32. Got some additional questions on how to proceed if you cen help me:
Thank you for support and this great project. Never knew I have all parts already at home that will allow me to read from my Daikin. |
„WW-Bereitungen“ and „Abtauprozesse“ can be calculated by counting the DHW and Defrost events indicated by ESPAltherma. „Verdichter Starts“ can be calculated by counting the events where the compressor frequency changes from zero to any positive value. |
@KalaNagHTD thanks, but where is the DHW event indicated? Which attribute of ESPaltherma do you use? |
You could use 0x10,0,217,1 Operation Mode --> "Heating + DHW" or 0x60,12,306,1 3way valve(On:DHW_Off:Space) --> "ON". |
Hi. |
Hi all, first I want to thank all contributors to this project, above all @raomin for ESPAltherma and @javimurcia for X85A support. My heat pump is a Daikin EHBH08E9W (8kWh, LT) with a Daikin ERGA08EVA outdoor unit. This units don't have modbus. I started my ESPAltherma heat pump "upgrade" with an ESP-32 development board but changed after half a year to a 4-relay-board to control energy levels using X85A port. The relay-board was delivered with an ESP-12F instead of an ordered ESP-32. Nevertheless I got it working and now I can read all important values of my heat pump and can limit the power consumption of the heat pump to 4 predefined levels (using the appropriate SG feature). The on/off switching of the heat pump and the control of two zone valves for two independent heating circuits (2 floors) are done by room thermostats and a Siemens Logo with additional wifi switches to overrule the thermostats if necessary (e.g. to automatically switch the heat pump on when there is solar power available). The heating is mainly done by radiators (yes it works well, if radiators are large enough!), there is only one underfloor heating in a bathroom. The main functions of the overall system (heat pump, hot water from solar thermal energy or heat pump, photovoltaics, etc.) are controlled by hardware but wider possibilities can be controlled by my ioBroker smarthome system. But now some pictures:
|
Bye the way: X85A connector and X10A connector were ordered by Conrad. You get single peaces there: X85A (wrong picture): Pins for X85A: X10A: Pins for X10A: Order enough pins, crimping the contacts is a nightmare. |
Hi. The default one was "Outdoor air temp." and in espaltherma it reported the same temp shown on the display. For example yesterday morning "Outdoor air temp." was 15°C (correct), while "Outdoor Ambient or Ext Sensor" was 9°C (they are near at the moment). On the PDC display I configured to use the external sensor, and value on display is aligned (few decimal of difference) with the internal, the wrong reading comes only from espaltherma. Is someone using the external sensor? |
I'm using the external sensor too, I tried loads of values to see if they came out correctly, but couldn't find one, I gave up. |
Thanks for your feedback, so I'll not invest more time in this. |
Are you using the original (read: expensive) Daikin sensor, or are there 3rd party devices that can be used also? |
I installed it because of that, reading were influenced by fan activity. |
Sorry, I didn't understand. |
Sorry. Wrong thread, open an issue to get help. |
I have good results with an ASTRA br4g8al (you can buy on Aliexpress) It has 4 relays, so SG functions are there ;) Two important modifications in the config (setup.h):
And in platformio.ini:
Converting to ESPAltherma is simple;
|
@sanderpleijers That's looks like a very nice device and a perfect candidate for EspAltherma indeed! |
Ive raised this as #390 as i also just get a reading of 128 on this register |
Hi, I have the same model as you, |
Daikin Altherma EDHQ16BB6W1 with 8 pin Used M5Sticks Plus 2 powered by the 5v pin of the 8 pin connector Used the My HA attributes are as follow (didn't knew for sure which ones were available, so used common sense to uncomment the ones I felt could be supported. Seems will need to exclude some: My final setup looks like this: Now off to create some templates and buy a coffee to our lead mentor @raomin |
Daikin Altherma EHVX08S26CB (2nd Generation, installed 2015) I have bunch of Wemos D1 (ESP8266 chip) boards lying around. I uploaded the software with ALTHERMA(LT_CA_CB_04-08KW).h I initially checked with MQTT Explorer that data started to flow, then I had some fiddling with HA since automatically sensor Entity ID became "sensor.none_althermasensors". Probably need to uncomment some more parameters to get correct COP value |
Thanks a lot to Raomin for the work on EspAltherma. It runs for me quite nicely together with HomeAssistant for an Altherma 3 H HT. As I was not happy with the dupont pins on the connector pins, here a ready to use Adapter cable which fits on the Daikin Connector (JST EH) and with dupont connectors for the M5Stick. In addition I am using the dual realy from M5Stack which can be easily connected to the M5Stick. |
@my-SmarthomeGmx Are you sure that the link to taja-elektronik.de is correct? It seems to me that this adapter has female pins, but the M5Stick requires male pins. I'm currently looking for the right cable to connect a Daikin Altherma 3 H MT ECH2O to a M5StickC Plus 2. |
Yes, the adapter in the link has unfortunately only female dupont connectors on the m5Stick side. (I was not able to find one with a 5pin JST EH on one side and with male dupont pins on the other side. (If you do find, please paste a link). But it can anyway properly connected to the M5Stick using single male/male "Stift" connectors (similar to picture below). This is what I used . You just need to make sure that the stift connector pins are long on both sides to fit well in the dupont female connectors. |
As you say they are thermistors. |
thank you for sharing. I like the plugged-in ESP - mine is wired and outside btw. How realistic are the COP-Values you calculated? On your picture is 13, what could be some kind of peak. I have tried nearly every code for calculating COP on my ETSX12P50EF I found. Unfortunatly none was nearly realistic, because I have to use INV-Current Value and cannot measure consumption directly. I would expect a COP something between 2 an 5 depending on the heating mode. ( I use this code, PHASE A Voltage is from my PV-Meter: |
Congratulations, the plug-in version is a great idea and looks really professional. |
ESPAltherma Community post!
Please post in this issue a small description of your installation with ESPAltherma.
PLEASE DO NOT USE THIS PAGE TO REPORT ISSUE
If you have a real problem with your ESPAltherma, please open a new issue.
Each post should contain the following information:
Model and option
View of your PCB / ESP32
just copy a picture and paste it
Monitoring / control
just copy a picture and paste it
Any other info
The text was updated successfully, but these errors were encountered: