openhab / openhab-addons

Add-ons for openHAB
https://www.openhab.org/
Eclipse Public License 2.0
1.86k stars 3.56k forks source link

[modbus.stiebeleltron] missing values for „Energy Management“ and „Cooling" #12773

Open rayb67 opened 2 years ago

rayb67 commented 2 years ago

My environment:

I plan to use the binding to control the "heat pump" depend on the power of my „photovoltaic“ solution. Therefore I need the „Energy Management“ information/control. In deed, the cooling information does not belong to energy management, but I miss them too.

I add a link from Stieble ELTRON with more technical details of the modbus TCP extension of the ISG. Furthermore a txt file (isg.txt), which is a snapshot of my ISG web page and some screen shots ;-)

INFO - SYSTEM - COOLING
"ACTUAL TEMPERATURE AREA"
"SET TEMPERATURE AREA"
INFO - SYSTEM - SOURCE
"SOURCE TEMPERATURE"
"SOURCE PRESSURE"

INFO - HEAT PUMP 
"VD COOLING"

SETTINGS - COOLING
„COOLING“

SETTINGS - ENERGY MANAGMENT
"SG READY ENABLED"
"SG READY INPUT“
"Heating Buffer“
"UPPER ROMM/BUFFER TEMP. HC1“
"UPEER SET DHW TEMP."

https://www.stiebel-eltron.de/content/dam/ste/cdbassets/current/bedienungs-_u_installationsanleitungen/modbus_tcp_ip_installationmanual_doc-00067760.pdf

ISG.txt

settings-cooling info-heatpump info-system settings-energymanagement
openhab-bot commented 2 years ago

This issue has been mentioned on openHAB Community. There might be relevant details there:

https://community.openhab.org/t/consumption-optimization-of-the-solar-power-sg-ready-board-necessary/113793/8

mtb77 commented 1 year ago

@pail23 Since my heat pump had just failed because the pump had too little power, I saw that the following value is also missing: Flow Rate (521 VOLUMENSTROM) https://www.stiebel-eltron.de/content/dam/ste/cdbassets/historic/bedienungs-_u_installationsanleitungen/ISG_Modbus__ed049b5c-79e9-4efa-a99c-7532a657e54a.pdf

Is it correct, that in https://github.com/openhab/openhab-addons/blob/main/bundles/org.openhab.binding.modbus.stiebeleltron/src/main/java/org/openhab/binding/modbus/stiebeleltron/internal/parser/SystemInfromationBlockParser.java (BTW there is a typo within the Class Name)

we need to add something like block.flowRate = extractInt16(raw, 22, (short) 0); ? Is this the correct address?

Thanks,

Sascha

tb4jc commented 1 year ago

I'm currently enhancing the Stiebel Eltron ISG add-on. I added new things to it:

I would appreciate, if somebody could test the new add-on version. I share two versions 3.4.2 and 4.0.0-snapshot for testing via OneDrive (hopefully that's ok, link valid till end of April 2023). https://1drv.ms/u/s!AsoLHChjI3wLtxFBcwSnCpEghj0N?e=JJp4tJ

Please report, if there are things to fix or change.

openhab-bot commented 1 year ago

This issue has been mentioned on openHAB Community. There might be relevant details there:

https://community.openhab.org/t/contribution-to-openhab-addon-stiebel-eltron-isg-how/139148/9

rayb67 commented 1 year ago

Hi Thomas, I check with a openhab 4.0.0 Build #3297 the new version you provide.

My first check was to add the Things with the defaults. Then I use file based configuration. However, I am not able to activate "Stiebel Eltron ISG+ SG Ready Version 1".

things

Status now

INFO - SYSTEM - COOLING
"ACTUAL TEMPERATURE AREA" **> visible (DONE)**
"SET TEMPERATURE AREA" **> visible**, until now idid not check to change the setting.
INFO - SYSTEM - SOURCE
"SOURCE TEMPERATURE" **> visible (DONE)**
"SOURCE PRESSURE" **> visible (DONE)**

INFO - HEAT PUMP 
"VD COOLING" **> visible** I can see 0 which is ok, because of the heat pump got a reset in November and i can check that a few month later ;-)

SETTINGS - COOLING
„COOLING“ **> open** i can not finde the / a right item

SETTINGS - ENERGY MANAGMENT
"SG READY ENABLED" **> OK** (this in importan)
"SG READY INPUT“ > open - can't find a item
"Heating Buffer“ > open - can't find a item
"UPPER ROMM/BUFFER TEMP. HC1“ > open - can't find a item
"UPEER SET DHW TEMP." > open - can't find a item

I assume, because I can't use the "Stiebel Eltron ISG+ SG Ready Version 1", an assume the missing "Energy Settings" belongs to that thing. If I enable it, the status is flipping between "green + red" . I add the corresponding logs .

openhab.log

2023-03-10 18:07:56.082 [WARN ] [rt.modbus.internal.ModbusManagerImpl] - Try 1 out of 3 failed when executing request (ModbusReadRequestBlueprint [slaveId=1, functionCode=READ_MULTIPLE_REGISTERS, start=5000, length=2, maxTries=3]). Will try again soon. Error was: net.wimpi.modbus.ModbusSlaveException Error Code = 2 [operation ID 37990c9a-700d-48a9-a106-1702d3cc4cd5]
2023-03-10 18:07:56.147 [WARN ] [rt.modbus.internal.ModbusManagerImpl] - Try 2 out of 3 failed when executing request (ModbusReadRequestBlueprint [slaveId=1, functionCode=READ_MULTIPLE_REGISTERS, start=5000, length=2, maxTries=3]). Will try again soon. Error was: net.wimpi.modbus.ModbusSlaveException Error Code = 2 [operation ID 37990c9a-700d-48a9-a106-1702d3cc4cd5]
2023-03-10 18:07:56.212 [ERROR] [rt.modbus.internal.ModbusManagerImpl] - Last try 3 failed when executing request (ModbusReadRequestBlueprint [slaveId=1, functionCode=READ_MULTIPLE_REGISTERS, start=5000, length=2, maxTries=3]). Aborting. Error was: net.wimpi.modbus.ModbusSlaveException Error Code = 2 [operation ID 37990c9a-700d-48a9-a106-1702d3cc4cd5]

events.log

