Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

[Sujet officiel] l'assistant vocal Snips 100% privé (Plugin développé pour jeedom)

Pour parler de tout, et surtout de rien !
Tristan35
Timide
Messages : 407
Inscription : 09 juin 2017, 21:53
Localisation : Rennes

Re: [Sujet officiel] l'assistant vocal Snips

Message par Tristan35 » 02 sept. 2018, 19:58

Petite question pour ceux qui sont passés par des scénarios. J'aurais aimé avoir un scénario pour gérer toutes les lumières, via les tags. Seulement, si je fais un binding sans conditions de house_room et lights_type sur ligthsSetJeedom, il n'est pas appelé si je demande "Jarvis, allume la lumière du salon", j'ai la réponse comme quoi il n'a pas compris. Quelqu'un a réussi à faire ça ?

Avatar de l’utilisateur
Jeandhom
Actif
Messages : 1386
Inscription : 20 oct. 2015, 17:32

Re: [Sujet officiel] l'assistant vocal Snips

Message par Jeandhom » 02 sept. 2018, 20:17

As-tu regardé avec sam watch si ce n'est pas un autre intents sans binding qui est détecté ?

Tristan35
Timide
Messages : 407
Inscription : 09 juin 2017, 21:53
Localisation : Rennes

Re: [Sujet officiel] l'assistant vocal Snips

Message par Tristan35 » 02 sept. 2018, 20:21

Nan c'est bien le bon, mais il détecte le house_room, et comme il n'y a pas de binding avec le house_room en condition, il dit qu'il ne trouve pas :(

chsalmon
Timide
Messages : 185
Inscription : 23 déc. 2014, 11:25

Re: [Sujet officiel] l'assistant vocal Snips

Message par chsalmon » 02 sept. 2018, 21:17

Bizarrement, dans la doc on peut faire des intents sans condition mais ça ne fonctionne pas chez moi non plus.
J'ai du modifier le source de snips pour le faire fonctionner

Pour info :
nano /var/www/html/jeedom/plugins/snips/core/class/snips.class.php
ajouter || count($binding['nsr_slots'])==0

Code : Tout sélectionner

../..
function findAndDoAction($_payload)
../..
foreach($bindings as $binding) {
                snips::debug('[Binding Execution] Cur binding name : ' . $binding['name']);
                snips::debug('[Binding Execution] Binding count is : ' . count($binding['nsr_slots']));
                snips::debug('[Binding Execution] Snips count is : ' . count($slots_values));
                if (count($binding['nsr_slots']) === count($slots_values) || count($binding['nsr_slots'])==0 )   // <-- ajouter || count($binding['nsr_slots'])==0
                {  
                    snips::debug('[Binding Execution] Binding has corr number of slot: ' . $binding['name']);
                    $slot_all_exists_indicator = 1;
                    foreach($binding['nsr_slots'] as $slot) {
                 if (array_key_exists($slot, $slots_values)) {
                            $slot_all_exists_indicator*= 1;
                        }
                        else {
                            $slot_all_exists_indicator*= 0;
                        }
                    }

                    if ($slot_all_exists_indicator) {
                        $bindings_match_coming_slots[] = $binding;
                    }
                }
            }
  ../..
j'ai du redemarrer Apache pour que ce soit pris en compte :
sudo service apache2 restart

Evidement ce code sera remplacé lors de la mise à jour du plugin par snips.

Avatar de l’utilisateur
fwehrle
Actif
Messages : 2824
Inscription : 01 juil. 2015, 11:03
Localisation : Strasbourg

Re: [Sujet officiel] l'assistant vocal Snips

Message par fwehrle » 03 sept. 2018, 07:42

Tristan35 a écrit :Nan c'est bien le bon, mais il détecte le house_room, et comme il n'y a pas de binding avec le house_room en condition, il dit qu'il ne trouve pas :(
Normal. L'utilisation d'un scénario t'évite de devoir créer autant de binding que de pièces, mais il faut à minima en créer un sans condition sur house room (pour les phrases du type "allumés la lumière"), et un avec une condition sur house_room, mais avec toutes tes pièces (pour les phrases du type: allumes la lumière du salon). Et dans ton scénario, si tu veux, tu peux faire des si/sinon sur le tag house_room.
Jeedom 3 sur Debian 9 en VM Proxmox 5 sur NUC Intel.
(Anciennement sur Docker sur Syno DS-415+ / MariaDB / DSM 6)
Teleinfo / RFXCom / Stick ZWave / IPX / Serveur Traccar / Blea

