[JPI-APK android] Tel Android dedié domotique

Reconnaissance vocale sans paramétrages … Retour d’expérience

Bonjour,

La reconnaissance vocale c’est sympa, mais au vu de la quantité de paramétrages nécessaires avec Google Home ou Alexa ou le système d’interaction de Jeedom …
Pour chaque action il faut ajuster les paramètres, corriger ici, modifier là … c’est décourageant !!!

Fort de cette inexpérience frustrante j’ai écris un moteur d’interaction travaillant directement sur la base de données de Jeedom et couplé, pour le moteur de reconnaissance vocale avec l’APK JPI de @dJuL (dont on ne dira jamais assez l’excellence). Il répond également aux SMS (merci encore à JPI de @dJuL), à PushBullet et à Télégram et peut être bientôt au téléphone !!!

Les contraintes :
Evidemment il est nécessaire de ‹ normer › les libellés des différents équipements et des commandes, norme légère puisque j’ai « ajusté » mes 246 équipements en moins de une heure.

Résultat :
Avec ce principe 95 % des données des équipements physiques ou virtuels sont directement accessible sans AUCUN paramétrage, le traitement est quasi instantané et peu consommateur de CPU (travail direct sur la BdD) et permet un dialogue quasi naturel avec la VR.

A titre d’exemple voici un jeu de test d’une quarantaine de commandes suivi des résultats :

"donne moi la température du salon et puis donne moi la température extérieure 
ensuite je voudrais connaître la consommation de la lampe du bureau après donne moi
 la luminosité de l`oeil de la cuisine donne moi aussi l`humidité du salon et 
pour finir monte le volet du bureau allume la lumière du séjour allume le 
booster et dis encore merci à @dJuL",
	
	"donne moi la météo",
	"quel est l'état de la lampe du séjour",
	"quelle est la puissance de la lampe du bureau",
	"donne moi la consommation de la lampe du séjour",
	"quelle est la température extérieure",
	"donne moi la Pression de l'extérieur",
	"quel est la vitesse du vent",
	"donne moi le Cap du vent de l'extérieur",
	"donne moi la direction du vent de l'extérieur",
	"donne moi la température du congélo de l'extérieur",
	"donne moi la température du frigo du salon",
	"quelle est la température de la chambre",
	"température de l'oeil de la cuisine",
	"donne moi la luminosité de l'oeil de la cuisine",
	"donne moi l'humidité du salon",
	"quel est l'état de la porte du séjour",
	 "quel est l'état du booster",
	"quel est l'état de la lampe oeuf du salon",
	"donne moi l'état de la porte d'entrée",
	"quel est la consigne de chauffage de la chambre",
	"donne moi l'état de la sirène de la maison",
	"quelle est la puissance consommée par la lampe de la cuisine",
	"donne moi la puissance du lave linge",
	"donne moi la puissance du lave Vaisselle",
	"donne moi la puissance du compresseur de la piscine",
	"met la lampe couleur du salon à 10%",
	"éteint la lampe couleur du salon",
	"allume le booster",
	"arrête le booster",
	"éteint la lampe du bureau",
	"règle la lampe du bureau a 50%",
	"allume la lampe du bureau",
	"baisse la lampe de la sam à 50%",
	"met la lampe du séjour à 50%",
	"met la lampe du séjour à 50%",

A remarquer :

  • la première demande à rallonge …
  • Les réponses du type ‹ … est déjà à … › qui évite aussi de lancer la commande

le traitement prend moins de 1/4 sec et donne comme résultat :