[2023-03-10 18:08:40.499 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'modbus:stiebeleltron-isgplus-sgready-v1:bridge:d2edf53b10' changed from OFFLINE (COMMUNICATION_ERROR): Error with read: org.openhab.core.io.transport.modbus.internal.ModbusSlaveErrorResponseExceptionImpl: Slave responded with error=2 (ILLEGAL_DATA_ACCESS) to ONLINE
2023-03-10 18:08:42.489 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'modbus:stiebeleltron-isgplus-sgready-v1:bridge:d2edf53b10' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Error with read: org.openhab.core.io.transport.modbus.internal.ModbusSlaveErrorResponseExceptionImpl: Slave responded with error=2 (ILLEGAL_DATA_ACCESS)
2023-03-10 18:08:45.511 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'modbus:stiebeleltron-isgplus-sgready-v1:bridge:d2edf53b10' changed from OFFLINE (COMMUNICATION_ERROR): Error with read: org.openhab.core.io.transport.modbus.internal.ModbusSlaveErrorResponseExceptionImpl: Slave responded with error=2 (ILLEGAL_DATA_ACCESS) to ONLINE
2023-03-10 18:08:47.631 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'modbus:stiebeleltron-isgplus-sgready-v1:bridge:d2edf53b10' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Error with read: org.openhab.core.io.transport.modbus.internal.ModbusSlaveErrorResponseExceptionImpl: Slave responded with error=2 (ILLEGAL_DATA_ACCESS)
2023-03-10 18:08:50.524 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'modbus:stiebeleltron-isgplus-sgready-v1:bridge:d2edf53b10' changed from OFFLINE (COMMUNICATION_ERROR): Error with read: org.openhab.core.io.transport.modbus.internal.ModbusSlaveErrorResponseExceptionImpl: Slave responded with error=2 (ILLEGAL_DATA_ACCESS) to ONLINE
2023-03-10 18:08:52.782 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'modbus:stiebeleltron-isgplus-sgready-v1:bridge:d2edf53b10' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Error with read: org.openhab.core.io.transport.modbus.internal.ModbusSlaveErrorResponseExceptionImpl: Slave responded with error=2 (ILLEGAL_DATA_ACCESS)

Thank you very much for this improvement. I am happy to support you with further test.

Best regards Ralf

rayb67 commented 1 year ago

Hi Thomas, I made another test. I remove/purge the installation. Installed openhab 4.0.0 again and copy my things file and items file into the rights folder.

fresh-install-items-ggReady-V1

The things are ok, but I still receive faults in events.log and openhab.org.

2023-03-10 23:57:11.114 [WARN ] [rt.modbus.internal.ModbusManagerImpl] - Try 1 out of 3 failed when executing request (ModbusReadRequestBlueprint [slaveId=1, functionCode=READ_MULTIPLE_REGISTERS, start=5000, length=2, maxTries=3]). Will try again soon. Error was: net.wimpi.modbus.ModbusSlaveException Error Code = 2 [operation ID 464a76f8-9f33-4316-9e1e-09167e7954d7]
2023-03-10 23:57:11.178 [WARN ] [rt.modbus.internal.ModbusManagerImpl] - Try 2 out of 3 failed when executing request (ModbusReadRequestBlueprint [slaveId=1, functionCode=READ_MULTIPLE_REGISTERS, start=5000, length=2, maxTries=3]). Will try again soon. Error was: net.wimpi.modbus.ModbusSlaveException Error Code = 2 [operation ID 464a76f8-9f33-4316-9e1e-09167e7954d7]
2023-03-10 23:57:11.242 [ERROR] [rt.modbus.internal.ModbusManagerImpl] - Last try 3 failed when executing request (ModbusReadRequestBlueprint [slaveId=1, functionCode=READ_MULTIPLE_REGISTERS, start=5000, length=2, maxTries=3]). Aborting. Error was: net.wimpi.modbus.ModbusSlaveException Error Code = 2 [operation ID 464a76f8-9f33-4316-9e1e-09167e7954d7]

Best regards Ralf

tb4jc commented 1 year ago

Hi Ralf Thank you very much for reporting back your test results.

Maybe I need to add more information about the two versions of ISGPlus things I have added for testing.

I'm using the document "Software extension for Internet Service Gateway - Modbus TCP/IP" from Stiebel Elton as a input for identifying the different blocks and objects accessible and controlable via the Stiebel Eltron ISG add-on, section 6. Modbus system values for heat pumps with WPM. The four blocks (partly covered by initial 'heatpump' thing) are:

  1. system values: read input registers from modbus address 501 to 608
  2. system parameters: r/w holding registers from modbus address 1501 to 1521
  3. system status: read input registers from modbus address 2501 to 2547
  4. energy data: read input registers from modbus address 3501 to 3655

3 rows specify which WPM systems (WPM, WPM3, WPM3i) supports which values. There are way to much values, so the attached README.md from my shared version shows the object values I have seleced from the above blocks. README.md

I have used the QModMaster open source tool for checking the values QModMaster. The substitute value "32768 (0x8000H)" is issued for unavailable objects.

I found in the document in section 8 information about further registers for heat pumps with WPM. They are about SG Ready. 2 blocks are mentioned:

  1. energy management settings: r/w holding registers from modbus address 4001 to 4003
  2. energy management system information: two read input registers at modbus address 5001 and 5002

I have an ISG Plus with SG Ready support, but as I don't use it, I have it inactive. But I wanted to make it available for others. That's why I added the things 'ISGPlus SG Ready'. There are two versions due to the fact, that when I accessed the second block at address 5000, I got errors. I thought that it could because I have nothing connected. So V1 includes both SG Ready blocks (at address 4000 + 5000). V2 covers only the first block. I can read it but only "Switch SG Ready On and Off' at address 5001 shows a real value, which matches the 'SGREADY ACTIVATED' switch in the ISG web interface under energy management.

If there is anybody in the community having a PV system connected to the ISGPlus with SG Ready support, I would really you to test this thing "ISGPlus SG Ready V1 (Energy Management Settings + System Information)".

So Ralf: According to the logs you attached, it looks like your ISG also doesn't supports the second block (error ILLEGAL_DATA_ACCESS when accessing address 5000). "SETTINGS - COOLING „COOLING“ > open i can not finde the / a right item" Yes, I agree. The problem is, there is no object in second block for controlling 'COOLING'. Maybe I do not have the lastes latest document version (I have 9535, visible at the bottom of the document). I find only in block 3 system status the flag "cooling is active".

The same is valid for the missing objects from the ISG Energy Management page.

SETTINGS - ENERGY MANAGMENT "SG READY ENABLED" > OK (this in importan) "SG READY INPUT“ > open - can't find a item => I don't have this switch in my ISG version (12.1.0), but the first block "energy management settings" has two binary input registers which correspond to the operating states 1 to 4 image image

The following settings are not available in the block. "Heating Buffer“ > open - can't find a item "UPPER ROMM/BUFFER TEMP. HC1“ > open - can't find a item "UPEER SET DHW TEMP." > open - can't find a item

The second block should actually show the operating state and controller identification. image

Hope my explanations help.

Regards Thomas

Important Addendum: I just played again with QModMaster and funny thing, now I could access the second block "energy management system information" and the values fit. I checked the code and yes, I'm using the wrong modbus function code for reading input registers. I fill fix it and provide new add-on versions asap.

Regards Thomas

tb4jc commented 1 year ago

Hi Ralf

I have rewored my Stiebel Eltron Addon version. I got the SG Ready blocks working. So, it's an official additional thing. The supports things list looks now as follows:

As I don't have any appliance connected to the SG Ready lines, the report the value 32768 (0x8000H) (unavailable objects). I expect them to be 0/1, in case of connected appliance (PV, ...).

I combind the channels "SG Ready Input 1" and "SG Ready Input 2" to one "SG Ready Input Lines", which reflects the Operating State according to the above description (8.2.1), plus two additional states:

I have updated the jar files in my shared folder on OneDrive.

Happy testing!

Regards Thomas

rayb67 commented 1 year ago

Hi Thomas, excellent job. As we discussed together, I was able to read/and modify the different SG Ready states. I build my own setup (item / sitemap / rule ) to control my "heat pump" depend on the status of my photovoltaik. Therefore I am able to use the SG Ready features successful.

I wrote a short article

best regards Ralf

voruti commented 1 year ago

Really great work! Have you considered creating a pull request? @tb4jc

tb4jc commented 1 year ago

Hi vortui Thanks! Yes, I have but I wanted to add the rest of the WPM3 values before doingi it. Will take some time as I'm heavily loaded at work right now. But maybe it's better to add it now that I will be faster available to all. I could still work on it later. I will check!

gekr commented 1 year ago

@tb4jc could you please provide your updated jar file again - above link seems to be broken. Thanks in advance!

tb4jc commented 1 year ago

Hi all Here is the new link to my OneDrive without expiration. Extended Stiebel Eltron Modbus Add-on

Due to havy load in business, I was not able to continue working on the add-on. My goal is to add the missing channels of the WPM- and WPM3-System heat pump (heat pump 1 to 6, heating curcuit 1 to 5, runtime, ...). This will take some time ...

rayb67 commented 4 days ago

Hi Thomas, i am still working with the latest snapshot you posted in Mar 12, 2023 under openhab 4.1.2. Now, I have vacation, I start testing/verify my setup with 4.2.0.

Does your code reached the official binding https://www.openhab.org/addons/bindings/modbus.stiebeleltron

I don´t think so ! If not, do you have an update you can share?

Best regards Ralf

tb4jc commented 4 days ago

Hi Ralf I'm truly sorry, my workload at the office was not getting better and due to private renovation and moving tasks, I didn't had time to work on this bundle anymore. But good news, I have just copied my "latest" bundle version org.openhab.binding.modbus.stiebeleltron-4.0.3_tb.jar to the my OneDrive spot and that one is still working with latest 4.2.0 installation.

Best regards Thomas

mtb77 commented 3 days ago

Hi Thomas,

I cant access your OneDrive folder, might you share the jar somewhere else or share the link again please?

Thanks, Sascha

lsiepel commented 3 days ago

Hi Ralf I'm truly sorry, my workload at the office was not getting better and due to private renovation and moving tasks, I didn't had time to work on this bundle anymore. But good news, I have just copied my "latest" bundle version org.openhab.binding.modbus.stiebeleltron-4.0.3_tb.jar to the my OneDrive spot and that one is still working with latest 4.2.0 installation.

Best regards Thomas

If you fork openHAB addons and push your changes to your repo, we can access it and continue your work if you are unable to continue.

rayb67 commented 3 days ago

Hi Thomas, sounds like your moving is going on. I assume, a lot of work after moving is waiting for you too. Perhaps @lsiepel can go on with your very excellent and helpful improvements. Please provide the access ;-) However, @mtb77 is right, we can download only a 129 KB file. I expect an 13 MB file ;-) Best regards Ralf

lsiepel commented 3 days ago

Hi Thomas, sounds like your moving is going on. I assume, a lot of work after moving is waiting for you too. Perhaps @lsiepel can go on with your very excellent and helpful improvements. Please provide the access ;-) However, @mtb77 is right, we can download only a 129 KB file. I expect an 13 MB file ;-) Best regards Ralf

I prefer not to. It would be much better for @tb4jc to finish the work. His work, his credits. It is mainly that we should prevent his work vanishing.