Plugin callerid


The callerid plugin detects when an incoming call happens with a home phone. It needs a modem to be used.


  • Python dependancy : pyserial (installed with Domogik)

Plug the modem


Just plug the modem on a telephony plug and on the server.

Create an udev rule

You may create a udev rule for this device. You can find sample udev rules in the udev/ folder of this plugin.

You just need to copy the choosen sample file in the folder /etc/udev/rules.d/ and unplug/plug the modem.

Plugin configuration

You can configure the url of an online CardDAV file or the path on your server of a CardDAV file. (also called VCF file). These files are contact list files and can be provided by personnal or profesionnal cloud solutions. You can also get this kind of files by doing an export of your smartphone contacts in a file.

Key Type Description
vcf_url url The url of a vcf file or the local path of the file on the server.
vcf_cell_label string Label to override the default number type in the VCF file : ‘CELL’
vcf_home_label string Label to override the default number type in the VCF file : ‘HOME’
vcf_work_label string Label to override the default number type in the VCF file : ‘WORK’

As a VCF fiel can contains multiple numbers for a contact, if a contact have several phone numbers, the type of number will be added to the contact name. Default number types in a VCF file are not sexy (CELL, WORK, HOME):

FN:John doe

You can override these labels with the vcf_xxxx_label parameters.

Create the domogik devices

Domogik device type : callerid.callerid

Two parameters are needed for a domogik device creation:

Key Type Description
device string The modem device address on the server. Example : /dev/modem
cid_command choice The AT command to activate caller id feature on the modem

If your modem is not able to catch the inbound calls numbers, this may be related to the cid_command parameter. The default value should be ok for most of the modem, but you can try the other values if needed.

Advanced configuration

In the advanced configuration pages, you can configure a list of known conttacts and a list of numbers to blacklist.

Known contacts

Create a line per phone number. The format is : name of the contact;phone number. Example:

John Doe;+33123456789

Theses contacts are stored in the file data/contacts.csv in the plugin folder.

Blacklisted numbers

The plugin is able to take the phone up and down for a list of numbers. For these numbers, your phone should ring only once.

Create a line per phone number to blacklist. The format is : reason of the blacklisting;phone number. Example:

I don't like this person;+33666666666
Mother in law;+33555555555

Theses blacklisted numbers are stored in the file data/blacklist.csv in the plugin folder.

Start the plugin

You can now start the plugin (start button) and use the created domogik devices.

Set up your widgets on the user interface

You can now place the widgets of your devices features on the user interface.