Bluetooth et départ de la maison

bluetooth
nuts

#1

Bonjour,

Mon porte clef nut fraichement reçu, je le configure dans Gladys sur mon utilisateur (ID = 1) en suivant le tuto.
Présence bien détectée, pas de soucis de ce côté là.
Si je crée un évènement left-home, je suis bien en “retour à la maison” dès que la détection est faite.

Par contre, quand j’enlève la pile du porte clef pour simuler un départ de la maison : nada.
Utilisateur vu à la maison il y a 32 minutes à l’heure actuelle et pas d’évènement left-home.
USER_TIME_BEFORE_CONSIDERING_LEFT_HOME = 5
alarme cron toutes les 3 minutes pour lancement du script checkUsersPresence().

Nut non détecté dans les logs de gladys-bluetooth (jusque là, c’est normal)

1|gladys-b | Starting Bluetooth Scan for 30 seconds !
1|gladys-b | Device [TV] Samsung 6 Series (55) is not assigned to any user, so we do nothing
1|gladys-b | Scanned device Mi Band 3 but devices does not exist in Gladys. Not saving anything.
1|gladys-b | Stopping Bluetooth Scan for 60 seconds !
1|gladys-b | Bluetooth Scan stopped

J’ai rien vu non plus de spécial dans les logs gladys

/home/pi/.pm2/logs/gladys-error-0.log last 15 lines:
0|gladys   | gladys.location.create : Create location for user 2
0|gladys   | gladys.location.create : Create location for user 2
0|gladys   | gladys.location.create : Create location for user 2

/home/pi/.pm2/logs/gladys-out-0.log last 15 lines:
0|gladys   | Event : create : new Event with code : alarm
0|gladys   | Scenario : Trigger : New event : alarm
0|gladys   | Scenario : Trigger : Found 1 launchers with code alarm.
0|gladys   | Scenario : Trigger : Launcher condition verified.
0|gladys   | Scenario : Trigger : Conditions verified, starting all actions.
0|gladys   | Scenario : exec : Found 1 actions to execute.
0|gladys   | Executing action "Exécute un script"
0|gladys   | House : checkUsersPresence

Téléphone éteint donc pas de communication avec owntracks qui pourrait fausser la détection.

J’ai raté quelque chose? Il me semblait que la fonction gladys.house.checkUsersPresence() s’occupait de créer les évènements left-home et back-at-home toute seulle comme une grande…


#2

Fait un left home depuis le tchat depuis gladys et ensuite normalement tout fonctionne. C’est un bug gladys.


#3

C’est bien ce que j’ai fait car j’avais lu sur le forum que ce bug existait et qu’il fallait “amorcer” les choses dans le chat.

Gladys m’a enfin détecté absent au bout de 3h.
Du coup, je remet la pile dans le porte clef : bien détecté à la maison en moins d’une minute -> back-at-home ok
J’enlève la pile à nouveau et rien…
Retour à la maison il y a 38 minutes et c’est tout…


#4

Après 2 jours de test, Gladys déclenche l’évènement left-home 3h après mon départ à chaque fois.
Je vois vraiment pas d’où ça peut venir.


#5

le module bluetooth scan tous les combien lui ? (je crois que c’est une conf à part mais je ne sais pas si elle prend part à ton problème)


#6

T’as testé de relancé gladys-bluetooth ?


#7

@walab, dans le module Bluettoth, quelles valeurs as tu pour “scanInterval” et “scanTimeout” dans le fichier “config.js” ?


#8

le module scan 30 secondes toutes les 60 secondes.

Je tente de relancer et je vous tiens au courant.


#9

Toujours pas de left-home au bout des 5 minutes d’absence.

J’ai remonté les logs pour voir ce qu’il se passait quand j’étais enfin détecté hors de chez moi:

0|gladys   | House : checkUsersPresence (je suis déjà absent à ce moment-là, depuis 2h)
0|gladys   | House : checkUserPresence : Putting user 1 as left house : 1
0|gladys   | Event : create : new Event with code : left-home
0|gladys   | Scenario : Trigger : New event : left-home
0|gladys   | Scenario : Trigger : Found 1 launchers with code left-home.
0|gladys   | Scenario : Trigger : Launcher condition verified.
0|gladys   | Scenario : Trigger : Conditions verified, starting all actions.
0|gladys   | Scenario : exec : Found 1 actions to execute.
0|gladys   | Executing action "Exécute un script"

Je ne comprends pas.
Vu que c’est précisément toutes les 2h, est-ce que ça ne peut pas venir d’un problème d’horloge?
Le fuseau horaire est bien configuré mais Gladys me donne l’heure avec 2h de décalage lorsque je lui demande l’heure (j’ai lu que c’était un bug courant).


#10

Si tu exécutes la commande “timedatectl” en ssh, l’heure locale et la timezone sont-elles correctes ?

Tu dois avoir quelquechose comme ça :
image

Dans le cas contraire, tu peux changer la timezone avec la commande “sudo raspi-config” (4 Localisation Options / I2 Change Timezone) et rebooter Gladys.


#11

J’avais, dans le doute, changé le fuseau horaire hier matin mais ça n’avait rien changé.

pi@gladys:~ $ timedatectl
      Local time: Tue 2018-07-24 11:07:11 CEST
  Universal time: Tue 2018-07-24 09:07:11 UTC
        RTC time: n/a
       Time zone: Europe/Paris (CEST, +0200)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

#12

Simple curiosité, tu as bien rebooté le RPI entre temps pour prendre en compte le changement ?


#13

Salut!

Oui, il me semble que j’avais bien rebooté (par habitude d’ailleurs).
Dans le doute, j’ai rebooté à nouveau.

Entre temps, je suis passé sur Gladys 3.9.1 et j’ai changé de porte clef NUT (le premier n’a déjà plus de pile et j’en ai reçu de nouveaux entre-temps).

Et tout fonctionne à merveille. :slight_smile:
Je revérifierai quand j’aurai reçu les nouvelles piles si cela ne vient pas du porte clef.

En tout cas, merci à tous. :ok_hand: