HomeMatic IP Request: Add NEW HmIP DLD Door Lock

cool, can this somehow be connected to the homekit plugin? would be great being able to lock and unlock via my apple watch or iphone home app. any tips or tricks? :slight_smile:

Would be nice to have it in home assistant directly

2 Likes

Can you maybe point me into the right direction, where can I find all the Papameter lists for each hmip devices. Just started to use hmip mainly because of this door lock … Using the raspberrymatic addon for HA

1 Like

Here you can find the device documentation from 06/2019.

And here is what I have collected so far in JSON format. But it’s only a small subset of HmIP devices. But it includes the DLD.

3 Likes

Any chance to get the HMIP DLD doorlock integrated into Home Assistant? Would be happy supporting with any testing :blush:

Not in the near future. The current architecture of the integration doesn’t support the way the lock works. If you just want to control it without reading the current state, you probably can use the homematic.set_device_value service. LOCK_TARGET_LEVEL is looking like a promising parameter. You would call that with a value of 0 (lock), 1 (unlock) or 2 (open). But that’s just a guess.

2 Likes

Daniel, many thanks!

Is the integration not possible with the CCU3 or HMIP Access Point? Or both? Thanks!

So i was a bit to optimistic buying the lock thinking it will be Home Assistant / HomeKitw integrated :frowning:

I’m talking about this integration. For the one using the Access Point I don’t know. But judging by what I have seen, the development for the cloud integration has stalled. So I would guess that in both cases you won’t get any results in the near future.

I was very frustrated that this device is not supported, but i also did not want to spend so much money for nuki.
I managed to get that working through variables in Homematic. This solution roughly looks like this:

I have created two variables:
1 Status: a program sets the variable value to true or false as soon as the device is locked or unlocked:
2 Trigger: a program triggers the lock/unlock, as soon as this variable is changed:

At the end i added a Template Lock in HA:

lock:
  - platform: template
    name: Basedoor
    unique_id: basedoor
    value_template: "{{ states.homematic.ccu2.attributes.base_lock_status }}"
    lock:
      service: homematic.set_variable_value
      data:
        entity_id: homematic.ccu2
        name: base_lock_trigger
        value: true
    unlock:
      service: homematic.set_variable_value
      data:
        entity_id: homematic.ccu2
        name: base_lock_trigger
        value: false

I am pretty new to HA and not an expert in Homematic. If there are things that can be improved, please let me know! I am concerned about the undefined/unknown status, which DLD is raising when sth unexpected happened.
At least this is working for now and it is “just” for a door in the basement.

Hope this helps and thanks a lot btw. for all the great work you are doing:)

1 Like

Nice work. :+1:

May I ask if you have tried to use the homematic.set_device_value service (for locking and unlocking) I have mentioned above? That way you wouldn’t have to use the program in the CCU, just the variable for the status. Note, that I don’t know if what I have suggested above actually works. I just assume it might based on how the parameter (LOCK_TARGET_LEVEL) is defined in the paramset description.

Thx.
The crazy thing is that the device does not appear in honeassistant. There is no entity created. When I have some time early next week I will post my integration config. I might miss sth. If that would work the solution would be much smarter!

If you have any HomeMatic devices visible, then you should also have the homematic.*-services. That’s not an entity, it’s the domain where the integration provides the services for manual usage.

can you give a hint, where those “service” should have to go ?

does address,channel, param, value go to data-section of a service definition ?
into configuration.yaml…
the service set_device_value is mentioned in homematic doku on hass.io, but under action…
Everything I do leads to “there is a configuration error”… It would be helpful to show (and appreciated) what you put where (as snippets) to make it work ?

Maybe this way:
e.g.:
configuration.yaml

service: homematic.set_device_value
  data:
     address: serial
     channel:1
     param: LOCK_TARGET_LEVEL 
     value: open

(the dokus miss always the part, what this is, what they are talking about… they throw a lot of words and params into a bowl, and never explain what it is… e.g. “address”… in the examples (homematic) there is always LEQ123456… how one can conclude from that, that this should be the SerialNo of Device… all devices of homematic have a MAC-address looking SerNo, why there is a “LEQ”-Prefix in the example? they should mention it, what the param means - very hard and very very frustating to come to an understanding by reading docs if the crafted that way)

I assume this is what your template-lock should look like:

lock:
  - platform: template
    name: Basedoor
    unique_id: basedoor
    value_template: "{{ states.homematic.ccu2.attributes.base_lock_status }}"
    lock:
      service: homematic.set_device_value
      data:
        address: 0011223344...
        channel: 1
		param: LOCK_TARGET_LEVEL
        value: 0
    unlock:
      service: homematic.set_device_value
      data:
        address: 0011223344...
        channel: 1
		param: LOCK_TARGET_LEVEL
        value: 1

That’s how the serials of the old HomeMatic devices looked like. The MAC-like addresses were introduced with HomeMatic IP. And back then when we started the HomeMatic integration (and documentation) the old devices were what the users primarily had. So to those people it was clear what this placeholder was referring to.

2 Likes

I tested it and it worked:)
I can confirm that set_device_value is working with the mentioned values.
That way it is much leaner - in addition to the lock template in HA, i now just have the status variable and a program setting the status var.
I just recognized, that changing the status in HA after pressing lock or unlock needs 10-20 seconds - any idea where this could be improved?

2 Likes

Nice. You should consider adding your solution as part of the documentation so others can easily recreate it. :+1:

Did it and created a pull request. Never did use github before, so i hope i have maintained everything needed.

Thanks @tobiasm for your solution and also thanks to @danielperna84 for his nice wrap-up. :clap:

After some fiddling around, I managed to get all up and running by

  1. adding daniels template into configuration.yaml,
  2. creating a status variable in homematic,
  3. creating a program in Homematic (see attached screenshot)
    (which sets the value of the status variable to ‘LOCKED’ and ‘UNLOCKED’, respectively - which is kind of counter-intuitive, as the values send from home assistant to homematic are ‘0’ and ‘1’ :roll_eyes: ) , and finally
  4. creating a script to use DLD’s ability to “open” the door be holding the latch for a short period of time.

Interestingly, I had to explicitly code the value_type to int! Otherwise it didn’t work… :man_shrugging:

value: '0'
value_type: int

2 Likes

Hi,

picking up this older one.

@danielperna84, one of the latest updates to your HA lib seems to have an addition to show the lock status as a sensor.

I have the DLD at home now. That sensor does not show up, only battery status.

Is this not included into latest HA release yet or am I doing something wrong?

Cu!

1 Like

Great! Any chance to get this also processed for the HMIP Access Point integration? I‘ve raised already a pull request but it has beeb closed as i giess i mossed something:-(

Would be so great to have it also integrated straight with the HMIP AP .
Any chance i can support in it? Thanks!

2 Likes