Aqara - capteur de mouvement

log(feature) en entrée de sendState (https://github.com/cicoub13/Gladys/blob/feat-homekit-motion-sensor-2/server/services/homekit/lib/sendState.js#L17)

{
  id: '8594204f-1251-4f38-9eba-cfebba5c3823',
  device_id: 'ffeb673a-b765-480d-a785-6022df1411e2',
  name: 'Détection mouvement Oui/Non',
  selector: 'zigbee2mqtt-0x00158d0006f2500d-motion-sensor-binary-occupancy',
  external_id: 'zigbee2mqtt:0x00158d0006f2500d:motion-sensor:binary:occupancy',
  category: 'motion-sensor',
  type: 'binary',
  read_only: true,
  keep_history: true,
  has_feedback: false,
  unit: null,
  min: 0,
  max: 1,
  last_value: 1,
  last_value_string: null,
  last_value_changed: 2023-10-20T13:01:20.659Z,
  last_hourly_aggregate: 2023-10-20T10:00:00.000Z,
  last_daily_aggregate: 2023-10-19T22:00:00.000Z,
  last_monthly_aggregate: 2023-09-30T22:00:00.000Z,
  created_at: 2023-10-12T06:29:40.550Z,
  updated_at: 2023-10-20T10:38:57.691Z
}

log(event) en entrée du case Sensor (https://github.com/cicoub13/Gladys/blob/feat-homekit-motion-sensor-2/server/services/homekit/lib/sendState.js#L29)

{
  type: 'device.new-state',
  device_feature: 'zigbee2mqtt-0x00158d0006f2500d-motion-sensor-binary-occupancy',
  previous_value: 1,
  last_value: 1,
  last_value_changed: 2023-10-20T13:01:20.659Z
}

log(Service[mappings[feature.category].service) au même endroit

[Function: MotionSensor] {
  UUID: '00000085-0000-1000-8000-0026BB765291'
}

log(Characteristic[mappings[feature.category].capabilities[feature.type].characteristics[0]]) au même endroit

[Function: MotionDetected] {
  UUID: '00000022-0000-1000-8000-0026BB765291'
}

T’es sûr que pour les capteurs de mouvement il faut pas envoyer un boolean?

Sur des projets qui font pareil, ils envoient des boolean:

C’est ce que j’ai vu. J’ai essayé de deux manières (!!event.last_value et Boolean(event.last_value)).

Je vais réessayer :thinking:

Le mieux selon moi:

event.last_value === 1
1 Like

Je ne pense pas que ce soit nécessaire, la librairie le fait par elle même

D’ailleurs on voit bien que ça fonctionne pour les lampes/interrupteurs qui demandent aussi des booléens

1 Like

J’ai essayé, ton code semble fonctionner.
Pour réduire au maximum tu peux faire comme ça

@cicoub13 tiens moi au courant quand tu veux une review!

Bonjour. J’ai pris en compte les retours de @bertrandda et poussé une nouvelle version de l’image cicoub13/gladys:homekit-motion-sensor

Mais cela ne fonctionne pas sur mon iPad. Je ne sais pas si ça vient de mon capteur, de l’image, …

Est-ce que quelqu’un (avec de vrais capteurs) pourrait tester ?

Vrai capteur ça ne change rien dans Gladys :slight_smile: Un capteur, qu’il soit MQTT ou autre c’est la même chose !

Après si tu as besoin d’un capteur de mouvement Zigbee je peux t’en envoyer un ?

Je peux tester l’image ce week-end si vous voulez vu que j’ai les capteurs :wink:

1 Like

J’en ai un qui fonctionne très bien avec Gladys mais pas de mise à jour du statut dans Homekit :neutral_face:

@cicoub13 Ah :sweat_smile: C’est pas bon signe ça

Tu as testé de modifier l’état du capteur en live ?

Et les autres capteurs qui étaient déjà compatibles fonctionnent toujours avec l’intégration Homekit sur ta nouvelle image ?

Un message a été scindé en un nouveau sujet : Capteur mouvement Zigbee n’apparait pas dans l’intégration Gladys

Bonjour à tous, j’ai testé l’image donnée dans le post un peu plus haut.
Le capteur est bien vu dans Gladys, mais n’apparait pas dans Homekit.
Et dans Gladys, la scène que je mets en place ne fonctionne pas parce que le capteur a un rafraîchissement toutes les 30s, et pas en dessous.
Pour info, il s’agit d’un vrai capteur Aqara, et non un virtuel.
En fait, je souhaite placer un détecteur dans une cave, associé à une ampoule connectée, qui s’allume et reste allumée tant que la personne est dedans.
Je ne sais pas si ces informations aideront.

Qu’est ce qui ne fonctionne pas ? J’ai ce fonctionnement avec ce même capteur et ça marche très bien :slight_smile:

Ça devrait fonctionner. Est-ce que tu peux nous faire une capture d’écran de ta scène ?

Je me plante surement dans la configuration de la scène…

Oui le dernier avec les 3 actions ca ne peux pas fonctionner.

Tout ce que tu mets dans le même bloc est exécuté en même temps.
Donc tu allumes, tu eteinds et tu attends.

Il faut modifier et ajouter 2 autres bloc en dessous.
Donc un bloc pour allumer
Un bloc pour attendre
Et un bloc pour éteindre

Et est-ce que la scène se relancera tant que quelqu’un est devant le détecteur ?