npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

freebox-caller-id

v0.7.7

Published

Notifications (SMS, voix) quand le téléphone fixe de la Freebox (Révolution ou Mini 4K) sonne

Downloads

19

Readme

Freebox Caller ID

Vous en avez assez d'aller voir qui appelle sur votre téléphone Freebox fixe, quand la plupart du temps il s'agit d'un appel indésirable ou d'un numéro caché ?

Ce script est fait pour vous !

Quand le téléphone fixe de la Freebox (Révolution ou Mini 4K) sonne, ce script envoie une notification, au choix :

  • par SMS sur votre mobile (Free Mobile) avec le numéro ou le nom de l'appelant.
  • par la voix, via le haut-parleur du Freebox Server. Vous vous demandiez à quoi il servait ? Et ben voilà :-)

Vous pouvez alors décider de vous lever pour aller répondre ou pas.

Prérequis

  • Une Freebox Révolution ou une Freebox Mini 4K (le script utilise Freebox OS)
  • Un serveur avec Node.js sur le réseau local de la Freebox (par exemple un Raspberry Pi)
  • Une ligne Free Mobile (pour recevoir les notifications par SMS)

Vous devez récupérer votre identifiant et la clé d'identification de l'API de notification SMS sur votre compte Free Mobile.

Vous devez lancer le script 24h/24 sur un serveur qui se trouve sur le réseau local du Freebox Server. Le script a été testé avec un Raspberry Pi 3.

Installation

FFmpeg

FFmpeg sert à jouer le fichier son vers le haut-parleur du Freebox Server. (via AirTunes)

Pour le Pi3 (et le 2 ??) :

wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-armhf-32bit-static.tar.xz
tar -xJf ffmpeg-release-armhf-32bit-static.tar.xz
sudo cp ffmpeg-3.4-armhf-32bit-static/ff* /usr/local/bin/

Le chemin de ffmpeg est /usr/local/bin/ffmpeg

Pour le Pi :

wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-armel-32bit-static.tar.xz
tar -xJf ffmpeg-release-armhf-32bit-static.tar.xz
sudo cp ffmpeg-3.4-armhf-32bit-static/ff* /usr/local/bin/

Le chemin de ffmpeg est /usr/local/bin/ffmpeg

Svoxpico

Svoxpico est un des meilleurs utilitaires de synthèse de voix sous linux.

sudo apt-get install libttspico-utils

Sox

Sox est un utilitaire "couteau suisse" pour tout ce qui est manipulation de fichiers sons.

sudo apt-get install sox

Freebox Caller ID

Le script principal qui orquestre le tout.

git clone https://github.com/jystervinou/freebox-caller-id.git

cd freebox-caller-id

npm install

Pour mettre à jour Freebox Caller ID, vous pouvez faire un git pull dans le répertoire freebox-caller-id.

Fonctionnement

1- Créer un fichier config/local.json en prenant pour modèle le fichier config/default.json (Renseigner vos identifiants Free Mobile pour l'API de notification par SMS).

2- Initialiser le script pour s'authentifier auprès de la Freebox. Une demande d'autorisation va s'afficher sur l'écran LCD de Freebox Server. Répondez oui avec la flèche droite.

node caller_id.js init

3- Vous pouvez maintenant lancer le script principal :

node caller_id.js

Carnet d'adresse de la Freebox

Freebox Caller ID utilise le carnet d'adresse de la Freebox pour trouver le nom de l'appelant.

La Freebox Révolution et la Freebox Mini 4k possèdent un carnet d'adresse intégré pour gérer vos contacts.

Le plus simple est d'importer en masse vos contacts dans le carnet d'adresses. Par exemple, vous pouvez exporter vos contacts à partir de Google Contacts. (Format vcard/vcf)

Options

1- Vous pouvez renseigner plusieurs numéros Free Mobile destinataires des notifications. Il suffit de rajouter un nouvel élément dans l'Array 'freemobile' dans config/local.json.

{
  "freemobile" : [{
      "login" : "12345678",
      "pass" : "xxxxxxxxxxxxxx"
    },
    {
      "login" : "87654321",
      "pass" : "yyyyyyyyyyyyyy"
    }
  ]
}

2- Vous pouvez customiser le template des SMS, en rajoutant un champ 'template' (utilise doT et sa syntaxe):

{
  "freemobile" : [{
    "login" : "12345678",
    "pass" : "xxxxxxxxxxxxxx",
    "template" : "{{=call.number}}"
  }]
}

Les champs disponibles sont call.number, call.name, call.type, call.id, call.duration, call.datetime, call.contact_id, call.line_id, call.new (valeurs fournies par FreeboxOS).

3- Pour envoyer le nom de l'appelant sur le haut-parleur du Freebox Server, il faut ajouter un champ voice2freebox dans le fichier de conf :

{
  "freemobile" : [{
      "login" : "12345678",
      "pass" : "xxxxxxxxxxxxxx"
    }
  ],
  "voice2freebox" : {
    "pico2wave" : "/usr/bin/pico2wave",
    "sox" : "/usr/bin/sox",
    "ffmpeg" : "/usr/local/bin/ffmpeg",
    "before" : "./starwars.wav",
    "middle" : "./r2d2.wav",
    "after" : "./theend.wav",
    "repeat" : 3
  }
}

Vous ne devez mettre les champs pico2wave, sox et ffmpeg seulement si vous souhaitez modifier les valeurs par défaut (qui sont celles juste au dessus).

  • repeat est le nombre de fois que le nom sera répété via le haut-parleur. (L'integer 2, pas le string "2")
  • before est le chemin vers un fichier wav qui sera joué avant toutes les annonces du nom.
  • middle est le chemin vers un fichier wav qui sera joué entre les annonces du nom.
  • after est le chemin vers un fichier wav qui sera joué après les annonces du nom.

Note : les fichiers wav doivent avoir un Sample Rate de 16000, vous pouvez utiliser soxi test.wav pour le vérifier. (soxi est installé en même temps que sox)

Pour modifier le Sample Rate d'un fichier wav : sox entree.wav -r 16000 sortie.wav

Auteurs

See also the list of contributors who participated in this project.

License

This project is licensed under the GPL License - see the LICENSE.md file for details

Remerciements

  • aeuillot et guillaumewuip pour le module Node pour Freebox OS
  • les développeurs de Freebox OS