Integration of heatpump „iDM Terra ML Complete HGL“

Hi together,

I switched my home automation system from OpenHAB to Home-Assistant and am very happy with the decision so far.

Of course, I also had to change the integration of my heat pump. Therefore I developed my own module for Home-Assistant.

Perhaps thats intersting for some of you.

I hope its OK that i link to my private blog:

Cheers
Tom

1 Like

Hope it’s ok if I hijack your thread here :slight_smile:

Today I was talking to the support of IDM and they told me that there is a way to communicate locally. It’s done via Modbus and they have to enable it (which they did for me)

@Galdan you don’t happen to have played with that yet? Cause even with the documentation I got from them I am not able to read proper values :frowning: But I am an absolute newbie when it comes to modbus…

Hi Georg,

yes i tried it and i wrote an article in my blog about this topic:

All modbus adresses you can find in this blog post:

Unfortuneately with the firmware version of my heatpump i could only read the values from 01 until ~15.

Hope that helps

Cheers
Tom

That is awesome @Galdan ! Very cool… Thanks for your help and great that you also already tried it… Can’t you get your firmware updated?

I also got a documentation from them with the same registers/addresses, but I can’t read any useful value out of it using the modbus integration of Home-Assistant.

Here’s an example. I only get super high or super low numbers that way.

modbus:
 - type: tcp
   host: 192.168.1.225
   port: 502
   name: idm_lwp

sensor:
 - platform: modbus
   scan_interval: 10
   registers:
     - name: Außentemperatur
       hub: idm_lwp
       unit_of_measurement: °C
       register: 1000
       data_type: float
       count: 2

I played around with count 1 and count 2 (not sure how many bits they use for their floats)
I tried offsetting registers by one (I read that that’s often necessary)
I tried offsetting by 40.000 (which should be the holding registers)
Nothing worked…

Do you maybe see my mistake? I am absolute modbus newbie… so I guess I am just too blind to see the problem :slight_smile:

@Galdan sorry to ping you again… But did you find a chance to look at my config? Is there any obvious error you can see?

Hi @bliblablo
now one year later :slight_smile:
Last month we got our IDM AERO ALM heat pump and I can see similar values when reading via Modbus. Some thousand degrees minus or some trillion degrees plus :wink:
How did you fix to integrate your IDM in HA?
Cheers,
Andy

@bliblablo et al,

solution was:

data_type: float32
count: 2
swap: word
modbus:
  - name: idm_lwp
    type: tcp
    host: 10.10.10.11
    port: 502
    sensors:
      - name: AussentemperaturIDM
        slave: 1
        scale: 1
        offset: 0
        unit_of_measurement: °C
        address: 1000
        data_type: float32
        scan_interval: 10
        count: 2
        precision: 1
        swap: word
1 Like

@Galdan, I want to thank you for the IDM Home Assistant integration. Has been working perfect for +1 year now.
I use it to connect via the myidm cloud service. I don’t have modbus or anything like that.
It is sad that there aren’t that many resources available regarding IDM heatpumps.

Are there other options available regarding IDM and HA?
Can you only read data from IDM heatpumps? Are there ways to also control them?

1 Like

Any news here?

@Galdan I will get a Photovoltaik-System soon and was wondering if besides reading temperature values and stuff like that, is it also possible to trigger e.g. water heating via e.g. Modbus? Do you or anybody else know that?

I did a complete integration by modbus. I transfer the photovoltaik data from my SMA Tripower to the IDM Terra SW8 Complete HGL Sole-Wärmepumpe with Navigator 2.0.

Still no time to do the documentation, but i will do.

Here the documentation of IDM, this helped me for doing the modbus integration. I also talked to IDM directly about an read and writable api… They told me they are already working on that.

https://www.idm-energie.at/wp-content/uploads/2021/04/tu_de_812184_myiDMenergy-Navigator-2.0.pdf
https://www.photovoltaikforum.com/core/attachment/113433-ma-de-812170-modbus-tcp-navigator-2-0-pdf/

Reading is really easy with modbus.
Writing was tricky, my script ist like:

Well I am new to HA, but I have a similar setup:

  • iDM SLM6-17HGL
  • SMA Tripower 25000TL-30 Inverter
  • SMA SunnyBoy 3.7 Battery Inverter
  • Sunny Home Manager 2.0

