freebox-caller-id icon indicating copy to clipboard operation
freebox-caller-id copied to clipboard

demande pour domotique

Open hornet49 opened this issue 7 years ago • 59 comments

ti Bonjour d'Angers ;-) serait il possible de faire une version encore plus "light" de façon à envoyer la notification via une requête http? (pas de conversion wav, pas de airtune, pas besoin de synthèse de voix et pas de manipulation de fichiers sons) j'utilise impérihome pour faire la notification domotique chez moi. voici l'exemple d'une notification impérihome. http://[IP tablette]:[port]/api/rest/speech/tts?text=appel%20entrant%20de vous pensez que c'est possible ? sinon je vais regarder ton code mais je suis pas programmeur donc je vais passer bcp de temps sans y arriver forcément lol. Merci d'avance pour votre aide en tout cas c'est un très beau projet !!!! félicitation ;-) En tout cas si c'est possible je pense que cela va intéresser bcp d'utilisateur de box domotique...

hornet49 avatar Nov 24 '17 13:11 hornet49

Bonjour,

Oui. Il faudrait envoyer le même texte que celui envoyé par SMS ? (en paramètre d'une URL à paramétrer) ou tout le fichier json de l'appel (qui contient le numéro, le nom etc...) ?

Au final cet envoi provoque quoi ?

jystervinou avatar Nov 24 '17 13:11 jystervinou

une notification vocal dans mon salon lol

hornet49 avatar Nov 24 '17 13:11 hornet49

j'ai déjà un serveur node.js sous windows 7 qui tourne pour sarah (https://blog.encausse.net/sarah/)

hornet49 avatar Nov 24 '17 13:11 hornet49

OK.

Tu as déjà essayé d'installer Freebox Caller ID sur le serveur windows 7 ? Pour le moment je n'ai testé que pour linux, il faut voir pour les utilitaires utilisés (ffmpeg, sox, Svoxpico...).

Même si dans le cas d'une notification par http, elles ne serviront pas en fait, ça peut servir à d'autres.

Je regarde pour la demande.

jystervinou avatar Nov 24 '17 13:11 jystervinou

je suis au taff là pour l'instant, mais je regarde ça ce week end ;-) chuttttttt lol

hornet49 avatar Nov 24 '17 13:11 hornet49

C'est fait, merci de me dire si ça marche.

La doc n'est pas encore à jour, il faut mettre dans le fichier de conf (je reprends ton exemple d'url) :

{
  "httpget":[{
    "url" : "http://[IP tablette]:[port]/api/rest/speech/tts?text="
    "template" : "{{=call.number}}"
  }]
}

  • il s'agit d'un Array, car tu peux mettre plusieurs confs pour notifier plusieurs URL

  • le champ template est optionnel. (sinon ça utilise le template par défaut)

  • le texte de la notification est ajouté à la fin du l'url spécifiée, encodé avec "url encode".

jystervinou avatar Nov 24 '17 14:11 jystervinou

Bonjour, Tout d'abord merci pour ce script.

Je ne m'y connais pas vraiment en js mais par hasard, serait il possible, à partir du code de lancer une commande script linux avec le fichier son en paramètre ?

En effet, je souhaite diffuser le son sur mes Chromecast et Google Home dans la maison.

J'ai déjà un script pour ça, en python mais il faudrait justement pouvoir exécuter ce script pour envoyer le son sur les Chromecast et Google Home.

Voici la syntaxe d'envoi : /var/www/html/plugins/script/core/ressources/stream2chromecast.py -devicename 192.168.0.XX lienverslefichier

Si vous souhaitez le script, je peux vous l'envoyer si vous voulez.

Merci d'avance, MaximePrince

ghost avatar Nov 25 '17 12:11 ghost

Bonjour,

Oui normalement pas de problème, je vais regarder ça.

Le script à appeler est bien sur le même serveur que le script de Freebox Caller ID ?

jystervinou avatar Nov 25 '17 14:11 jystervinou

Merci beaucoup.

Oui effectivement le script est bien sur le même serveur.

ghost avatar Nov 25 '17 14:11 ghost