Avatar de l’utilisateur
Jeandhom
Actif
Messages : 1386
Inscription : 20 oct. 2015, 17:32

Re: [Sujet officiel] l'assistant vocal Snips

Message par Jeandhom » 03 sept. 2018, 09:50

Oui, d'ailleurs, une des amélioration du plugin serait d'avoir une liste de choix des valeurs du slot.
Et de pouvoir en choisir :
- aucun
- plusieurs
- tous
Pièces jointes
Capture 20180903.PNG
Capture 20180903.PNG (1.87 Kio) Consulté 1862 fois

coorfang
Timide
Messages : 15
Inscription : 24 mai 2018, 14:19

Re: [Sujet officiel] l'assistant vocal Snips

Message par coorfang » 03 sept. 2018, 10:45

chsalmon a écrit :
02 sept. 2018, 21:17
Bizarrement, dans la doc on peut faire des intents sans condition mais ça ne fonctionne pas chez moi non plus.
J'ai du modifier le source de snips pour le faire fonctionner

Pour info :
nano /var/www/html/jeedom/plugins/snips/core/class/snips.class.php
ajouter || count($binding['nsr_slots'])==0

Code : Tout sélectionner

../..
function findAndDoAction($_payload)
../..
foreach($bindings as $binding) {
                snips::debug('[Binding Execution] Cur binding name : ' . $binding['name']);
                snips::debug('[Binding Execution] Binding count is : ' . count($binding['nsr_slots']));
                snips::debug('[Binding Execution] Snips count is : ' . count($slots_values));
                if (count($binding['nsr_slots']) === count($slots_values) || count($binding['nsr_slots'])==0 )   // <-- ajouter || count($binding['nsr_slots'])==0
                {  
                    snips::debug('[Binding Execution] Binding has corr number of slot: ' . $binding['name']);
                    $slot_all_exists_indicator = 1;
                    foreach($binding['nsr_slots'] as $slot) {
                 if (array_key_exists($slot, $slots_values)) {
                            $slot_all_exists_indicator*= 1;
                        }
                        else {
                            $slot_all_exists_indicator*= 0;
                        }
                    }

                    if ($slot_all_exists_indicator) {
                        $bindings_match_coming_slots[] = $binding;
                    }
                }
            }
  ../..
j'ai du redemarrer Apache pour que ce soit pris en compte :
sudo service apache2 restart

Evidement ce code sera remplacé lors de la mise à jour du plugin par snips.
Bonjour,

En fait, le probleme ne vient pas du programme, on doit juste rajouter une phrase dans la documentation qui indique qu'il ne faut pas choisir une condition et laisser vide la slot value. Il suffit de supprimer la condition si vous ne voulez pas de slot value.

En d'autres termes, si tu as ajouté une condition et choisi un slot, mais qu il n'y a pas de valeur. Ça ne fonctionnera pas, parce que le programme pensera que la valeur pour la condtion est "" (null)

valentinf
Timide
Messages : 251
Inscription : 13 avr. 2017, 14:16

Re: [Sujet officiel] l'assistant vocal Snips

Message par valentinf » 03 sept. 2018, 19:00

Bonsoir à tous,

Avec un peu de retard, voici la documentation du plugin Snips en Français: https://snips.gitbook.io/documentation/ ... /jeedom-fr

L'invitation Discord a été mis à jour --> https://discord.gg/XRFcuHe

Merci

johndoe2011
Timide
Messages : 266
Inscription : 22 févr. 2015, 20:20

Re: [Sujet officiel] l'assistant vocal Snips

Message par johndoe2011 » 03 sept. 2018, 20:50

Tristan35 a écrit :
01 sept. 2018, 11:58
Avec quelle version de Debian ? En Stretch chez moi ça fonctionne très bien, même pas vu la différence avec uniquement le Pi 3
Bonsoir,
Juste pour être sur: peut on installer Snips server sur une VM (esxi) Debian 9 et un satellite sur un RPI3 avec le PS3 Eye ? Ou vaut il mieux utiliser le RPI3 comme serveur et mettre les satellite sur PiZero ?
Merci d'avance

valentinf
Timide
Messages : 251
Inscription : 13 avr. 2017, 14:16

Re: [Sujet officiel] l'assistant vocal Snips

Message par valentinf » 03 sept. 2018, 21:29

