Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix #169 : Fix bug in house.checkUsersPresence() when multiple users …
…are at home
- Loading branch information
7071daf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bonsoir Pierre Gilles,
Après pas mal de tâtonnement je suis tomber sur une requête pas trop mal,
tu en pense quoi ?
A+
7071daf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
J'avais déjà corrigé le problème dans ce commit, non ? :)
Pourquoi mettre deux GROUP BY ? Celui là n'est pas très utile =>
7071daf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
il y en a un pour sortir tous les users dans le SELECT device.user car sinon il y a qu'un seul résultat qui ressort et le deuxième pour le résultat final que l'on attend si plusieurs résultats doivent être retournés pour la fonction checkUsersPresence.
c'est en tout cas ce que j'ai constaté lors de mes essais.
7071daf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah attend, mais tu as beaucoup modifié la requête au fait! Je n'avais pas vu. T'embête pas, j'ai fais la modification cet aprem, il manquait juste un simple GROUP BY dans la requête originale :) ( testé, ça marche en multi-user )
D'ailleurs, ta requête n'est pas correcte, tu passes par la table
device
visiblement, or un user n'a pas forcément spécifié de device a lui pour être marqué comme présent dans la maison. Il peut très bien avoir codé lui même un module qui passer par une caméra avec reconnaissance de visage (type netatmo), qui déclenche un événement "user-seen-at-home" quand le user passe devant la caméra, sans forcément d'avoir déclaré de device. La détection par le device n'est qu'une façon de faire parmi tant d'autre :)( Mais c'est sympa d'avoir proposé une solution ! :) )
7071daf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
je suis resté sur le module NetworkScanner qui utilise les devices associés à l'utilisateur c'est pour ça lol, et où j'ai rencontré un problème quand un utilisateur n'est pas géré par le scan (le petit n'as pas encore de téléphone lol) et il passait automatiquement en mode sorti à chaque fois que la fonction checkUsersPresence était appelée car il n'y avait pas d’événement "user-seen-at-home" produit pour lui.
7071daf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah oui, bon au moins grâce à lui on a trouvé ce bug :D