hum :-/ voici le message d'erreur que j'ai:

C:\Users\Salon\Desktop\freebox-caller-id-master>caller_id

C:\Users\Salon\Desktop\freebox-caller-id-master\caller_id.js:56 script.command('init').description("Requests authorization").action( ()=> { ^ SyntaxError: Unexpected token ) at Module._compile (module.js:439:25) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:901:3

ça te parle ? sachant que j'ai juste installé un serveur node.js et aucun complément (FFmpeg, Svoxpico ni Sox) car sous windows 7. pour info: j'ai simplement installé sarah, qui install un serveur node.js sur windows. après j'ai configurer le default.json en ne mettant que ce que: { "httpget":[{ "url" : "http://[IP tablette]:[port]/api/rest/speech/tts?text=" "template" : "{{=call.number}}" }] } (avec la bonne IP et port biensur) et j'ai configurer windows pour qu'il ouvre caller_id.js avec node.exe par default. j'ai loupé un truc ?

hornet49 avatar Nov 25 '17 18:11 hornet49

c'est quelle version de Node ? (node -v)

jystervinou avatar Nov 25 '17 18:11 jystervinou

c'est justement ce que j'étais entrain de regarder tu vas rire lol V0.10.12 bon je crois que je vais mettre à jour...

hornet49 avatar Nov 25 '17 18:11 hornet49

Je me traine encore cette version à certains endroits..

Mais comme certaines librairies que j'utilise nécessitent un version de node plus récente, il faut aussi une version de node plus récente pour ce script.

jystervinou avatar Nov 25 '17 19:11 jystervinou

Bonjour,

serait il possible de rajouter une petite fonction "domotique": Si 'Entrée x' ou Entrée y' du Raspberry Pi, alors envoi SMS avec message personnalisable en fonction de l'entrée active. (par ex.: permet d'envoyer SMS si alarme sonne ou autre ....)

Merci par avance.

Laulo7 avatar Nov 26 '17 11:11 Laulo7

@Laulo7 bonjour. je ne comprends pas bien, il y a un lien avec Freebox Caller ID ou pas du tout ? Merci de me donner un exemple complet.

jystervinou avatar Nov 26 '17 15:11 jystervinou

@Laulo7 , pourquoi n'installes tu pas une version de JEEDOM sur ton Raspberry pi ? @jystervinou je viens de réinstaller la dernière version de nodejs pour windows. donc maintenant je suis en 8.9.1 j'ouvre un command prompt node.js et je lance npm install au début il télécharge quelques truc puis j'ai cette erreur:

npm ERR! code ENOGIT npm ERR! No git binary found in $PATH npm ERR! npm ERR! Failed using git. npm ERR! Please check if you have git installed and in your PATH.

et dans le fichier de log j'ai ça: 174 silly fetchPackageMetaData error for node-freeboxos@github:jystervinou/node-freeboxos No git binary found in $PATH 175 silly fetchPackageMetaData error for airtunes@github:jystervinou/node_airtunes No git binary found in $PATH

du coup au final le module "node-freeboxos" n'est pas installé :-( est ce qu'on peut l'installer manuellement ?

hornet49 avatar Nov 26 '17 15:11 hornet49

Il manque git, qu'il faut installer.

jystervinou avatar Nov 26 '17 15:11 jystervinou

oui, j'avais déjà fait ça: j'ai installé git pour windows sur: git-scm.com après j'ouvre la fenettre GIT CMD puis la commande: git clone https://github.com/jystervinou/freebox-caller-id.git ça m'a copié le dossier freebox-caller-id sur mon bureau mais bon ça marche pas mieux :-(

hornet49 avatar Nov 26 '17 15:11 hornet49

Je ne sais pas comment ça marche sur Windows, mais l'erreur dit que git n'est pas référencé dans la variable d'environnement PATH. Le truc d'installation de git n'a pas proposé de le référencer dans le PATH ?

jystervinou avatar Nov 26 '17 16:11 jystervinou

effectivement j'avais plusieurs choix j'ai peut être pas prit le bon je vais essayer un autre choix je test ;-)

hornet49 avatar Nov 26 '17 16:11 hornet49

Ok, j'ai rajouter le path et surtout (c'était ça le problème) exécuter en administrateur !!! donc cette commande ok ça marche => git clone https://github.com/jystervinou/freebox-caller-id.git ensuite je fais la commande suivante dans le bon répertoir: npm install là j'ai d'autre problème bon je pense que c'est parce que j'ai pas installer visual studio :-/ C:\Users\Production49\Desktop\freebox-caller-id> npm install

[email protected] install C:\Users\Production49\Desktop\freebox-caller-id\node_mo dules\airtunes node-gyp rebuild

C:\Users\Production49\Desktop\freebox-caller-id\node_modules\airtunes>if not def ined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\nod e-gyp-bin\....\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "" rebuild ) Génération des projets individuellement dans cette solution. Pour activer la gén ération en parallèle, ajoutez le commutateur "/m". MSBUILD : error MSB3428: Impossible de charger le composant Visual C++ "VCBuild .exe". Pour corriger le problème, vous devez 1) installer le Kit de développeme nt .NET Framework 2.0 SDK, 2) installer Microsoft Visual Studio 2005 ou 3) ajou ter l'emplacement du composant au chemin d'accès système, s'il est installé ail leurs. [C:\Users\Production49\Desktop\freebox-caller-id\node_modules\airtunes
build\binding.sln] gyp ERR! build error gyp ERR! stack Error: C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe failed with exit code: 1 gyp ERR! stack at ChildProcess.onExit (C:\Program Files\nodejs\node_modules
npm\node_modules\node-gyp\lib\build.js:258:23) gyp ERR! stack at emitTwo (events.js:126:13) gyp ERR! stack at ChildProcess.emit (events.js:214:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_proces s.js:198:12) gyp ERR! System Windows_NT 6.1.7601 gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodej s\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild" gyp ERR! cwd C:\Users\Production49\Desktop\freebox-caller-id\node_modules\airtun es gyp ERR! node -v v8.9.1 gyp ERR! node-gyp -v v3.6.2 gyp ERR! not ok npm WARN [email protected] license should be a valid SPDX license expressi on

npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] install: node-gyp rebuild npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] install script. npm ERR! This is probably not a problem with npm. There is likely additional log ging output above.

npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\Production49\AppData\Roaming\npm-cache_logs\2017-11-26T18 _12_39_754Z-debug.log

C:\Users\Production49\Desktop\freebox-caller-id>node caller_id.js init module.js:538 throw err; ^

Error: Cannot find module 'airtunes' at Function.Module._resolveFilename (module.js:536:15) at Function.Module._load (module.js:466:25) at Module.require (module.js:579:17) at require (internal/module.js:11:18) at Object. (C:\Users\Production49\Desktop\freebox-caller-id\calle r_id.js:6:16) at Module._compile (module.js:635:30) at Object.Module._extensions..js (module.js:646:10) at Module.load (module.js:554:32) at tryModuleLoad (module.js:497:12) at Function.Module._load (module.js:489:3)

hornet49 avatar Nov 26 '17 18:11 hornet49

hum.

mmm, essaye d'installer ces modules individuellement (à la place du npm install) :

https://github.com/jystervinou/freebox-caller-id/blob/master/package.json

npm install commander
npm install request
npm install config
npm install dot
npm install winston

ils ne devraient pas poser de problème.

Ensuite essayer celui-là :

npm install github:jystervinou/node-freeboxos

Si ça marche c'est carrément la fête.

C'est celui-ci qui plante, car il nécessite une compilation:

npm install github:jystervinou/node_airtunes

Coupe Davis les gars :-D

jystervinou avatar Nov 26 '17 18:11 jystervinou