johndoe2011 a écrit :
03 sept. 2018, 20:50
Tristan35 a écrit :
01 sept. 2018, 11:58
Avec quelle version de Debian ? En Stretch chez moi ça fonctionne très bien, même pas vu la différence avec uniquement le Pi 3
Bonsoir,
Juste pour être sur: peut on installer Snips server sur une VM (esxi) Debian 9 et un satellite sur un RPI3 avec le PS3 Eye ? Ou vaut il mieux utiliser le RPI3 comme serveur et mettre les satellite sur PiZero ?
Merci d'avance
Hello,

Je ne vois pas pourquoi tu ne pourrais pas oui :)

arnog23
Timide
Messages : 428
Inscription : 02 mars 2016, 21:50

Re: [Sujet officiel] l'assistant vocal Snips

Message par arnog23 » 03 sept. 2018, 21:38

valentinf a écrit :
03 sept. 2018, 21:29
johndoe2011 a écrit :
03 sept. 2018, 20:50
Tristan35 a écrit :
01 sept. 2018, 11:58
Avec quelle version de Debian ? En Stretch chez moi ça fonctionne très bien, même pas vu la différence avec uniquement le Pi 3
Bonsoir,
Juste pour être sur: peut on installer Snips server sur une VM (esxi) Debian 9 et un satellite sur un RPI3 avec le PS3 Eye ? Ou vaut il mieux utiliser le RPI3 comme serveur et mettre les satellite sur PiZero ?
Merci d'avance
Hello,

Je ne vois pas pourquoi tu ne pourrais pas oui :)
Salut,

Me concernant, ca tourne sur une VM Debian 9 et un satelitte sur un RPI3 avec un Jabra 410.

Tristan35
Timide
Messages : 407
Inscription : 09 juin 2017, 21:53
Localisation : Rennes

Re: [Sujet officiel] l'assistant vocal Snips 100% privé (Plugin développé pour jeedom)

Message par Tristan35 » 05 sept. 2018, 11:41

Bonjour à tous,

Petite requête concernant le plugin Jeedom : serait-il possible d'y intégrer quelques fonctionnalité de SAM directement, afin de rendre certaines tâches plus faciles ? Je penses notamment à la commande de mise à jour de l'assistant, de mise à jour de Snips, peut-être même watch ?

Merci :)
Tristan

valentinf
Timide
Messages : 251
Inscription : 13 avr. 2017, 14:16

Re: [Sujet officiel] l'assistant vocal Snips 100% privé (Plugin développé pour jeedom)

Message par valentinf » 05 sept. 2018, 13:06

Hello Tristan,

C'est un peu compliqué car on modifie pas mal de choses avec SAM en ce moment, qui (bientôt) deviendra une interface graphique. Du coup ce sera beaucoup plus simple et il n y aura plus besoin de toucher au terminal.

Tristan35
Timide
Messages : 407
Inscription : 09 juin 2017, 21:53
Localisation : Rennes

Re: [Sujet officiel] l'assistant vocal Snips 100% privé (Plugin développé pour jeedom)

Message par Tristan35 » 05 sept. 2018, 14:21

D'accord pas de soucis. En attendant je m'en suis sorti avec le plugin SSHCommander, je peux lancer un update assistant depuis Jeedom comme ça :)

Petit soucis que j'ai du coup : j'ai suivi un tuto permettant d'utiliser Amazon Polly pour le TTS (https://github.com/tschmidty69/homeassi ... ster/snips), ça fonctionne super bien, aucun soucis. En revanche, lorsque je recharde mon assistant dans Jeedom, après avoir ajouter des intents, j'ai le message d'erreur suivant :

Code : Tout sélectionner

Unknown value type: ["/usr/local/bin/jarvis_says.sh"
qui correspond à la modification suivante dans le fichier /etc/snips.toml

Code : Tout sélectionner

[snips-tts]
provider = "customtts"
customtts = { command = ["/usr/local/bin/jarvis_says.sh", "-w", "%%OUTPUT_FILE%%", "-l", "%%LANG%%", "%%TEXT%%"] }
Après ça, les nouveaux intents sont bien chargés, mais je n'ai plus de Snips Devices :?

Cette erreur est une erreur côté plugin Jeedom, ou bien c'est la modification du fichier snips.toml qui n'est pas comme il faudrait ?

Merci :)

golfvert
Timide
Messages : 251
Inscription : 24 mai 2015, 20:50
Localisation : 31

Re: [Sujet officiel] l'assistant vocal Snips 100% privé (Plugin développé pour jeedom)

Message par golfvert » 05 sept. 2018, 17:53

