{"id":13830329,"url":"https://github.com/paviro/MMM-FRITZ-Box-Callmonitor","last_synced_at":"2025-07-09T11:32:41.084Z","repository":{"id":123504924,"uuid":"54852313","full_name":"paviro/MMM-FRITZ-Box-Callmonitor","owner":"paviro","description":"This an extension for the MagicMirror. It provides a callmonitor for FRITZ!Box users alerting them about incoming calls.","archived":true,"fork":false,"pushed_at":"2019-05-06T10:47:19.000Z","size":95,"stargazers_count":28,"open_issues_count":14,"forks_count":22,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-08-04T10:02:53.526Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paviro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-03-27T23:11:40.000Z","updated_at":"2024-05-05T13:08:55.000Z","dependencies_parsed_at":"2023-03-25T11:49:58.901Z","dependency_job_id":null,"html_url":"https://github.com/paviro/MMM-FRITZ-Box-Callmonitor","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paviro%2FMMM-FRITZ-Box-Callmonitor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paviro%2FMMM-FRITZ-Box-Callmonitor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paviro%2FMMM-FRITZ-Box-Callmonitor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paviro%2FMMM-FRITZ-Box-Callmonitor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paviro","download_url":"https://codeload.github.com/paviro/MMM-FRITZ-Box-Callmonitor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225539372,"owners_count":17485314,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T10:00:58.709Z","updated_at":"2024-11-20T11:30:38.591Z","avatar_url":"https://github.com/paviro.png","language":"JavaScript","funding_links":[],"categories":["Productivity"],"sub_categories":[],"readme":"# MMM-FRITZ-Box-Callmonitor\nThis an extension for the [MagicMirror](https://github.com/MichMich/MagicMirror). It provides a callmonitor for FRITZ!Box users alerting them about incoming calls.\n![call](https://cloud.githubusercontent.com/assets/992826/14791014/3febe6b4-0b14-11e6-89d8-160a7c459835.png)\n\n\n## Installation\n1. Navigate into your MagicMirror's `modules` folder and execute `git clone https://github.com/paviro/MMM-FRITZ-Box-Callmonitor.git`. A new folder will appear navigate into it.\n2. Execute `npm install` to install the dependencies.\n3. (Optional) Execute `sudo apt-get install python-dev libxml2-dev libxslt1-dev zlib1g-dev \u0026\u0026 sudo pip install fritzconnection` to allow access to your FRITZ!Box phone book and recent calls. This can take a few minutes.\n4. Activate the callmonitor of your FRITZ!Box by calling `#96*5*` on a connected phone (Fritz Fon App won't work).\n\n## Using the module\n\nTo use this module, add it to the modules array in the `config/config.js` file:\n````javascript\nmodules: [\n\t{\n\t\tmodule: 'MMM-FRITZ-Box-Callmonitor',\n\t\tposition: 'top_right',\t// This can be any of the regions. Best results in left or right regions.\n\t\theader: \"Recent calls\", // This is optional\n\t\tconfig: {\n\t\t\t// See 'Configuration options' for more information.\n\t\t}\n\t}\n]\n````\n\n### Loading your contacts\n\nThere are currently two different ways to get this module to displays the name of the caller, rather than the number.\nThey are both optional, and you can combine them.\n\n1. Load a .vcf file, for example exported contacts from your phone (see [options](#configuration-options) marked with **VCF**)\n2. Access your FRITZ!Box contacts via the TR-064 API (see [options](#configuration-options) marked with **API**)\n\nThe latter will also load recently missed calls, which happened before you started your mirror.\n\n### MMM-Callmonitor-Current-Call\nIf you are interested in having a list with all active calls as well, check out [MMM-Callmonitor-Current-Call](https://github.com/paviro/MMM-Callmonitor-Current-Call). \n\n## Configuration options\n\nThe following properties can be configured:\n\n\u003ctable width=\"100%\"\u003e\n\t\u003c!-- why, markdown... --\u003e\n\t\u003cthead\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003cth\u003eOption\u003c/th\u003e\n\t\t\t\u003cth\u003eMethod\u003c/th\u003e\n\t\t\t\u003cth width=\"100%\"\u003eDescription\u003c/th\u003e\n\t\t\u003c/tr\u003e\n\t\u003cthead\u003e\n\t\u003ctbody\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e\u003ccode\u003enumberFontSize\u003c/code\u003e\u003c/td\u003e\n\t\t\t\u003ctd\u003eany\u003c/td\u003e\n\t\t\t\u003ctd\u003eFont size of the phone number displayed in the alert.\u003cbr\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003ePossible values:\u003c/b\u003e any \u003ccode\u003eint\u003c/code\u003e or \u003ccode\u003efloat\u003c/code\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003eDefault value:\u003c/b\u003e \u003ccode\u003e30\u003c/code\u003e\n\t\t\t\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e\u003ccode\u003evCard\u003c/code\u003e\u003c/td\u003e\n\t\t\t\u003ctd\u003eVCF\u003c/td\u003e\n\t\t\t\u003ctd\u003eAbsolute path to a .vcf file for number to name conversion.\u003cbr\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003ePossible values:\u003c/b\u003e \u003ccode\u003estring\u003c/code\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003eDefault value:\u003c/b\u003e \u003ccode\u003efalse\u003c/code\u003e\n\t\t\t\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e\u003ccode\u003eminimumCallLength\u003c/code\u003e\u003c/td\u003e\n\t\t\t\u003ctd\u003eany\u003c/td\u003e\n\t\t\t\u003ctd\u003eThere is no real way to tell whether a call was missed or not because voice mails count as connected calls. You can however change the time a call has to be for it to be considered not missed. You should probably use a value as long as your voice mail. \u003cbr\u003eDefault \u003ccode\u003e0\u003c/code\u003e means any call gets added to the history.\u003cbr\u003e If you enter a time larger than `0`, any call that is longer than that time, is not added to the list.\u003cbr\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003ePossible values:\u003c/b\u003e \u003ccode\u003etime\u003c/code\u003e in \u003ccode\u003eseconds\u003c/code\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003eDefault value:\u003c/b\u003e \u003ccode\u003e0\u003c/code\u003e\n\t\t\t\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e\u003ccode\u003epassword\u003c/code\u003e\u003c/td\u003e\n\t\t\t\u003ctd\u003eAPI\u003c/td\u003e\n\t\t\t\u003ctd\u003ePassword to access the FritzBox API. (\u003cb\u003eoptional\u003c/b\u003e) \u003cbr\u003e \n\t\t\tIf you enter this, it directly loads your phonebook(s) and recently missed calls from the FritzBox.\u003cbr\u003e\n\t\t\tIf you have specified a username for your access to the FritzBox, see below. \u003cbr\u003e \u003cbr\u003e\n\t\t\tYou can also create a different user from the one you use for accessing the FritzBox (see this guide: \u003ca href=\"https://service.avm.de/help/en/FRITZ-Box-Fon-WLAN-7490/015/hilfe_system_user_konzept\"\u003een\u003c/a\u003e / \u003ca href=\"https://service.avm.de/help/de/FRITZ-Box-Fon-WLAN-7490/015/hilfe_system_user_konzept\"\u003ede\u003c/a\u003e). \u003cb\u003eYou will need to check \u003cspan title=\"FRITZ!Box Einstellungen sehen und bearbeiten\"\u003e\u003ci\u003eView and edit FRITZ!Box settings\u003c/i\u003e\u003c/span\u003e for this user.\u003c/b\u003e \u003cbr\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003ePossible values:\u003c/b\u003e \u003ccode\u003estring\u003c/code\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003eDefault value:\u003c/b\u003e \u003ccode\u003e\"\"\u003c/code\u003e\n\t\t\t\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e\u003ccode\u003eusername\u003c/code\u003e\u003c/td\u003e\n\t\t\t\u003ctd\u003eAPI\u003c/td\u003e\n\t\t\t\u003ctd\u003eUsername to access the FritzBox API. (\u003cb\u003eoptional\u003c/b\u003e)\u003cbr\u003e\n\t\t\tSpecify the username if you have one set up for the FritzBox access (see password option). \u003cbr\u003e\n\t\t\tLeave out if you have no username (default).\u003cbr\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003ePossible values:\u003c/b\u003e \u003ccode\u003estring\u003c/code\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003eDefault value:\u003c/b\u003e \u003ccode\u003e\"\"\u003c/code\u003e\n\t\t\t\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e\u003ccode\u003ereloadContactsInterval\u003c/code\u003e\u003c/td\u003e\n\t\t\t\u003ctd\u003eAPI\u003c/td\u003e\n\t\t\t\u003ctd\u003eHow often contacts are reloaded from the FRITZ!Box.\u003cbr\u003e\n\t\t\tSet to 0 to disable reloading contacts, they are only loaded once after the start of the mirror.\n\t\t\t\u003cbr\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003ePossible values:\u003c/b\u003e \u003ccode\u003etime\u003c/code\u003e in \u003ccode\u003eminutes\u003c/code\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003eDefault value:\u003c/b\u003e \u003ccode\u003e30\u003c/code\u003e\n\t\t\t\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e\u003ccode\u003edeviceFilter\u003c/code\u003e\u003c/td\u003e\n\t\t\t\u003ctd\u003eAPI\u003c/td\u003e\n\t\t\t\u003ctd\u003e You can enter the names of your real phone devices here (\u003cb\u003eoptional\u003c/b\u003e). You should be redirected to the list after you login \u003ca href=\"http://fritz.box/?lp=dectDev\"\u003ehere\u003c/a\u003e. \u003cbr\u003e\n\t\t\tExample: \u003ccode\u003edeviceFilter: [\"firstphone\", \"secondphone\"]\u003c/code\u003e.\n\t\t\t\u003cbr\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003ePossible values:\u003c/b\u003e \u003ccode\u003earray\u003c/code\u003e of \u003ccode\u003estrings\u003c/code\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003eDefault value:\u003c/b\u003e \u003ccode\u003e[]\u003c/code\u003e\n\t\t\t\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e\u003ccode\u003eshowContactsStatus\u003c/code\u003e\u003c/td\u003e\n\t\t\t\u003ctd\u003eany\u003c/td\u003e\n\t\t\t\u003ctd\u003eIf no recent calls are displayed, a small symbol shows how many contacts are loaded in your phonebook. \u003cbr\u003e\n\t\t\tA small warning sign appears if any error occurs when importing contacts from vCard or the FRITZ!Box.\n\t\t\t\u003cbr\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003ePossible values:\u003c/b\u003e \u003ccode\u003etrue\u003c/code\u003e or \u003ccode\u003efalse\u003c/code\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003eDefault value:\u003c/b\u003e \u003ccode\u003efalse\u003c/code\u003e\n\t\t\t\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e\u003ccode\u003emaximumCallDistance\u003c/code\u003e\u003c/td\u003e\n\t\t\t\u003ctd\u003eany\u003c/td\u003e\n\t\t\t\u003ctd\u003eTime after which calls get removed from the list.\u003cbr\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003ePossible values:\u003c/b\u003e \u003ccode\u003etime\u003c/code\u003e in \u003ccode\u003emin\u003c/code\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003eDefault value:\u003c/b\u003e \u003ccode\u003e60\u003c/code\u003e\n\t\t\t\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e\u003ccode\u003emaximumCalls\u003c/code\u003e\u003c/td\u003e\n\t\t\t\u003ctd\u003eany\u003c/td\u003e\n\t\t\t\u003ctd\u003eMaximum number of calls to be shown in the list.\u003cbr\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003ePossible values:\u003c/b\u003e any \u003ccode\u003eint\u003c/code\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003eDefault value:\u003c/b\u003e \u003ccode\u003e5\u003c/code\u003e\n\t\t\t\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e\u003ccode\u003efritzIP\u003c/code\u003e\u003c/td\u003e\n\t\t\t\u003ctd\u003eany\u003c/td\u003e\n\t\t\t\u003ctd\u003eIP Adress of your FRITZ!Box.\u003cbr\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003ePossible values:\u003c/b\u003e IP Address\n\t\t\t\t\u003cbr\u003e\u003cb\u003eDefault value:\u003c/b\u003e \u003ccode\u003e192.168.178.1\u003c/code\u003e\n\t\t\t\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e\u003ccode\u003efritzPort\u003c/code\u003e\u003c/td\u003e\n\t\t\t\u003ctd\u003eany\u003c/td\u003e\n\t\t\t\u003ctd\u003ePort of your FRITZ!Box callmonitor (you should not have to change that)\u003cbr\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003ePossible values:\u003c/b\u003e any \u003ccode\u003eint\u003c/code\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003eDefault value:\u003c/b\u003e \u003ccode\u003e1012\u003c/code\u003e\n\t\t\t\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e\u003ccode\u003efade\u003c/code\u003e\u003c/td\u003e\n\t\t\t\u003ctd\u003eany\u003c/td\u003e\n\t\t\t\u003ctd\u003eFade old calls to black. (Gradient)\u003cbr\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003ePossible values:\u003c/b\u003e \u003ccode\u003etrue\u003c/code\u003e or \u003ccode\u003efalse\u003c/code\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003eDefault value:\u003c/b\u003e \u003ccode\u003etrue\u003c/code\u003e\n\t\t\t\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e\u003ccode\u003efadePoint\u003c/code\u003e\u003c/td\u003e\n\t\t\t\u003ctd\u003eany\u003c/td\u003e\n\t\t\t\u003ctd\u003eWhere to start fade?\u003cbr\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003ePossible values:\u003c/b\u003e \u003ccode\u003e0\u003c/code\u003e (top of the list) - \u003ccode\u003e1\u003c/code\u003e (bottom of list)\n\t\t\t\t\u003cbr\u003e\u003cb\u003eDefault value:\u003c/b\u003e \u003ccode\u003e0.25\u003c/code\u003e\n\t\t\t\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e\u003ccode\u003edebug\u003c/code\u003e\u003c/td\u003e\n\t\t\t\u003ctd\u003eany\u003c/td\u003e\n\t\t\t\u003ctd\u003eShould debug information be displayed in case of errors?\u003cbr\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003ePossible values:\u003c/b\u003e \u003ccode\u003etrue\u003c/code\u003e or \u003ccode\u003efalse\u003c/code\u003e\n\t\t\t\t\u003cbr\u003e\u003cb\u003eDefault value:\u003c/b\u003e \u003ccode\u003efalse\u003c/code\u003e\n\t\t\t\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\u003c/tbody\u003e\n\u003c/table\u003e\n\n## Dependencies\n\n- [node-fritzbox-callmonitor](https://www.npmjs.com/package/node-fritzbox-callmonitor) (installed by `npm install`)\n- [phone-formatter](https://www.npmjs.com/package/phone-formatter) (installed by `npm install`)\n- [python-shell](https://www.npmjs.com/package/python-shell) (installed by `npm install`)\n- [vcard-json](https://www.npmjs.com/package/vcard-json) (installed by `npm install`)\n- [xml2js](https://www.npmjs.com/package/xml2js): (installed by `npm install`)\n- [fritzconnection](https://pypi.python.org/pypi/fritzconnection): (installed by `sudo apt-get install python-dev libxml2-dev libxslt1-dev zlib1g-dev \u0026\u0026 sudo pip install fritzconnection`)\n\nThe MIT License (MIT)\n=====================\n\nCopyright © 2016 Paul-Vincent Roll\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the “Software”), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\n**The software is provided “as is”, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaviro%2FMMM-FRITZ-Box-Callmonitor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaviro%2FMMM-FRITZ-Box-Callmonitor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaviro%2FMMM-FRITZ-Box-Callmonitor/lists"}