Thanks. Got it. I thought it was doco.
Will be getting a new system in the middle of the year and have been doing lots of reading on Modbus so that I can get it to work when the time comes.
Thanks. Got it. I thought it was doco.
Will be getting a new system in the middle of the year and have been doing lots of reading on Modbus so that I can get it to work when the time comes.
Cool.
Maybe consider to get the cooling module as well. Doesnt cost that much more but with that you can cool the heaters/house during summer time. 18 degree is our limit. Which is pretty cool when outside are 30+.
Models are called AC as far i remember.
We just hooked the pump up with the solar panels but i have to figure out how i can trigger the ISG module switch so the pump starts when enough solar power is there.
We are doing hydronic in-floor (slab) heating AND cooling. Via a heat pump model WPL25ACS, two manifolds with FET thermostats/controllers and other necessary components.
Our location (central Victoria, Australia) is a dry climate that can get very cold, down to 0 degrees C in winter overnight, and very hot, up to 45 degrees C in summer during the day.
So the heating and cooling functions should be quite effective, along with insulation, etc.
Because of this, I want to get as much data as I can from system to be able to track performance, as well as automatically turn on the ceiling fans in summer to assist the radiant cooling.
We will also have solar and would like to trigger the heat pump like you.
So I’m trying to learn as much as I can about the ISG/modbus prior to playing with it properly.
Wow that sounds pretty good. We do run a 20 ACS here so the modbus registers should be the same.
I still did not figure out all the values but the most important ones are covered.
Please also think about how you would like to structure your HA configuration. Folders, Packages etc.
So you can keeo it as clean as possible and do not need to touch big configuration files.
In any case… we are here to help
cheers armin
Hi,
I recently integrated my Stiebel Eltron WPF 07 cool via ESP-Home and an MCP 2515 CAN-Bus device.
Total costs around € 30,-- which is nothing compared to the ISG Web device that uses the same bus.
There is some documentation in the web and I share my setup here for anyone who is interested.
It is also possible to actively change settings with the correct bus-commands, but I’m just doing logging of the most important power consumption data.
I’m willing to explain all I found out so far, if there are clear questions.
Hi guys,
first thanks for the tips in this converation.
Is anyone able to write states for the SG Ready (Modbus 4002/4002) inputs?
Hey @ all modbus enthusiast ;-),
first, thanks for this great integration.
I’m using the following integration
modbus:
- type: tcp
host: 192.168.5.58 # Stiebel Eltron LWZ 404
port: 502
name: "lwz"
close_comm_on_error: true
delay: 5
timeout: 5
sensors:
# Room
- name: "LWZ RAUMISTTEMP-HK1"
slave: 1
address: 1
input_type: input
unit_of_measurement: "°C"
device_class: temperature
scale: 0.1
precision: 1
But in my core log I found the following entries:
....
Modbus read failed
Modbus read failed
Modbus read failed
Modbus read failed
Modbus read failed
Modbus read failed
...
2022-01-12 15:09:22 WARNING (MainThread) [homeassistant.components.modbus.validators] LWZ RAUMISTTEMP-HK1 with int is not valid, trying to convert
2022-01-12 15:09:22 WARNING (MainThread) [homeassistant.components.modbus.validators] LWZ RAUMISTTEMP-HK1 with int is not valid, trying to convert
The sensor gives me a value back. The integration is working, but the log entries are confusing me.
Thanks!
Hey hannes,
Thanks for you modbus configuration.
But i dont understand, how to send anythingt to the isg.
Can you maybe help me?
How do you control the values like water temperature or ventilation?
Hi Stefan,
I do it exactly like @ArminF doest in his post on Nov 21.
For examplte for the ventilation settings (day/night) I have an two input numbers and four automations to get/set the value. Here an example for the ventilation day setting:
Input number:
lwz_stufe_tag:
name: 'LWZ STUFE-TAG'
min: 0
max: 3
step: 1
mode: box
icon: mdi:fan
Setter automation:
id: lwz_stufe_tag_setter_automation
alias: 'LWZ STUFE-TAG Setterautomatik'
description: 'Synchronisiert LWZ STUFE-TAG Sensor mit LWZ STUFE-TAG Input'
trigger:
- platform: state
entity_id: input_number.lwz_stufe_tag
action:
- service: modbus.write_register
data_template:
unit: 255
address: 1017
value: '{{ states("input_number.lwz_stufe_tag") | int }}'
Getter automation:
id: lwz_stufe_tag_getter_automation
alias: 'LWZ STUFE-TAG Getterautomatik'
description: 'Synchronisiert LWZ STUFE-TAG Input mit LWZ STUFE-TAG Sensor'
trigger:
- platform: state
entity_id: sensor.lwz_stufe_tag
- platform: homeassistant
event: start
action:
- service: input_number.set_value
data_template:
entity_id: input_number.lwz_stufe_tag
value: '{{ states("sensor.lwz_stufe_tag") }}'
Hi!
I’m very interested! I have a WPF07 COOL also and really want to see what is happening.
I read your links, but I’m missing the connection to the Stiebel. How did you connect this?
Thanks in advance!
Stiebel Eltron uses CAN Bus for their communication with external devices like FEK remote control or ISG gateway. And CAN Bus is a standard that can be used with ESP32 too using an MCP 2515 can bus controller.
If you have a look at the heat pump’s manual in the section for electrical connections - for me it is section 12.2.3 and 12.8 you can read, how an ISG should be connected to the heat pump.
In the same way as the ISG, you can connect an MCP2515 CAN Bus component via an ESP32 microcontroller as set up in my thread. ESP32 is easily integrated in home assistant using ESP-Home.
To receive the corresponding signals from the heat pump, you send a hex command over the CAN Bus interface and the heat pump answers respectively. The needed command keys are located in the file “ElsterTable.inc” on the website juerg5524.ch.
Such a send command can look like this in ESP-Home.
- canbus.send:
data: [ 0x31, 0x00, 0xfa,0x09,0x22,0x00,0x00 ]
can_id: 0x680
The first and fourth digits are used to signal the request to the address of the heat pump - here it is the address ,3*8 + 0 =18 + 0 => 180.
Sencond digit “1” means request.
Digits 5 and 6 are usually “fa” with some certain exceptions, when the Elster Index is smaller than ff ff.
Digits 7 to 10 “09 22” is the Elster index key listed in the ElsterTable as “WAERMEERTRAG_2WE_WW_TAG_WH”.
As an answer you’ll get something like d2 00 fa 09 22 xx xx, meaning answer (digit 2 = 2) to can-id 680 (d*8 + 0) for request 09 22 and xx xx the value of the heat pump in double.
For any further questions, please follow up in my thread, as I think it is better discussed there.
Hi Hannes,
I use your example for my ventilation day setting, but there is no action
Is “sensor.lwz_stufe_tag” your modbus register name of adress 1017 an how you find the unit id of the ISG?
Jokaan
lwz_stufe_tag
is the name of my input number I use to select the value in the Dashboard and trigger the action:
It looks like this
lwz_stufe_tag:
name: 'LWZ STUFE-TAG'
min: 0
max: 3
step: 1
mode: box
icon: mdi:fan
lwz_stufe_nacht:
name: 'LWZ STUFE-NACHT'
min: 0
max: 3
step: 1
mode: box
icon: mdi:fan
Hello Hannes, ok, thanks. How did you realize the dashboard chart? How can you color the active fan speed and gray the inactive one?
Grüße Jokaan
Kinda offtopic, but anyway: I use a Vertical Stack In Card with four Button Cards. Button cards can change their style depending on a state.
Hello Hannes, thank you for your advice, it works
Sorry, I’m still learning.
Today, I am encountered exactly this problem. I my point of view HA and the Modbus Interface do everything right! The problem here is the implementation of the Modbus interface of the ISG. Inside the documentation (ISG Modbus Manual) the entry P-HEIZUNG-TAG documented as:
3022 P-HEIZUNG-TAG x x 0 65535 6 kWh r
where the data type is 6. Compared to other entries it is likely the data type 6 means integer, what is also a explanation to the observed behavior:
10,759 kWh -> 10 kWh
I think there is not much you can do over the Modbus interface until Stiebel-Eltron update the ISG firmware. I will write a request to the Stiebel-Eltron support, but I do not think that they will change anything.
What should possible is to scrape the data directly from the Servicewelt via http-request. This should be easy to implement, at least for me and I am sure somebody implemented before. My problem is that I have no idea how to implemented a http-request over HA and store the values into a entity and guarantee a periodic schedule.
Ok, thanks for your answer… we will see. I hope Stiebel will update this as soon as possible
I would like to see the status of the filter change in homeassistant.
2001 OPERATING STATUS > FILTER CHANGE-BOTH B8
what is the easiest way to do this?
thanks