Bonjour,
Tout d'abord merci à l'équipe SNIPS pour l'outil, le partage et le lien avec jeedom. Ca marche vraiment bien. Le pilotage à la voix, c'est cool, mais, je ne veux pas que google, amazon ou appel écoute chez moi (1984 on y est!).
Sur le discord snips, j'ai posé la question d'une documentation d'installation pour les satellites. Valentinf a répondu "on y travaille".
D'ici là, voulez vous partager ce que vous avez fait pour que ça marche?
Dans mon cas, le serveur est sur une VM debian et j'ai suivi la procédure de chsalmon viewtopic.php?f=59&t=38112&hilit=sam+lo ... 20#p643455. Pour le satellite (sur un pizero) j'ai suivi la doc de https://github.com/Psychokiller1888/satConnect mais il manquait des morceaux sur le pizero (in fine, j'ai un snips complet aussi sur le pizero). Par contre, la connexion entre les deux telle que décrite sur le github a marché.
Et vous, comment avez vous fait?
Le pizero avec le snips total a un peu de mal!
GV

Tristan35
Timide
Messages : 407
Inscription : 09 juin 2017, 21:53
Localisation : Rennes

Re: [Sujet officiel] l'assistant vocal Snips 100% privé (Plugin développé pour jeedom)

Message par Tristan35 » 05 sept. 2018, 18:32

golfvert a écrit :
05 sept. 2018, 17:53
Le pilotage à la voix, c'est cool, mais, je ne veux pas que google, amazon ou appel écoute chez moi (1984 on y est!).
Pour la solution que j'ai utilisé pour avoir une voix de chez Amazon, rien n'est transmis à Amazon à part la phrase à transformer. Amazon n'écoute rien. En plus, les fichiers de voix sont enregistrés, ce qui fait que pour les TTS courants, la demande n'est faite qu'une fois et le fichier est réutilisé ensuite :)

golfvert
Timide
Messages : 251
Inscription : 24 mai 2015, 20:50
Localisation : 31

Re: [Sujet officiel] l'assistant vocal Snips 100% privé (Plugin développé pour jeedom)

Message par golfvert » 05 sept. 2018, 18:50

Pour la solution que j'ai utilisé pour avoir une voix de chez Amazon, rien n'est transmis à Amazon à part la phrase à transformer. Amazon n'écoute rien. En plus, les fichiers de voix sont enregistrés, ce qui fait que pour les TTS courants, la demande n'est faite qu'une fois et le fichier est réutilisé ensuite :)

Faire faire du TTS a Amazon ou google OK. Mais, c'est le principe des "Alexa" et de ses copines virtuelles chez les GAFA qui me gène. Elles, elles écoutent chez toi en permanence.
Dernière édition par golfvert le 05 sept. 2018, 18:54, édité 1 fois.

Tristan35
Timide
Messages : 407
Inscription : 09 juin 2017, 21:53
Localisation : Rennes

Re: [Sujet officiel] l'assistant vocal Snips 100% privé (Plugin développé pour jeedom)

Message par Tristan35 » 05 sept. 2018, 18:53

Tout à fait d'accord :)

Avatar de l’utilisateur
Jeandhom
Actif
Messages : 1386
Inscription : 20 oct. 2015, 17:32

Re: [Sujet officiel] l'assistant vocal Snips 100% privé (Plugin développé pour jeedom)

Message par Jeandhom » 05 sept. 2018, 21:57

Pour pouvoir debugger les scénarios lancés via le plugin snips et notamment le passage du tag (array), il serait intéressant de pouvoir saisir la phrase à tester dans le binding qui est normalement passée par snips.
Cela permettrait de debugger quand on est pas à côté de snips ou d'arrêter de saouler son entourage lorsque l'on n'arrête pas de répéter la même phrase.

Avatar de l’utilisateur
Jeandhom
Actif
Messages : 1386
Inscription : 20 oct. 2015, 17:32

Re: [Sujet officiel] l'assistant vocal Snips 100% privé (Plugin développé pour jeedom)

Message par Jeandhom » 05 sept. 2018, 22:16

Tristan35 a écrit :
05 sept. 2018, 14:21
D'accord pas de soucis. En attendant je m'en suis sorti avec le plugin SSHCommander, je peux lancer un update assistant depuis Jeedom comme ça :)
Avec le plugin SSHCommander, as-tu un retour de la console snips ?
N'y a-t-il pas un timeout pour le retour, chez moi l'update-assistant prend plus d'une minute.

Répondre

Revenir vers « Discussions Générales »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 15 invités