Comelit Video Intercom

I found this Repo GitHub - plusvic/simplebus2-intercom: General description of the Simplebus2 protocol used by some Comelit's intercoms. Hardware for retransmitting Simplebus2 messages over UART.
maybe someone can integrate this into the ICONA manager CLI in this repo? GitHub - madchicken/comelit-client: Simple CLI to interact with Comelit HUB, Vedo and Comelit Serial Bus
This is unfortunately too technical for me :confused:
I also found an old android app in this documentation: https://staticpro.comelitgroup.com/storage/2018/02/900/2G40001442.pdf
this can be configured on the web gui


this was apparently an app that could control the device locally (But isn’t working anymore on newer android versions)

maybe someone is smart enough to reverse engineer it this way?

Putting this library here for future reference (Maybe this can help someone):

I don’t know if any of you have already tried integrating the door/gate opening through Alexa+Comelit; with this service, you can open the device (door or gate) connected to Comelit.
Service is activated by a custom-button-card

type: custom:button-card
entity: input_button.comelit_pedonale
name: |
  [[[
   var d = new Date(entity.last_changed);
   return 'Canc. Pedonale (' +  `${d.getHours()}:${d.getMinutes()}` + ')'
  ]]]
size: 25%
icon: mdi:gate-alert
color: red
tap_action:
  action: call-service
  service: media_player.play_media
  data:
    media_content_id: Apertura cancello pedonale
    media_content_type: routine
  target:
    entity_id: media_player.echo_dot

Hello

I need your help with connecting my comelit 6741W door intercom to home assistant.
I tried the HACS version with the yaml file but it is not working.

