Développer un logiciel d'Analyse comportementale

Désolé, je n’ai pas compris comment ne t’adresser qu’un seul mail pour tous mes reply à chacun de tes commentaires.
Pour les corrections proposées, tu n’as qu’à répondre dans Github à chacune de mes réponses, on va en rester là, inutile de passer 10 ans là-dessus. On est sensiblement d’accord sur tout, il y a que certains choix que te laisse figer. Une fois reçue, je les reporterais dans ma branch pour un nouveau PR (un nouveau ou le même avec un nouveau commit d’ailleurs).
Pour la doc, je l’ai complètement zappée, je la lirais demain.
Bonne nuit

Bonjour,

ce matin lorsque j’ai voulu supprimer une "Action arrêt d’avertissement - lorsque tous les capteurs sont dans les seuils.
Au moment de la sauvegarde j’ai la roue qui tourne indéfiniment. Dans la console javascript j’avais cette erreur.

Uncaught TypeError: Cannot read property 'cmd' of undefined
    at addAction (<anonymous>:396:60)
    at printEqLogic (<anonymous>:522:9)
    at Object.success (<anonymous>:116:13)
    at Object.success (getResource.php?file…3668&lang=fr_FR:117)
    at u (getResource.php?file…5e9540&lang=fr_FR:2)
    at Object.fireWith [as resolveWith] (getResource.php?file…5e9540&lang=fr_FR:2)
    at k (getResource.php?file…5e9540&lang=fr_FR:2)
    at XMLHttpRequest.<anonymous> (getResource.php?file…5e9540&lang=fr_FR:2)

Edit : en fait c’est plus grave c’est dès que je reviens sur mon équipement que j’ai cette erreur et que l’écran se fige avec la roue qui tourne !!!

zut.

ken@vo
Phil

@Phil56,

en effet, j’ai trouvé une erreur dans mon code pour cette fonction que j’avais visiblement mal testée !

Je vais prendre en compte les modifs proposées par @mich0111 par ailleurs et je renvoie une beta qui devrait corriger ça !

Merci d’avoir trouvé ce bug !

AgP

edit : la nouvelle beta est disponible. Pour bien recharger le js de cette nouvelle version, après mise à jour recharger l’affichage avec un « ctrl+shift+R »

Cette version prend en compte toutes les corrections de texte et de doc de @mich0111, merci à lui !

Merci correction ok

@+

Pas si merci que ça, j’ai fait une bêtise et t’ai envoyé un PR pour la corriger.
Il va falloir une autre livraison, la saisie des boutons d’alerte est, pour le moment, occultée.
Désolé

effectivement, ce n’est pas comme dans la doc, mais je n’ai pas encore testé cette partie.

C’est mieux, merci.
Encore une fois désolé.
Bonne soirée

J’ai trouvé 2 autres erreurs JS du meme type…
Je teste un peu plus et je vous renvoie une beta (avec la correction de Michel au passage)

J’ai aussi des tas de soucis sur les alertes confort avec cette beta…

Bref, vous pouvez mettre vos tests en pause en attendant la prochaine je crois ! :wink:

Bonjour,
J’ai réussi à installer le plugin.
Très bien la partie configuration. :+1:
Pour l’instant je n’ai que 3 détecteurs, il faut que je configure les autres et que j’installe tasker et autoremote sur mon tel pour recevoir les alertes via ton plugin @agp.com

Merci
Martial

Bonsoir,
Tu peux également simuler des détecteurs ou actionneurs en utilisant le plugin virtuel.
Tu pourras créer des détecteurs, interrupteurs, bouton, … et changer leurs valeurs par appui sur leur widget ou initialisant leur valeur.
Ça te coûtera moins cher que d’acheter 50 devices.

Bonsoir,

ca y est, je pense que j’ai corrigé les différentes erreurs (j’espère…) j’ai donc envoyée une nouvelle beta sur le market, j’avais oubliée le changelog pour la précédente (correction de l’erreur remontée par @Phil56 et ajout des modifs de @mich0111), voilà donc pour les 2 versions d’un coup :

Beta 0.0.3 & 0.0.4 - 22 mars 2020

  • debug erreur js sur la liste des actions lorsque tous les capteurs sont dans les seuils
  • debug 2 autres erreurs js de ce type
  • creation puis correction de l’erreur de suppression du « bouton d’alerte »
  • changement du tag #value# en #sensor_value# pour éviter les interferences avec le tag #value# du core
  • ajout des tag #sensor_name# et #sensor_type# pour les actions d’alerte de securité
  • debug sur les capteurs conforts !
  • Mise à jour de la doc