- la température du salon  est à 22°C
- la température extérieur  est à 19°C
- la consommation de la lampe du bureau du salon  est allumée
- la luminosité de de l`oeil de la cuisine du salon est à 241 Lux
- l`humidité du salon  est à 49%
- c`est fait,  le volet du bureau du salon  est maintenant Ouvert
- c`est fait,  la lampe du séjour du salon  est maintenant allumée 
- c`est fait,  le booster du salon  est maintenant en route
- l`etat de la lampe du séjour du salon  est à 50%
- la puissance de la lampe du bureau du salon  est allumée
- Actuellement  la température extérieure mesurée est de 19 degrés et l'humidité de 
- 56 %, (Le vent souffle du Ouest Nord Ouest à 33 kilomètres heure avec des rafales 
- à 33 kilomètres heure.) Les prévisons de Météo France pour 17 heures sont  
- Ensoleillé., UV 2, Température : 15 degrés, (Le vent souflera à 20 kilomètres 
- heure du Nord Ouest avec des rafales à 40 kilomètres heure.)
- la consommation de la lampe du séjour du salon  est à 50%
- la température extérieur  est à 19°C
- la pression de l'extérieur  est à 1023 hecto Pascal
- Votre demande est introuvable, essayer une autre formulation
- la cap du vent de l'extérieur  est à 290°
- la température du congélateur de l'extérieur  est à -21°C
- la température du réfrigérateur du salon  est à 4°C
- la température de la chambre  est à 19°C
- température de l`oeil de la cuisine du salon  est à 22°C
- la luminosité de l`oeil de la cuisine du salon  est à 241 Lux
- l'humidité du salon  est à 49%
- l`etat de la porte du séjour du salon  est ouverte
- l`etat du booster du salon  est arrété
- l`etat de la lampe oeuf du salon  est allumée
- l`etat de la porte d`entrée du salon  est fermée
- la consigne de chauffage de la chambre  est  : Economique
- l`etat de la sirène de la maison  est arrété
- la puissance par la lampe de la cuisine du salon  est éteinte
- la puissance du lave linge du Rez-de-Chaussée  est à 1W
- la puissance du lave vaisselle du salon est arrété
- la puissance du compresseur de la piscine de l`extérieur  est à 716W
- c`est fait,  la lampe couleur du salon  est maintenant à 10 %
- la lampe couleur du salon  est déja éteinte
- le booster du salon  est déja en route
- c'est fait,  le booster du salon  est maintenant arrété
- c'est fait,  la lampe du bureau du salon  est maintenant éteinte
- c'est fait,  la lampe du bureau du salon  est maintenant à 50%
- la lampe du bureau du salon  est déjà allumée
- la lampe de la Salle manger du salon  est déja à 50%
- la lampe du séjour du salon  est déjà à 50%
- la lampe du séjour du salon  est déjà à 50%

Le tout est tiens en 800 lignes de PHP avec force recours aux requêtes SQL et/ou REGEX :slight_smile:

1 « J'aime »

Re,

En portrait j’ai le même comportement.

Édit : je viens de tester avec un navigateur, ça fonctionne correctement, mais je préférerais 100 fois rester avec juste jpi :wink:

Après une maj de l’OS, j’ai un appareil qui met en veille le Wifi écran éteint, au bout de 5 minutes environ, symptôme que certains d’entre vous ont.
Un toast dans le scénario gateway offline rallume l’écran et suffit pour retrouver la connexion, sauf qu’on se retrouve tout de même avec l’appareil non disponible sur le réseau pendant un cours laps de temps.
Pour éviter de créer un sleep nommé dans le scénario de l’événement screenoff, j’ai ajouté une option permettant de rallumer l’écran juste quelques secondes toutes les 2 minutes 30 environ si ce dernier est éteint, ce qui permet d’avoir l’appareil toujours dispos sur le réseau sans avoir à utiliser des événements pour atteindre ce résultat.
Cette option sera disponible dans la prochaine version.
J’ai également ajouté un wakeLock supplémentaire pour le wifi, mais cela ne semble pas suffisant selon l’appareil utilisé (la préservation de la batterie étant souvent une priorité de nos jours chez les fabricants, ils forcent tout de même la mise en veille du wifi quand l’appareil est en veille).