This is the yaml file:
image
next to HOST I wrote the IP adress of the device
USERNAME I wrote ADMIN (is this correct?
PASSWORD I used COMELIT (I think this is correct?)
And SERIAL I used the SN I found on the infotab of the device where I only used the numbers and not the letters, it looks like this 0025242629
Do I have the change any other things in this yaml file?
And are the things I changed correct?

When I confirm the configuration, I get an error message in the messages tab:
image

And these are the logs related to this error:

Thank you for helping me with this.

Regards

Hi Michele, does it work?
Can you also share the routine alexa side?
Are you able to open (unlock) the door? I’m only can choose “block” :frowning:

We can’t connect to home assistant our comelit 6741W, there’s no integration that works.

I can open everything is connected to comelit (I’ve 2 gates connected), as well as I can receive notifications if someone ring the intercom, but only by a workaround by Alexa skills . NB home assistant call service name and Alexa skill mus have same identical name or nothing will works.

Thanks Michele.
Another question.
I’m not able to open the gate (apriporta in comelit) through Alexa routine. I’m only able to open a 2° door (attuatore in comelit)

image

Do you have the 2 gates on comelit as “attuatore”?

I think I got it.
I disable the secure mode for the opendoor trough the admin interface of the comelit (ip:8080)

After that, I reconfigure the integration with Alexa and then I was able to choose “On” trough the routine.

1 Like

Some contributors and me developed a bridge between Comelit Simplebus2 and MQTT. At the moment just with basic functions without audio/video, but ringing, open, ring-to-open, etc. is running. An ESPhome firmware version is linked on this page. If still someone is interested in integrating Comelit Intercoms into HA which do not come out of the box with smart functions, maybe this could be what you are searching for:

Hello,
I managed to register the device with your steps but even though it does connect and says it opens the door, it does not at the end.
Also, have you got a solution for notifications when someone rings and if possible with a snapshot ?

sorry but could you help out? i tried the whole day to get this working but i can’t . i never used node red before. i made the steps, i know how to make sensors and buttons, so i tried them but i don’t see how to make it work. i don’t know if the inject and function are right, i just did what you said but i feel like missing steps and ai also doesnt really help

i didn’t change anything in inject, i just connected to function:

// Code added here will be run once
// whenever the node is started.
const logger = log4js.getLogger("out");
logger.level = "info";

node.log("Trying to connect...");

const client = new comelitClient.IconaBridgeClient("192.xxxxxxx", 64100, logger);
await client.connect();
node.log("Connected!");
try {
    const code = await client.authenticate("xxxxxxxxxxxxxxxxxxx");
    if (code === 200) {
        const addressBook = await client.getConfig("none", false);
        node.warn(addressBook);
        const serverInfo = await client.getServerInfo(false);
        node.warn(serverInfo);
        const addressBookAll = await client.getConfig("all", false);
        node.warn(addressBookAll);
        const item = addressBookAll.vip["user-parameters"][
            "opendoor-address-book"
        ].find((doorItem) => doorItem.name === "front door");
        if (item) {
            node.warn(
                `Opening door ${item.name} at address ${item["apt-address"]} and index ${item["output-index"]}`
            );
            node.warn(await client.getServerInfo());
            await client.openDoor(addressBookAll.vip, item);
        } else {
            logger.error(
                `No door with name ${"front door"} found in config. Available door names are: ${addressBookAll.vip[
                    "user-parameters"
                ]["opendoor-address-book"]
                    .map((d) => d.name)
                    .join(", ")}`
            );
        }
        await client.shutdown();
    } else {
        node.error(
            `Error while authenticating: server responded with code ${code}`
        );
    }
} catch (e) {
    node.error("Error while executing openDoor command", e);
} finally {
    await client.shutdown();
}

return msg;

You could have a look at the protocols (Home Assistant → Settings → System → Protocol and select Node Red at the top right corner). You should see something like:

12 Jul 21:46:40 - [info] [function:Open door] Connected!
12 Jul 21:46:40 - [warn] [function:Open door] get-configuration
12 Jul 21:46:40 - [warn] [function:Open door] server-info
12 Jul 21:46:40 - [warn] [function:Open door] get-configuration
12 Jul 21:46:40 - [warn] [function:Open door] [object Object]
12 Jul 21:46:40 - [warn] [function:Open door] Opening door Entrance lock at address SB100001 and index 1
12 Jul 21:46:40 - [warn] [function:Open door] server-info

This might help to figure out where and what goes wrong in your case.

Can you take a look at the protocol as well? Maybe some more node.log() statements help to figure out why the door won’t open.

Unfortunately I haven’t found a way to get notifications if the door rings…

I don’t have errors, but it feels like i miss steps after your explanation and last step.

It is a bit strange that your log shows nothing at all. It should at least display some logs from the starting procedure, like:

Welcome to Node-RED
===================

11 Jul 06:45:26 - [info] Node-RED version: v4.0.2
11 Jul 06:45:26 - [info] Node.js  version: v18.20.3
11 Jul 06:45:26 - [info] Linux 6.6.31-haos-raspi arm64 LE
[...]

Is Node-Red really running? Do you have some filters applied that only error messages are shown and no info and warn messages?

yes it is running:

this is the config:

theme: default
http_node:
username: xxxxx
password: xxxxxxxxx1
http_static:
username: xxxxx
password: xxxxxxxxx1
ssl: false
certfile: fullchain.pem
keyfile: privkey.pem
system_packages:
npm_packages:

  • comelit-client
    init_commands:


i didnt change anything here

and this is the code in function:

// Code added here will be run once
// whenever the node is started.
const logger = log4js.getLogger("out");
logger.level = "info";

node.log("Trying to connect...");

const client = new comelitClient.IconaBridgeClient("192.xxx.xxx.xxx", 64100, logger);
await client.connect();
node.log("Connected!");
try {
    const code = await client.authenticate("0xxxxxxxxxxxx09cf0a5xxxxxx5");
    if (code === 200) {
        const addressBook = await client.getConfig("none", false);
        node.warn(addressBook);
        const serverInfo = await client.getServerInfo(false);
        node.warn(serverInfo);
        const addressBookAll = await client.getConfig("all", false);
        node.warn(addressBookAll);
        const item = addressBookAll.vip["user-parameters"][
            "opendoor-address-book"
        ].find((doorItem) => doorItem.name === "front door");
        if (item) {
            node.warn(
                `Opening door ${item.name} at address ${item["apt-address"]} and index ${item["output-index"]}`
            );
            node.warn(await client.getServerInfo());
            await client.openDoor(addressBookAll.vip, item);
        } else {
            logger.error(
                `No door with name ${"front door"} found in config. Available door names are: ${addressBookAll.vip[
                    "user-parameters"
                ]["opendoor-address-book"]
                    .map((d) => d.name)
                    .join(", ")}`
            );
        }
        await client.shutdown();
    } else {
        node.error(
            `Error while authenticating: server responded with code ${code}`
        );
    }
} catch (e) {
    node.error("Error while executing openDoor command", e);
} finally {
    await client.shutdown();
}

return msg;

From what I see everything looks fine. However, it would be interesting to see the Node Red log because then we could exactly see what is going on there. I’m wondering why loggin doesn’t work…

By the way: Are you sure “front door” is the right name of the door? For me eg. it’s “Entrance lock”.

no the name of the door is SB100001, but i also tried that in naming part. i changed it now to the original name and tried with an helper to create a door opener button but it doesn’t work unfortunately, i also don’t see a new entity or something. what did you do after step 9?

Hi, good to see, that there is already an integration for Comlit devices. We have a new office. This office contains a Comelit Ethernet Adapter 1406A4. Over this adapter we can view the video camera of the whole office building and open the main door. This can be done with this App.

Does anybody know, if this adapter is compatible with Home Assistant?