Je laisse tourner mes logs pour la nuit et je vous laisse tester svp :grin:

Sur ce scope là (détection d’inactivité, bouton d’alerte, capteurs conforts et capteurs sécurité), je vois encore les améliorations suivantes :

  • Détection d’inactivité : aujourd’hui je n’ai qu’1 seul timer de détection, il faudrait au minimum en avoir un pour le jour et un pour la nuit, voir même faire un truc plus détaillée encore avec des plages configurables. L’idéal ici serait de le lier avec le plugin agenda… A creuser !
  • Pour les alertes de détection d’inactivité ou bouton d’alerte, la personne est potentiellement consciente et donc il faudrait que l’aidant, une fois qu’il a reçu l’alerte puis faire un « acknowledge » pour avertir la personne de son arrivée. Pour cela je pensais au mécanisme suivant :
    • Encore une liste d’action supplémentaire (même si ça commence a faire lourd…) pour chacun de ces 2 onglets
    • que le plugin génère le code http de l’API correspondant à l’appel de ces fonctions.
    • Ensuite il faudra évidemment en dehors du plugin (puisque l’appel se fera via un smartphone par exemple, ou un autre jeedom, ou n’importe quoi), configurer l’appel de cette adresse pour signaler à la personne la bonne prise en compte.
  • Pour toutes les alertes « vers les aidants », actuellement il y a une liste d’actions, mais on ne peut pas définir de « séquencement », par exemple on envoie le message 1, on attend l’acknowledge, si pas d’acknowledge au bout de x min, on envoie le message 2 (à quelqu’un d’autre), etc… Encore une fois ça va bien surcharger le plugin…

Est-ce que ces améliorations vous semblent utile ?

Sinon dans la suite de la todo list il y a :

  • Onglet « Gestion d’absence »
  • Onglet « Dérive comportementale » (c’est quand même là le cœur de la demande initiale !)
  • Le panel de visualisation de tous les capteurs et suivi des alertes

Merci pour vos avis ! :wink:

A+
AgP

Salut et bravo pour le job déjà effectué.
Je me dis qu’un des points clés pour que le plugin fonctionne comme prévu sera la fiabilité de l’info de présence/absence dans le logement. Sujet pas facile à automatiser. Le sujet a été largement couvert sur le forum et je ne connais pas encore de méthode sans faille ni contrainte.
Pour l’analyse comportementale il y a peut-être la un bon sujet pour du deep learning (Intel® Neural Compute Stick 2)? Je connais des gens qui l’utilisent, je vais leur demander leur avis pour cette application si ça vous intéresse.
Une thèse récente sur le sujet: http://www.lemlouma.com/papers/ZainebThesisFinal_ED.pdf

J’ai fait quelques tests, j’ai 2 détecteurs (Sdb et chambre) qui sont ceux qui peuvent envoyer une alerte en cas d’inactivité. J 'en ai un autre dans le couloir qui si il détecte un mouvement devrait arrêter la fonction d’inactivité car la personne est sortie de la Sdb ou chambre.Hors si j’ai un mouvement dans la Sdb puis 1 dans le couloir, l’alerte est quand même envoyé.
Je n’ai pas déclaré le détecteur du couloir dans le plugin.

