kenny a écrit : ↑05 nov. 2018, 11:56
Bonjour meute,
j'ai travailler sur le même sujet, pour des actions IFTTT multiple.
j'aime le principe de sécurité avec le delais de 90S et beaucoup d'autre point de ton script.
Moi j'ai travaillé d'une façon différente et pouvoir passer des commandes mêmes sans le "Et" donc je pense que l'on devrais essayer de faire un truc en commun qui pourrait être super:
viewtopic.php?f=191&t=40515
Hello,
J'ai été voir ton post et ton script mais je ne vois pas trop quelle multi interaction on pourrait lancer sans utiliser la liaison " et ", pour moi une découpe sur " et " est la chose la plus judicieuse et la plus simple.
Dire "allume le salon cuisine" ou "ouvre la grille, éteins le salon" n'a rien de naturel selon moi, quoi qu'il arrive une demande multiple double sera plus naturellement séparée par un " et ", c'est le langage qui veut ça.
Un des seuls cas qui me vient à l'esprit où le " et " pourrait être absent d'une commande dite de façon "naturelle" c'est pour une triple interaction genre "allume le salon, la cuisine et la salle à manger", mais comme la notion de "," est très difficile à interpréter depuis une commande vocale c'est chaud. Il vaut mieux accepter de devoir dire "allume le salon et la cuisine et la salle à manger" à mon sens, ce qui est finalement tout aussi naturel à dire.
En restant objectif et après plus d'un an d'expérience d'utilisation quotidienne et intensive du contrôle vocales sur 100% de la maison pour moi 95% des demandes sont des commandes uniques, 4% des commandes auraient été sympa en commande doubles et peut-être 1% auraient justifiées une commande triple.
De plus si une longue commande multiple est nécessaire il vaut mieux s'interroger si en faire une commande simple et combiner les différentes actions sur une seule interaction n'est pas plus judicieux.
Si par exemple pour aller se coucher tu voudrais dire "OK Google, ferme tous les volets, éteins la télé et les lumières du séjour, verrouille la porte, ..." il vaut mieux faire une IFTTT et une interaction "je vais au lit" ou "je vais me coucher" ou "passe en mode nuit" et rassembler tout ce qu'il faut faire dans ce cas là dans un scénario. Perso c'est comme ça que je travaille.
Pareil quand je pars de chez moi je ne dis pas "ouvre la garage, ouvre la grille, ferme tous les volets, éteins toutes les lumières, active l'alarme, passe le chauffage en eco, ...", j'ai quelques interactions "je m'absente par ...", "je sors par ..." et derrière ça j'ai des scénarios qui s'occupent de tout ... si c'est "je m'absente ..." ça ouvre tout pour sortir et ça referme tout ensuite et en plus ça mets la maison en mode absence et active l'alarme et si c'est "je sors ..." ça ouvre et referme tout automatiquement mais la maison reste en état normal vu que dans ce cas il reste des personnes présentes. En aucun cas je voudrais essayer de gérer ça via des interactions multiples.
Pareil, j'ai des interactions du genre "éclairage en mode TV" qui s'occupent de changer tout l'éclairage du séjour en une fois (14 Hues et quelques autres points d'éclairages ...)
Donc vouloir absolument détecter des multi-interactions même sans mot de liaison et découper sur " " pour extraire chaque mot et reconstruire c'est chercher inutilement les problèmes et ça oblige en plus de connaitre absolument toutes les commandes possible, tous les équipements possibles et normalement pour vraiment palier à toutes les éventualités également tous les objets possibles.
Je sais pas si tu débutes en commandes vocales mais si tu l'utilises en production quelques semaines tu vas vite te rendre compte que finalement c'est pas la peine de chercher à faire trop complexe et qu'il faut essayer d'aller à l'essentiel, au début je cherchais aussi à faire comprendre tout et n'importe quoi et finalement on fini par cibler car c'est beaucoup plus efficace.
Je n'ai pas testé ton script pour voir comment il se comporte dès qu'on le chatouille un peu mais ça me paraît en même temps trop complexe pour le gain que ça peut apporter et en même temps trop simpliste pour l'objectif recherché et donc assez sujet à se retrouver facilement avec des reconstructions d'interactions incohérentes pour un oui ou un non si un équipement ne colle pas ou si une commande n'est pas bien reconnue.
Je pense qu'au final ce que tu voudrais obtenir mériterais quasi un process d'AI et sera très complexe et très lourd à maintenir au fur et à mesure de l'évolution de l'installation domotique et donc de ses équipements et objets.
Même google smart home a souvent du mal à interpréter des commandes multiples trop complexes et pourtant eux ils ont une AI qui tourne derrière, certainement des milliers de lignes de code et connaissent naturellement tous les objets, équipements et commandes qui composent notre système connecté à smart home.
Donc vouloir tenter de reproduire ça dans un script PHP avec 30 lignes de code c'est à mon sens un peu utopique et au final pas vraiment utile.
Pouvoir combiner 2 ou 3 interactions séparées par " et " avec le traitement minimum pour reconstruire les commandes partielles est pour moi amplement suffisant et en plus ça n'impacte pas du tout les interaction uniques, si pas de " ET " donc pas de découpe et pas de pre-traitement, c'est envoyé à l'identique au moteur jeedom, ça rend le système bien plus robuste.