Ah, ok! Glad you solved it!
Interesting that requests work without login but I guess security was NOT their biggest priority when they made the EH-800
Ah, ok! Glad you solved it!
Interesting that requests work without login but I guess security was NOT their biggest priority when they made the EH-800
Yeah! Better keep this in local network behind nat.
I made fine tune slider to change room temperature request. It is explained in my repo GitHub - mhumaloja/ouman_eh-800_HA: Ouman EH-800 integration to Home Assistant It includes input_number & shell command in configuration.yaml and automation to feed the input number value to the shell command in automations.yaml.
Next time I sit down in front of Github at home I will make sure to link to your repo from mine, did not think of that first time around.
You might wanna take a look at my registers file, I cleaned it up quite a lot and also added the newly discovered registers from this thread.
Thanks for the tip, I copied your registers file, it is nice and clean.
BTW, here’s how I use this in my HA right now:
Kuivausjakso button runs automation which raises temp 4c and starts fan and air out take for four hours. Stats line on the bottom is water out temp last 12 hours.
Your graph looks nice a clean!
I installed the OUMAN SÄÄTÖLAITE VARUSTE OUMAN TMR/SP HUONEANTURI | Lämmityssäätölaitteet | Onninen so that Ouman EH-800 knows the temperature inside, not sure if that automatically somehow then adjusts the curve if it’s to cold / hot inside.
Also it provides the possibility for the girlfriend to just move the physical “slider” on the wall for more heat since she is not that into Home Assistant, at least not as much as me
I might have a use for your solution as well tho, since I still have a wood boiler as backup in the basement, whenever I fire that up the curve is usually not correct since I run on ground heating 99% of the time which is not as hot as when I burn wood, I could then have HA adjust the curve automatically if the wood boiler is getting hot or something , need to sit down with a beer or two in the boiler room and thing about that
Beer always hepls My installation is kind of second circulation floor heating for bathroom, sauna and laundry room. Geothermal pump is doing the heating and Ouman is just adjusting the floor heating. So I have to make Thermia pump curve and Ouman curve to dance the same song. Or actually Ouman is doing it by itself. I made this fine tune (and kuivausjakso) thing in the first place from same reason you have, my wife isn’t HA user at all so I stamped a Ikea Zigbee button to laundry room wall. Now she can just push the button after she (or mostly I) takes the laundry out of the machine to dry. Graph showing the on going water temp would be straight line, but I have automation to stop the heatpump when spot prices are too high.
Hi, I tried looking for register 1004 towards my Ouman
curl http://ip.ip.ip.ip:port/request\?S_1004_85 --output -
request?S_1004_85=Relä inte i funktion;#
and I get this which translates to “Relay not in use”, seems I don’t use this feature so can’t help out unfortunately.
Could you please explain what this function does on register 1004 so I can add it to my registers list on Github, this is a register currently missing in my documentation here Ouman-EH800---Home-Assistant/registers.txt at f5bb9c351799a39a2cea4c6b0943396901c4e1e1 · Belaial/Ouman-EH800---Home-Assistant · GitHub
Hi
Register 1004 is state of the Ouman relay in EXU-800 module. It’s only read register. Answers are “request?S_1004_85=ON” or “request?S_1004_85=OFF”. Request working well, but HA value-template is not working. I was trying that value_template and Paylod_on and Payload_off, but these not working. And extra measurement registers are little different what I was read (237, 283 and 347). These works well. I think extra measurements could be in different registers depending Ouman configuration.
Added info about register 1004, thank you for that.
Regarding the value-template not working it’s harder for me to help there since I don’t use that relay.
Maybe you need to implement a command_state:
like in this example of a switch
According to the HA specs I understand that you have to set payloads for ON and OFF states:
- binary_sensor:
name: relay
command: curl "{{ states('input_text.ouman_eh800_ip')}}request?S_1004_85" | cut -d "=" -f2 | cut -d ";" -f1
payload_on: ON
payload_off: OFF
Hello all!
My brother has a Ouman in his garage for floor heating and we have setup Home Assistant to control heat sources and get inputs from solar panel production and electric prices to make automations
By following this great thread, we have managed to add temps sensors and basic adjustment of the ouman.
We are trying to make a climate entity in HA for the Ouman where one can adjust set temperaure, feedback of actual temperatur, home/away/off modes. But our limited level of coding competence is unfortunately blocking us from getting this done.
Do you have any suggestions on how to get this done?
If anyone needs to calculate lämmitystarveluku S17 in official way (used in Finland), here’s one possible way to do it. Outdoor temp is required information, it can be read from EH-800.
A heads up to people using this, it seems that HA 2024.8.0 breaks our little project, all I get after upgrading now on all my Ouman sensors is,
This entity is no longer being provided by the command_line integration. If the entity is no longer in use, delete it in settings.
I have not yet had time to look into solving it.
EDIT
It seems it’s not the HA 2024.8.0 that broke it, seems my EH800 have suffered a dead Ethernet port… I get no response from ping or anything so…
Can confirm EH-800 working as before, running Core 2024.8.1, operating system 13.0., updated couple days ago.
Yeah, as mentioned in my edit of previous message, dead Ethernet port om my Ouman… 800€ for a new one
There’s no repair / replacement service? Did you disassemble the failed one, pictures of its internals would be nice
(side note before my reply, sorted it via my insurance company, they where super helpful, more than the Ouman broke in a thunderstorm)
There’s no repair / replacement service?
Not sure, have not checked into that.
Did you disassemble the failed one, pictures of its internals would be nice
Only as far as I needed to see the PCB with the IC that I presume is the one that controls the Ethernet port.
Since all was sorted via insurance I did not bother more than this, also I needed to turn in the broken one so, also I don’t own a hot air soldering station so would have been a hassle to try and replace the IC.
I could not see any burnt areas on the PCB, so a good bet would have been to replace that SMSC 8700c-AEZG
.
I’ve integrated the Ouman EH800 floor heating controller into Home Assistant (HA) as a climate entity. If you’re looking to achieve the same, here’s a step-by-step guide on how I did it.
Rather than adjusting the heat curve directly on the Ouman, I set all three curve values to the same target and manage this target via Home Assistant. This allows for seamless control of the heating curve from HA.
First, create an input number helper to set the target temperature in configuration.yaml
:
input_number:
heating_curve:
name: Heating Curve
min: 4
max: 30
step: 1
unit_of_measurement: "°C"
icon: mdi:thermometer
Next, add shell commands to set the three heating curve setpoints on the Ouman device based on the input number helper:
shell_command:
ouman_logon: 'curl "http://192.168.1.134:80/login?uid=xxxxxx;pwd=yyyyyy;" > /dev/null'
ouman_set_heating_curve: >
curl "http://192.168.1.134:80/update?S_61_85={{ states('input_number.heating_curve') }};" ;
curl "http://192.168.1.134:80/update?S_63_85={{ states('input_number.heating_curve') }};" ;
curl "http://192.168.1.134:80/update?S_65_85={{ states('input_number.heating_curve') }};"
I also added sensors to monitor the current floor temperature and the setpoint from the Ouman controller:
command_line:
- sensor:
name: Ouman EH800 - Floor Temperature
command: 'curl "http://192.168.1.134:80/request?S_259_85" | cut -d '';'' -f 1 | cut -b 18-'
unit_of_measurement: "°C"
unique_id: sensor.ouman_eh800_temperatur_golv
- sensor:
name: Ouman EH800 - Setpoint Temperature
command: 'curl "http://192.168.1.134:80/request?S_275_85" | cut -d '';'' -f 1 | cut -b 18-'
unit_of_measurement: "°C"
unique_id: sensor.ouman_eh800_temperatur_setpoint
For the climate entity, I used the hass-template-climate integration. This lets you build a custom climate entity from any sensor data. Here’s the configuration I used for the Ouman EH800:
climate:
- platform: climate_template
name: Ouman EH800 Thermostat
unique_id: ouman_eh800_thermostat
modes:
- "heat"
min_temp: 8
max_temp: 30
target_temperature_template: "{{ states('sensor.ouman_eh800_temperatur_setpoint') | float }}"
set_temperature:
service: input_number.set_value
data:
entity_id: input_number.heating_curve
value: "{{ temperature }}"
current_temperature_template: "{{ states('sensor.ouman_eh800_temperatur_golv') | float }}"
availability_template: "{{ states('sensor.ouman_eh800_temperatur_radiator') not in ['unknown', 'unavailable'] }}"
Occasionally, the setpoint doesn’t update immediately for reasons I haven’t fully identified. To ensure the setpoint is applied correctly, I created an automation that checks every 30 seconds after updating and resends the command if necessary:
alias: Ensure Ouman Setpoint Update
description: ""
trigger:
- platform: state
entity_id: input_number.heating_curve
action:
- wait_template: >
{{ states('climate.ouman_eh800_thermostat') | float == states('input_number.heating_curve') | float }}
timeout: "00:00:30"
continue_on_timeout: true
- condition: template
value_template: >
{{ states('climate.ouman_eh800_thermostat') | float != states('input_number.heating_curve') | float }}
- data:
entity_id: climate.ouman_eh800_thermostat
temperature: "{{ states('input_number.heating_curve') | float }}"
service: climate.set_temperature
This setup allows you to control your Ouman EH800 floor heating system through Home Assistant. The target temperature is managed via Home Assistant, while the Ouman unit takes care of the actual heating regulation in automatic mode.