2 « J'aime »

Bonjour à tous,

tout d’abord un grand merci à @dJuL pour cette magnifique appli ! Je l’utilise depuis 1 an sur un téléphone et depuis 1 mois sur une tablette, c’est très stable, très pratique, que du positif !! :+1::clap::clap:

Je vais me lancer (enfin) dans la reconnaissance vocale via JPI et visiblement je ne vais pas être déçu non plus !
@m.georgein, pourrais tu nous en dire plus sur ton moteur d’interactions en PHP ? Tu souhaites le partager à terme ou en faire un plugin Jeedom ? Car vu que je vais démarrer et que tout reste à faire à ce niveau sur mon Jeedom, je serais bien partant pour tester ton moteur.

1 « J'aime »

Je ne peux te confirmer que ce fonctionnement marche bien puisque depuis 2/3 ans que j’utilise ton appli (ça remonte !) je l’utilise avec un wake sur la perte wifi.

Je verrai ta modification proposée si OK ou non. J’avoue que je n’ai pas souvenir de ce 2min30 en tempo. C’était plutôt la loterie sur mes essais à l’époque (ça date de l’époque où j’avais flashé LineageOS sur tes conseils sur mon feu Asuszenfone2). Dire que depuis tout ce temps, cet Asus vit encore à coup de charge quotidienne !

Oui c’est la loterie, moi j’ai pu constater que c’est entre 3 et 6 minutes sur mon appareil.
Pour ça que je suis parti sur 2’30.
Après j’ai une autre idée qu’il faut que je teste qui pourrait fonctionner sans avoir rallumer brièvement l’écran…

tu as le code la :

https://community.jeedom.com/t/reconnaissance-vocale-sans-parametrages-retour-dexperience/16874

Merci pour le lien :wink:

J’ai rajouté un paramètre dans l’action configureLayout afin de définir l’échelle du navigateur web de JPI.
Cela permet d’utiliser le zoom au minimum (comme actuellement par défaut) afin que l’écran épouse la taille design.
Cela permet également d’utiliser la valeur de zoom par défaut de l’appareil (comme les anciennes versions de JPI), ce qui réglera ton pb.
Et en bonus cela permet aussi de définir une taille de zoom personnalisée.

2 « J'aime »

Salut dJuL,

Génial ! Merci beaucoup, je te ferai un retour dès que j’aurai pu tester.

A+

Ce sera dans la prochaine maj.
Probablement en ligne dans le week-end.

Hello

Tout d’abord merci pour tout ce taff, c’est bluffant et vraiment au top.
J’ai un peu honte de poser la question, mais il y a quelque chose de prévu pour le reset des identifiants de connexion à l’interface web svp?
:stuck_out_tongue:
Merci d’avance.

Il faut supprimer le fichier :
sdcard\paw\JPI\data\auth

2 « J'aime »

Update du code v0.986 en ligne ! :slight_smile:

Ajout de l’action resfreshLayout et amélioration de l’action configureLayout.
Option pour allumer furtivement l’écran afin de garder la connexion réseau.
Support Android v9 pour les appels entrants.
Refonte de la liste des applications installées.
Correction de bugs et améliorations.
Diverses petites corrections.

Change log :

Nouvelle Action :

  • Application (APK) / refreshLayout : permet de rafraîchir soit la page web, soit le log, soit l’écran d’accueil (en fonction de ce que l’écran de l’apk affiche)

Amélioration d’action :

  • Application (APK) / configureLayout : Ajout du paramètre webInitialScale
    Cela permet de définir l’échelle (ou zoom) de la page web
    0 => pour utiliser la valeur par défaut de l’appareil
    (il sera necessaire de recharger la page web pour voir le résultat avec la valeur à 0)
    1 => pour épouser au maximum la taille de la page web (zoom au minimum)
    Autre valeur => Valeur personalisée
    (en général au dessus de 200 pour commencer à zoomer la page web)
  • Informations / getPackagesNames : Refonte de la fonction afin de retourner toutes les applications installées sur l’appareil (pouvant être lancées)
  • Système / reboot et shutdown : Clôture dorénavant pas mal de choses avant de redémarrer ou d’éteindre l’appareil.

