Homematic IP Contact Interface flush-mount (HmIP-FCI1)

Hi there,

I’m using the Homematic IP “Contact Interface flush-mount” (HmIP-FCI1) to detect if someone rings the doorbell.

The interactions between HmIP Device and CCU is working. Unfortunately my home assistant integration is not reliable. What does this mean in detail?

  1. Within the CCU the device is working and detects every ringing reliable --> OK

  2. The device was successfully added to home assistant via auto detection --> OK

  3. Unfortunately I could not use the state “off” and “on” in automation, because the trigger is not firing --> 1. Problem

  4. As workaround I leave this values empty. As result my triggers fires even if no one was ringing --> 2. Problem

  5. Moreover the devices states are not shown in the logbook. So I have no clue about the last ring events or the state values --> 3. Problem

I need some hints, where to start solving this problem.

Thanks in advance.


I have an automation that looks like this and works fine:

Regarding the logbook: does the state change in the UI? If so, did you somehow exclude the entity form being recorded?

Thanks for your answer.

I haven‘t set up any exclude rules. (In fact its a new information for me, that this is possible).

I could not see any state change in the UI. should I? In my opinion the event is to short.

Any ideas?


PS: I have just seen, that you entity is binary_sensor.name.state. If I try to add “state” I got the following errormessage:

Message malformed: Entity ID binary_sensor.klingel.state is an invalid entity id for dictionary value @ data['trigger'][0]['entity_id']


here some new information:

After increasing the log level to debug, I got the following after ringing:

2020-04-19 22:14:43 INFO (Thread-2) [pyhomematic.devicetypes.generic] HMGeneric.event: address=001FD8A9A9B4DD:0, interface_id=homeassistant-hmip, key=CONFIG_PENDING, value=False
2020-04-19 22:14:43 INFO (Thread-2) [pyhomematic.devicetypes.generic] HMGeneric.event: address=001FD8A9A9B4DD:0, interface_id=homeassistant-hmip, key=RSSI_DEVICE, value=-68
2020-04-19 22:14:43 INFO (Thread-2) [pyhomematic.devicetypes.generic] HMGeneric.event: address=001FD8A9A9B4DD:0, interface_id=homeassistant-hmip, key=LOW_BAT, value=False
2020-04-19 22:14:43 INFO (Thread-2) [pyhomematic.devicetypes.generic] HMGeneric.event: address=001FD8A9A9B4DD:0, interface_id=homeassistant-hmip, key=UNREACH, value=False
2020-04-19 22:14:43 INFO (Thread-2) [pyhomematic.devicetypes.generic] HMGeneric.event: address=001FD8A9A9B4DD:1, interface_id=homeassistant-hmip, key=PRESS_SHORT, value=True

In comparison to an another Homematic IP device (not a sensor, but a switch) the key STATE is missing

2020-04-19 22:33:48 INFO (Thread-2) [pyhomematic.devicetypes.generic] HMGeneric.event: address=000218A995E9D8:3, interface_id=homeassistant-hmip, key=STATE, value=False

As workaround I changed my trigger as following, which seems working:

  - event_data:
      channel: 1
      name: 001FD8A9A9B4DD
      param: PRESS_SHORT
    event_type: homematic.keypress
    platform: event

How could I teach my contact interface to sent an state key? Hopefully this solve the logbook problem, too.


This confirms my initial thought which I believed was false, and therefore kept to myself. I suspect, that your device has two operation modes, and you can configure on the CCU if the channel acts as a Taster (which fires events when something happens at the contact) or (Schließ)kontakt (which changes the binary state depending on the contact). The default should be the binary sensor, which is how the device has been implemented. But if you changed the behavior to the button mode, then instead of have a binary state it just always says “I have been pressed” whenever the contact is closed. Which makes more sense for what you are trying to do.
However, buttons don’t have a state. Hence they don’t appear in the logbook. This is the relevant section of the documentation for buttons.

So you probably can change the mode to be a binary sensor, which would then change the state in the UI while the button is pressed, and you should also get the message in the logbook. But as you have noticed before, this wouldn’t make much sense since the button will just be pressed shortly. To sum this up: right now it’s exactly as it should be. In the logbook you should see that the automation has been fired based on the press-event. That’s what you want.

Hi Daniel,

that was the missing hint. The current mode is “Taster”. In my opinion this is the default mode for this device, because I did not know this option before you mentioned it.

Here are the mode selection within the settings in the CCU:

Within the device section the type is now set to “Schalter” (in my very first screenshot in my initial post it was set to “Tasterkanal”):

I understand that “Taster” is be the best mode for my senario, so the problem is solved. Nevertheless I changed the mode to “Schalter”, to find out the behavior. Until know the STATE change isn’t realiable. So it changed to “on” several minutes after ringing and stayed on that value. Do I need to redeteced the homematic device within home assistant after changing the mode in ccu? How could I do that?


That could be as well. I didn’t do the implementation. :man_shrugging:

Schalter doesn’t make much sense to me without knowing the device. If you set it to Tür/Fensterkontakt you should see the sensor state in accordance to the physical state. The Schalter mode probably is something special, but I don’t know about that.

Ok. I’m happy with my “Taster” now. Thanks a lot!