bon j'avance, j'avance... visual studio installer et exécution dans le répertoire des modules (ça marche mieux que celui que j'avais copier sur le bureau) bon nouvelle erreur.... là je bloque...

C:\Program Files\nodejs\node_modules\npm\node_modules>npm install npm WARN deprecated [email protected]: several bugs fixed in v3.2.1

[email protected] prepare C:\Program Files\nodejs\node_modules\npm node bin/npm-cli.js --no-timing prune --prefix=. --no-global && rimraf test/*/ */node_modules && make -j4 doc

npm notice created a lockfile as package-lock.json. You should commit this file.

npm WARN [email protected] requires a peer of ajv@>=4.10.0 but none is installe d. You must install peer dependencies yourself.

up to date in 2.4s 'rimraf' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes. npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] prepare: node bin/npm-cli.js --no-timing prune --prefix=. -- no-global && rimraf test/*/*/node_modules && make -j4 doc npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] prepare script. npm ERR! This is probably not a problem with npm. There is likely additional log ging output above.

npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\Production49\AppData\Roaming\npm-cache_logs\2017-11-26T18 _34_34_481Z-debug.log

hornet49 avatar Nov 26 '17 18:11 hornet49

Instructions à tenter pour Windows.

Option 1

Install all the required tools and configurations using Microsoft's windows-build-tools using npm install --global --production windows-build-tools from an elevated PowerShell or CMD.exe (run as Administrator).

Option 1

Installer tous les outils et les configurations nécessaires en utilisant windows-build-tools de Microsoft avec la commande npm install --global --production windows-build-tools à partir de PowerShell ou CMD.exe (avec un compte Administrateur).

Plus d'infos chez Microsoft.

jystervinou avatar Nov 26 '17 18:11 jystervinou

@hornet49 c'est quelle commande qui génère cette dernière erreur ?

Tout le bazar windows-build-tools installé ?

jystervinou avatar Nov 26 '17 18:11 jystervinou

@hornet49: Bonsoir, suis pas expert, mais il me semble qu'avec JEEDOM l'envoi SMS est payant

@jystervinou En fait l'idée est d'interagir en fonction de du nom / N° appelant pour faire un signal lumineux lorsqu'on est à l’extérieur chez soi et pas avec son portable pour pas loupé un appel important (je sais, j'ai cas prendre mon portable, mais qu'en on jardine ou bricole pas évident). La gestion d'entrée permettrait par exemple d'activer ou pas cette fonction via un switch et en avoir confirm par SMS.

Laulo7 avatar Nov 26 '17 19:11 Laulo7

@Laulo7 ok, je vois mieux le but, mais je ne comprends toujours pas de quelles entrées tu parles ? Désolé je débute en raspberry pi :-)

jystervinou avatar Nov 26 '17 20:11 jystervinou

je vais regarder ça demain soir maintenant ;-) je suis perdu avec tout les tests que j'ai fait dans tout les sens ... bonne soirée à toi ;-)

hornet49 avatar Nov 26 '17 20:11 hornet49

@Laulo7 Le script que propose @jystervinou fonctionne avec les SMS Free qui consistent à envoyer des sms sur ton portable perso. Cependant, cela ne fonctionne qu'uniquement avec ton tel perso sous Free. En gros, tu peux envoyer des SMS mais uniquement sur ton portable Free.

Après si c'est bien l'envoi de sms sur ton portable Free que tu cherches, il y a un plugin Jeedom gratuit qui fait déjà le travail. Il s'appelle Free Mobile SMS.

Bonne soirée, MaximePrince

ghost avatar Nov 26 '17 21:11 ghost

@MaximePrince Bonsoir, merci pour l'info. Dans ce cas, comment faire tourner Jeedom (&Free Mobile SMS) et freebox-caller-id en même temps? Je débute moi aussi en Rasberry et connait pas Jeedom... Merci.

@jystervinou Bonsoir, En fait je débute moi aussi en Rasberry. En fait voici des exemples: http://nagashur.com/blog/2013/01/01/controler-une-led-depuis-les-ports-gpio-du-raspberry-pi/ https://elinux.org/RPi_GPIO_Code_Samples https://learn.sparkfun.com/tutorials/raspberry-gpio#c-wiringpi-example https://myelectronicslab.com/raspberry-pi-gpio-programming-c-wiring-pi-tutorial/ Merci.

Laulo7 avatar Nov 28 '17 17:11 Laulo7