Interface web / Réglages avancés :

  • Ajout d’une option permettant de rallumer automatiquement l’écran un cours instant pendant la veille de l’appareil afin d’éviter de perdre la connexion réseau sur certains appareils.

Interface web / Edition d’action :

  • Maj des menus magiques des actions launchApp et killApp permettants de sélectionner les packages

Core :

  • Maj des fichiers de langues
  • Diverses corrections et optimisations

NOTE: Vous devez d’abord mettre à jour l’APK de JPI en v0.986 pour pouvoir avoir accès à cette mise à jour du code.

NOTE² : SI VOUS VENEZ DE LA VERSION 0.982 OU INFÉRIEURE, IL EST VIVEMENT CONSEILLÉ DE REBOOTER L’APPAREIL APRÈS LA MAJ DE L’APK ET DU CODE


Update de l’APK v0.986 en ligne ! :slight_smile:

  • Gestion des nouvelles actions et des améliorations d’actions.
  • Permet d’utiliser la VR écran éteint sans l’allumer (à la condition que les réglages avancés de la VR n’allument pas l’écran ou ne génèrent pas de toast)
  • Gestion de l’allumage automatique de l’écran pour garder la connexion réseau (si le settings est activé).
  • Wakelock supplémentaire pour essayer de préserver la connexion Wifi.
  • La ram était parfois mal purgée après un affichage d’un journal dans l’apk => corrigé
  • En mode android fullscreen (kiosk) l’action brigtness ou le bouton BT d’activation de la VR pouvait faire apparaître la barre d’état et la barre de statut android => corrigé
  • Nouvelles permissions pour Android v9
  • Lors des appels entrants le numéro de l’appelant était toujours vide sous Android V9 => corrigé
  • Corrections de crashs
  • Divers corrections et optimisations

Merci pour vos rapports de crashs.
Par contre svp évitez de les envoyer si vous n’utilisez pas la dernière version de JPI


Change log versions précédentes:

v0.985 : jpi-apk-android-tel-dedie-domotique/10014/201
v0.983 : jpi-apk-android-tel-dedie-domotique/10014/161
v0.982 : jpi-apk-android-tel-dedie-domotique/10014/144
v0.98 : jpi-apk-android-tel-dedie-domotique/10014/102
v0.974: jpi-apk-android-tel-dedie-domotique/10014/35
v0.973: jpi-apk-android-tel-dedie-domotique/10014/22
v0.97 à 0.972: viewtopic.php?f=27&t=18283&start=3020#p627896


NOTE : Cette version est probablement à prendre comme une “V1” et devrait être relativement stable. (testé sous Android v5 à v9)


NOTE² : pour les vieilles version d’android (< V6) les designs de Jeedom V4 nécessitent la mise à jour de l’appli système WebView. Il faut parfois bidouiller et avoir l’accès root pour pouvoir la faire.

Symptômes : Mauvaises couleurs des fonds et des textes dans les designs qui sont dues aux variables CSS présentes dans Jeedom V4 et qui ne sont pas supportées par les vieux moteurs WebView

Ex pour résoudre le pb (nécessite un accès root) :

Testé avec succès sur des tablettes android V5.1 où il n’était pas possible de mettre à jour ou de choisir la version de webview.

:wink:


L’application restera gratuite. un bouton donation se trouve dans la fenêtre DIVERS / A propos de l’interface web si vous souhaitez soutenir le projet. :green_heart:


Screen shots :

image
(nouveaux réglage pour empêcher la perte du réseau en rallumant l’écran furtivement)

