That is by design. Heimdall only uses devices with alarm_contact and alarm_motion capabilities. Frient is using alarm_smoke for the state.
I’ve asked if these could be added to the list of supported capabilities:
Meanwhile you can creare a virtual device with alarm_contact capability and use a flow to update the state. These would be recognized by Heimdall. That is how I have it now.