SOLVED: After Update to 2023.12 Homematic IP DLD not working anymore

Generally my Homematic and Homematic IP devices are working, except the door lock HMIP-DLD. Since years I’m using scripts to open, to lock and to unlock the device via Home Assistant but since I did the update to 2023.12.1 yesterday it stopped working. Does anybody else experienced that problem? Is there a solution? Any further information required? Unfortunately, the logs are not throwing any error.

Thank you in advance. Joris

I have to correct myself, there is an error in the protocol

Logger: pyhomematic.devicetypes.generic
Source: components/homematic/
First occurred: 12. Dezember 2023 um 06:29:53 (6 occurrences)
Last logged: 06:13:58

HMGeneric.setValue: LOCK_TARGET_LEVEL on 002A1D89B42xxx:1 Exception: cannot marshal <class 'homeassistant.util.yaml.objects.NodeStrClass'> objects

The error message helped to fix the issue.
In the past it was possible to work with three states:

  3. OPEN

This has changed to numeric Values:

  1. “0”
  2. “1”
  3. “2”

But only changing this did not help. It is mandatory to check the type of value and set it to “INT”.

Now, everything works as before.

Thank you so much for sharing this (including the solution - even though I didn’t tested it yet)!!!

Anyway, this doesn’t look right (I thought I was going nuts):

The “old” way does work if you’re using the following “script” under Developer tools → Services:

service: homematic.set_device_value
  address: 0021233314tXCXXE9FFFF788
  channel: 1
  value: UNLOCKED

Only the Automation/Script doesn’t work. Which confuses me a lot and looks more like a bug, to be honest.

Could you confirm that?

I’m also seeing the same error in the logs.

PS. Thank you so much! You solved my issue (still confused, why debug tools working in the old way)


Hi Jens,

that is something I did not tested so far but now I did and I can confirm. That is really strange!
But great that I was able to help! That was exactly what I liked to achieve, help others with the same problem.
Thank you very much for letting me know!


Same is happening to me since the update to 2024.1.6 today when pressing a virtual key via script. It works well when doing the same via developer tools…

service: homematic.virtualkey
  address: HmIP-RCV-1
  channel: 1
  param: PRESS_SHORT
  interface: HMIP

Although it‘s a virtualkey the error talks about setValue, not sure if this is just the error misleading:

ERROR (SyncWorker_4) [pyhomematic.devicetypes.generic] HMGeneric.setValue: PRESS_SHORT on HmIP-RCV-1:1 Exception: cannot marshal <class ‘homeassistant.util.yaml.objects.NodeStrClass’> objects

WORKAROUND in case you face this issue as well:

Define a variable with the string in your script and use that variable in the service call. Works flawlessly:

alias: AAA Test
  - variables:
      param: PRESS_SHORT
  - service: homematic.virtualkey
      address: HmIP-RCV-1
      channel: 1
      param: "{{ param }}"
      interface: HMIP
mode: single
1 Like

Thanx a lot Nerdix but I switched completely to GitHub - danielperna84/custom_homematic: Custom Home Assistant Component for HomeMatic and I’m really happy with that. Much better than the original integration in my opinion even there is some work to switch.