image
(nouvelle action : Application (APK) / refreshLayout )


(nouvelle paramètre pour l’action : Application (APK) / configureLayout )

image
(nouveau menu magique listant toutes les package installés pouvant se lancer)


Vidéo de démo du bluetooth pour les interactions vocales :

Vidéo réalisée avec une version précédente (0.98), le temps de réaction (réponses vocales) est plus rapide de 500ms (1/2s) depuis la version 0.982


L’application restera gratuite. un bouton donation se trouve dans la fenêtre DIVERS / A propos de l’interface web si vous souhaitez soutenir le projet. :green_heart:


1 « J'aime »

@dJuL merci beaucoup pour cette application ! Elle fonctionne à merveille.

Je l’ai couplé avec le plugin jpi sous Jeedom, et j’ai à présent un portier vidéo doorbird à la maison, je souhaite (a la demande de madame :joy:) pouvoir lancer automatique l’application doorbird sur ma tablette lorsque quelqu’un sonne à la maison, d’après l’api de doorbird que ce soit sur un iPad ou un android on doit lancer l’URL suivante doorbird://live/idportiervideo J’ai donc tenté via un appel d’URL mais cela n’ouvre pas l’application en question, et si j’utilise « lancer une application » elle se lance mais pas sur la bonne vue car je n’ai pas passé en paramètre live/idportier est ce que quelqu’un a une idée pour réussir a lancer mon application directement avec les bons paramètres ?

Merci par avance

Désolé, je ne connais pas doobird.
Peut être voir si il y a une API via IP, ou via Intent.
l’url doorbird://live/idportiervideo marche t-elle dans un navigateur de l’appareil (ex: chrome) ?
Car en théorie, si c’est le cas, ça devrait également marcher dans le navigateur web de JPI.

edit: en fait ça ne passe pas via l’interface web de JPI car elle vérifie avant la validité de l’url, mais ça ne doit pas bloquer avec un appel via l’api http : (ce qu’est censé faire le plugin JPI)
http://xxx.xxx.xxx.xxx:8080/?action=goToUrl&url=doobird%3A%2F%2Flive%2Fidportiervideo

Ta tablette est une Android ?

Dans ce cas, il suffit de lancer l’APK directement installé dessus en mode LAN uniquement ?

Je fais ça depuis 2 ans sur mon D101S sans souci.
Je ne comprends pas ton histoire de vue, tu as un portier à plusieurs caméras.

Merci pour vos réponses ! Évidemment maintenant ça marche avant ça m’ouvrait l’application doorbird mais sur la partie « administration » et pas sur la camera :sweat_smile:

Merci pour l’idée du design panoramique, j’avais certains designs longs à charger sur une tablette un peu viellotte (car trop d’équipements sur certaines pages).
Du coup je n’utilisais quasi plus la navigation car trop long d’attendre devant que le design s’affiche.
Grace au design panoramique le problème est réglé. :slightly_smiling_face:
La tablette met une bonne trentaine de secondes à charger le design la première fois mais on s’en fou car une fois chargé c’est ok advitam.

Et ça marche parfaitement avec la dernière version de JPI grâce au nouveau paramètre webInitialScale de l’action configureLayout :

Update du code v0.987 en ligne ! :slight_smile:

Ajout et corrections d’actions
Possibilité de désactiver les événements ScreenOn et ScreenOff
Correction de l’événement incomingCall
Petite refonte des appels entrants
Correction de bugs et améliorations.
Diverses petites corrections.

Change log :

Nouvelle Action :

  • Fonctions / phoneNumber : permet de formater un numéro de téléphone
    Ex: 06 07 08 09 10 => +3367080910
    Peut être utile pour tester / comparer des numéros sans se soucier de leurs formats

  • Téléphonie / answerCall : Permet de répondre à un appel entrant, avec en option la sortie sur le haut parleur.