I’ve been playing around with Simon’s files, but I haven’t been successful so far,
@SimowN : I found several typos - I guess your system is not running yet, is it?

I don’t have coding capabilities, so I’m trying to understand the YAML files step by step, which ixs challenging…
Has anybody here such a setup up and running?

Take care
Michael

Hi Michel,
scripts are up and running. I check them every day.
You have to learn YAML, it is really important and i think you get this done.
What errors you got, or whats your problem?
Regards Simon

I have currently deleted all the config entries since I had several issues. I will re-integrate your code and let you know about the problems.

I was able to receive date out of the IDM Navigator, but I was struggling with the excess power (PV_Ueberschuss) and other values.

I will be back soon, thank you!

Regards
Michael

Here I am again … today we are having a litlle sunshine at least.

Something seems to be wrong with the calculation. The value for current power (sensor.pv_aktuelle_produktion) is working and transferring data to idm (sensor.idm_aktuellephotovoltaikproduktion). A value is provided in the IDM Navigator controls.

But the overflow (sensor.wp_aktueller_pv_uberschuss) stays at zero… so where should I start looking for the cause?
There is no log or error message, simply no value.

Please check what „PV Signal“ you have set in the IDM config. I found in the documentation of the IDM, that there are only plug and play scenarios with other products for example SMA Home Manager 2.0 and other stuff. I also found, that this config show you different values in the IDM Dashboard. With my config you can see the PV overload, not the PV power. Also the IDM takes the PV overload for the „energy mode“. I saw that about 2,5 kW, the IDM is starting in energy mode to use the PV overload.

Type in the „Fachmann Codeeingabe“…



Go to „Einstellungen“ > „Photovoltaik“

Set the „PV Signal“ to „Gäubedeleittechnik / Smartfox“

Check if the Dashboard show you the „kW Ertrag“ (Overload)

Now I’m confused…

I had already set it to GLT/Smartfox as I had it running before woth another workaround (OpenWB).
To what I understand it work accordingly here: you just provide two values to IDM, Power and Overload, right?
I can still see the Power there, but no overload…

However, I just saw, that there is a new item in the IDM PV settings: SMA Datamanager !? Does this mean the SMA HomeManager 2.0? Two years ago they did not provide a cooperation, are they doing now?

Apparently it does not work. After selecting SMA there’s no power anymore…

Could you try following?

Because I‘m not sure you have a working overload calculation? My wp_aktueller_pv_uberschuss get‘s calculate by values of a Shelly 3EM, who is tracking the power values of my house to see what energy I really have available for the IDM (pv overload).

change the original Homeassistant-IDM-Integration/scripts.yaml at 44dc280ff79c180c3c1c2fb39dfb95c7eaa931cf · simowNgithub/Homeassistant-IDM-Integration · GitHub for testing to:

idm_update_pv_values:
  alias: Update Photovoltaik values to IDM Headpump
  sequence:
  - service: modbus.write_register
    data:
      hub: idm_wp
      unit: 1
      address: 74
    data_template:
      value: '[ {{ ''0x%x'' % unpack(pack(states(''sensor.pv_aktuelle_produktion'')
        |float(0), ">f"), ">h", offset=2) | abs }}, {{ ''0x%04x'' % unpack(pack(states(''sensor.pv_aktuelle_produktion'')|float(0),
        ">f"), ">h")|abs }} ] '
  - service: modbus.write_register
    data:
      hub: idm_wp
      unit: 1
      address: 78
    data_template:
      value: '[ {{ ''0x%x'' % unpack(pack(states(''sensor.pv_aktuelle_produktion'')
        |float(0), ">f"), ">h", offset=2) | abs }}, {{ ''0x%04x'' % unpack(pack(states(''sensor.pv_aktuelle_produktion'')|float(0),
        ">f"), ">h")|abs }} ]'
  mode: single

And yes, you can select a SMA Homemanager 2.0. I builded the scripts, because I haven‘t one of them…. If you have, I think it would be easier to go the way over the SMA Homemanger 2.0?

OK, thank you - I have modified the scripts and will now wait for sunshine again:)

I tried the SMA option in the IDM controls this afternoon, but right after selecting it the PV power disappeared, so I suspected it wouldn’t work. A native connection would be perfect, but they call it SMA datamanager and not Sunny Home Manager - so I don’t know if this would work equally on both?

But I will ask IDM directly;-)