Très bonne idée le complément, je vois le lien avec ton plugin Tasker/autoremote ou avec un serveur style PAW pour réception de SMS (je ne sais pas si autoremote peut le faire). Si l’alerte est envoyé par SMS sur le smartphone de l’aidant, en répondant un OK pour accuser réception on pourrait en informer la personne âgée (lumière qui clignotte, sonnerie, message vocal sur google home ou Alexa ,etc …si pas d’accusé de réception dans les X minutes, envois d’une seconde alerte avec un destinataire supplémentaire.

Merci
Martial

merci @Loic74.
Super la thèse. c’est l’objectif ici du plugin à une échelle plus modeste mais qui permet d’améliorer la qualité de vie de personnes dépendantes (ou pas encore) en leur assurant plus de sécurité, en leur offrant de la prédiction. Cela est rassurant et ils ont plus confiance en eux.

@agp.com
Tu as raison, ça va faire lourd.

Pas sûr que l’envoi de messages (SMS ou autres) soit la bonne solution. On a affaire à des personnes pas forcément autonome. Alors l’usage d’un smartphone !
Pourquoi ne pas figer le truc avec la définition d’un seul bouton d’acknowledgment utilisable par les aidants pour l’ensemble des onglets?
Idem pour la prise en compte de cet acknowledgement par la personne dépendante.
Si cette personne est mal-voyante, on définit un jeu de sons, si elle est mal-entendante, un jeu de lumière, si elle n’a aucun handicap, c’est selon.
Dans ce cas, et pour ne pas se mélanger les pinceaux, il faudra prévoir un bouton d’AR par logement ou plutôt un tableau avec tout un jeu de bouton comme dans les hôpitaux pour chaque logement.
Ces actions d’accusé de réception (déclenchement et signalement) pourraient être définies dans un équipement particulier de type « Aidants » afin de ne pas surcharger le code déjà en place.

Qu’en pensez vous ?

Sauf erreur c’est jeedom qui envoie un SMS sur le smartphone de l’aidant.

Je suis d’accord.

Pour moi il a deux choses. L’AR par l’aidant pour indiquer qu’il a bien reçu l’alerte et qu’il va venir et un autre AR lorsqu’il entre dans le logement. Celui la peut être automatique quand il ouvre la porte du logement.

Lorsque l’aidant reçoit l’alerte, c’est lui qui doit accusé réception de cette alerte à destination de la personne dépendante, du moins c’est ce que j’ai compris du post de Agathe.
Dans ce cas, cette action d’AR va envoyer un message à la personne dépendante pour lui signaler la bonne prise en compte de son alerte.
Les actions d’avertissement à destination des aidants, c’est déjà fait. Cela peut être effectivement des SMS. En revanche, dans l’autre sens, c’est-à-dire informer la personne dépendante que l’alerte est bien prise en compte, non.
Ma proposition est de définir un équipement particulier « Aidants » qui serait unique, de la même façon que l’on définit chacune des personnes dépendantes.
Dans cet équipement, on associerait chaque bouton d’AR à un logement et, pour chaque logement, le type de réception de l’AR (son ou lumière) en fonction de la personne du logement.
De la sorte, on ne modifie pas l’existant et on ajoute le code pour les actions définies ainsi.
Ce que tu appelles le 2ème AR est déjà traité par le plugin, il se déclenche dès qu’un capteur d’activité est actionné dans le logement.

J’espère être plus clair?

Bonjour à tous,

=> oui je suis d’accord et je vois ça aussi comme un problème pas facile, surtout si le logement a plusieurs portes vers l’extérieur… Pour moi il faudrait soit des cameras « welcome » (mais c’est cher et ce sont des cameras, donc pas terrible pour ne pas se sentir espionné…) ou alors il faut mettre un interrupteur d’absence à proximité des portes de sorties. Ces interrupteurs pourront par exemple couper aussi toutes les lumières, ou autres fonction « utile » pour que leur usage ne soit pas qu’une contrainte pour la personne. Ou alors juste augmenter le timer acceptable quand le dernier capteur vu était un capteur de porte extérieur ? Sachant que si la personne sort se promener 4h c’est aussi potentiellement un problème !

=> heu… oui… mais là on s’embarque un peu loin pour moi ! C’est clair que pour une solution « professionnelle » il faudrait se tourner vers ce genre de chose, mais ça dépasse totalement le scope de mes compétences !

Par ailleurs @Loic74, tu nous as donné précédemment un lien vers un sujet du vieux forum d’un gars qui avait installé Jeedom chez sa grand-mere, je lui ai envoyé un MP via l’ancien forum (je ne l’ai pas retrouvé sur le nouveau), pour l’instant je n’ai pas eu de retour.

=> En gros la fonction ne marche pas ? Tu peux m’envoyer le détail de ta config stp ? Et il faudrait que tu active les logs en « debug » et que tu m’envoie les logs. Tu avais bien initialisée la fonction après la 1ere création en activant un capteur ? Je n’ai pas testé avec le détecteur de présence, pour l’instant je n’ai testé qu’avec les interrupteurs, je vais l’installer et voir.

=> oui ca serait exactement l’idée. Non AutoRemote ne gère pas les sms, mais on peut envoyer des notifications « personnalisées » avec un bouton d’AR directement dans la notification. Comme ca :

Ce qui me gène a te recommander AutoRemote, c’est que ça n’est pas systématiquement fiable (pas le plugin évidemment qui est au top :innocent:, mais la liaison de communication elle-même). Moi je l’utilise énormément puisque je gère tout mon jeedom via des widget sur mon android et toute la communication jeedom->smartphone passe par AutoRemote, et il arrive que les messages ne soient pas reçus où qu’ils aient pas mal de latence, donc attention à l’usage qu’on veut en faire ! (Pour m’avertir que mon radiateur de la cuisine est allumé ou non, ça n’est vraiment pas gênant, mais passer les alertes de sécurité la dessus, pas sur !)

=> comme dit par @Marty25, il ne s’agit pas du smartphone de la personne âgée mais bien de l’aidant. Même si maintenant les gens de 70 ans ont tous un smartphone…

=> oui c’est une bonne idée !

=> Oui c’est bien ca. Ce que @Marty25 tu veux dire par « un autre AR lorsqu’il entre dans le logement » c’est que l’arrivée de l’aidant dans le logement sera vu comme un signe de vie et donc va désactiver l’alerte ? C’est en effet comme ça que c’est codé aujourd’hui.

Sinon je me demandais aussi si la fonction « avertissement alerte » pour la détection d’inactivité ne serait pas stressante pour la personne… après on peut la laisser et ne pas la configurer.

Et est-ce qu’il ne faudrait pas découper le plugin ? Il est déjà bien lourd pour la configuration alors qu’il manque les 2/3 des fonctions… Et ca permettra que chacun n’installe que selon son besoin (tout le monde ne voudra pas toutes les fonctions, et certaines fonctions pourraient être utilisés pour d’autres usages…)

Par exemple :

  • Un plugin « SeniorCare-Détection d’inactivité » avec les fonctions suivantes :
    • Gestion présence/absence
    • Gestion de la liste des capteurs d’activité (idem actuelle beta)
    • Gestion « fine » des délais par période dans la journée
    • Gestion des actions d’avertissement et annulation d’avertissement (idem actuelle beta)
    • Gestion des actions d’alerte et annulation d’alerte (idem actuelle beta) mais avec l’ajout d’un séquencement des alertes vers plusieurs personnes
    • Gestion de l’AR par l’aidant vers la personne âgée
    • Éventuellement un panel pour suivre les activités qui ont été activées ou un espèce de « journal d’activité ».

(ça fait déjà un beau plugin…)

  • Un plugin « SeniorCare-Bouton d’alertes » avec les fonctions suivantes :
    • Gestion de la liste des capteurs d’alertes et des capteurs d’annulation d’alerte (idem actuelle beta)
    • Gestion des actions d’alerte et annulation d’alerte (idem actuelle beta) mais avec l’ajout d’un séquencement des alertes vers plusieurs personnes
    • Gestion de l’AR par l’aidant vers la personne âgée

(Éventuellement regrouper « détection d’inactivé » et « bouton d’alertes » pour regrouper l’AR des aidants et les actions de séquencement d’alerte comme le propose @mich0111 , à voir…)

  • Un plugin « SeniorCare-Confort et Sécurité » avec les fonctions suivantes :
    • Idem beta existante sur les onglets « confort » et « sécurité »

Ce plugin là pourra être utilisé par n’importe qui pour suivre son logement…

  • Un plugin « SeniorCare-Dérive comportementale » avec les fonctions suivantes :
    • Liste des « dérives » à surveiller
    • Gestion d’alertes
    • un Panel pour suivre les capteurs et donc qu’un humain puisse regarder et analyser

Chacun de ces plugins aura un code plus léger, donc plus facile a maintenir.
Initialement je pensais utiliser pour « Dérive comportementale » les capteurs de l’onglet « Détection d’inactivité », c’est pour ca que je demandais dans la conf de définir leur type, mais tant pis c’est un détail.

Qu’en pensez-vous ?

Bonjour,

Pour la proposition de @Loic74, je n’ai pas osé le dire mais effectivement, ça depasse nos possibilités. Pour avoir été associé à une boîte faisant du deep learning, c’est une petite dizaine de personnes pendant quelques années rien que pour le moteur d’inférence.

La découpe du plugin me paraît être une bonne idee. Cela permettrait de n’installer que ce qui est nécessaire.
Mais est-ce que découper le plugin ne va pas poser des problèmes pour utiliser les mêmes détecteurs pour des plugins différents?
N’y-a-t-il pas un risque d’interférences entre les différentes actions, sauf à utiliser des capteurs différents?

Pour les capteurs de présence, il y a bien les nut que la personne dépendante pourrait avoir sur elle. Elle n’aurait pas à signaler sa présence, juste passer à proximité d’une antenne Blea qui pourrait être installée dans chaque logement. Il y a même le plugin « phone_detector » qui détecte la présence d’une personne par la MAC Address de son smartphone.

Prenez soin de vous

A+

Michel

Au contraire, chacun sera sur un pluginId différent, donc beaucoup moins de soucis ! Mais si on archive plusieurs fois le même capteur on va un peu sur-utiliser la base de donnée, ce qui n’est pas très grave…