Amélioration d’action :

  • Fonctions / sleep : Modification du paramètre time
    Il est désormais possible d’utiliser un nombre à virgule afin d’avoir une précision de 0.1s.

Interface web / Réglages généraux :

  • Ajout d’une option pour surveiller ou non la mise en veille de l’écran (événements screenon et screenoff)
    Option désactivée par défaut.

Interface web / Réglages avancés :

  • Refonte des réglages de le la téléphonie concernant les appels entrants.
    La méthode pour décrocher et l’index du service deviennent également les options par défaut de la nouvelle action Téléphonie / answerCall

Core :

  • Correction de l’événement incomming_call, la clef de scénario correspondant au numéro appelant n’était pas forcément lancée si le numéro n’était pas formaté en numéro international => corrigé
  • Maj et corrections des fichiers de langues
  • Diverses corrections et optimisations

NOTE: Vous devez d’abord mettre à jour l’APK de JPI en v0.987 pour pouvoir avoir accès à cette mise à jour du code.


Update de l’APK v0.987 en ligne ! :slight_smile:

  • Gestion des nouvelles actions et des améliorations d’actions.
  • Gestion de la désactivation des 'événements scrennOn et screenOff
  • Corrections d’un bug lors de la confirmation d’une nouvelle version de l’APK
    La réponse de la boite de dialogue n’était pas attendue et il était impossible de faire la maj => corrigé
  • Divers corrections et optimisations

Merci pour vos rapports de crashs.
Par contre svp évitez de les envoyer si vous n’utilisez pas la dernière version de JPI


Update de l’APK v0.988 en ligne :slight_smile:

  • Petites refontes des majs
  • Ajout en interne d’une version minimum du code compatible pour fonctionner
  • Force la maj du code si la version minimum n’est pas installée (même si le réglage général de vérification / installation des majs du code est désactivé)
  • Divers corrections et optimisations

Merci pour vos rapports de crashs.
Par contre svp évitez de les envoyer si vous n’utilisez pas la dernière version de JPI


NOTE: la version 0.986 de l’apk contient un bug empêchant de faire la maj directement dans l’application.

Ce bug est corrigé dans les nouvelles versions ci-dessus et donc ne se reproduira plus.
Si vous êtes en version 0.986 sur l’APK (uniquement cette version, pas de soucis avec les versions précédentes) il faut faire la maj à la main en téléchargeant (et en installant) l’apk ici :

http://rulistaff.free.fr/JPI/getJPI/


Change log versions précédentes:

v0.986 : jpi-apk-android-tel-dedie-domotique/10014/239
v0.985 : jpi-apk-android-tel-dedie-domotique/10014/201
v0.983 : jpi-apk-android-tel-dedie-domotique/10014/161
v0.982 : jpi-apk-android-tel-dedie-domotique/10014/144
v0.98 : jpi-apk-android-tel-dedie-domotique/10014/102
v0.974: jpi-apk-android-tel-dedie-domotique/10014/35
v0.973: jpi-apk-android-tel-dedie-domotique/10014/22
v0.97 à 0.972: viewtopic.php?f=27&t=18283&start=3020#p627896


NOTE : Cette version est probablement à prendre comme une “V1” et devrait être relativement stable. (testé sous Android v5 à v9)

L’application restera gratuite. un bouton donation se trouve dans la fenêtre DIVERS / A propos de l’interface web si vous souhaitez soutenir le projet. :green_heart:


Screen shots :

image
(nouvelle action : Téléphonie / answerCall )

image
(nouveau pas de 0.1s pour la fonction sleep)


Nouveau réglage de base pour désactiver ou activer la surveillance de la mise en veille de l’écran

EX: Décrocher et raccrocher automatiquement uniquement pour les numéros non autorisés :
image


L’application restera gratuite. un bouton donation se trouve dans la fenêtre DIVERS / A propos de l’interface web si vous souhaitez soutenir le projet. :green_heart:


1 « J'aime »