La ZiGate est une passerelle entre les objets communiquant en ZigBee® et votre box domotique. L’objectif principal de la ZiGate est de ne pas s’attacher à un protocole ZigBee® en particulier. En effet, le souhait est de mutualiser le plus de matériels possibles car mêler plusieurs marques pour sa domotique est un gage de liberté. ZiGate dit stop aux monopoles techniques.

Voici la liste des matériels compatibles :

 

Images:

Capteur de température / humidité / pression atmosphérique

Nom : Capteur de température / humidité / pression atmosphérique
Marque : Xiaomi
  panier-acheter-ecommerce-shopping-icone-8314-48
Description:

Appairage

Pour mettre cet objet en mode inclusion, il faut :

Appuyer 10 sec sur le bouton « link ».

Clusters disponibles

EndPoint: 0x01
Profile ID: 0x0104 (ZigBee HA)
Device ID: 0x5F01 (Unknown)
Input Cluster Count: 6
Cluster 0: Cluster ID: 0x0000 (General: Basic)
Cluster 1: Cluster ID: 0x0003 (General: Identify)
Cluster 2: Cluster ID: 0xFFFF (Unknown)
Cluster 3: Cluster ID: 0x0402 (Measurement: Temperature)
Cluster 4: Cluster ID: 0x0403 (Unknown)
Cluster 5: Cluster ID: 0x0405 (Unknown)
Output Cluster Count: 3
Cluster 0: Cluster ID: 0x0000 (General: Basic)
Cluster 1: Cluster ID: 0x0004 (General: Groups)
Cluster 2: Cluster ID: 0xFFFF (Unknown)

Suivre la procédure pour mettre la ZiGate en mode « écoute » :

Puis appuyer sur le bouton (sur le dessus du capteur) pendant 5 secondes. La led bleue se met à clignoter puis envoie les données suivantes :

Device announce

Le message est traitée deux fois :

ZiGate ← 01 00 4D 00 0C 41 E1 E1 00 15 8D 00 01 71 F3 45 80 DE 03
ZiGate ← 01 00 4D 00 0C 41 E1 E1 00 15 8D 00 01 71 F3 45 80 DE 03

Header

01 = Start
00 4D = Message type (device announce)
00 0C = Taille message
41 = Checksum

Message (Device announce):

E1 E1 = Short address ( adresse utilisé dans le réseau)
00 15 8D 00 01 71 F3 45 = Adresse MAC IEEE
80 = Mac capability

Footer

DE = Qualité du signal
03 = End

Décodage :

Type: 0x004D (End Device Announce)
Short Address: 0xE1E1
Extended Address: 0x158D000171F345
MAC Capability: 0x80
Alternate PAN Coordinator: False
Device Type: End Device
Power Source: Battery
Receiver On When Idle: False
Security Capability: Standard
Allocate Address: True

Route Discovery Confirm

ZiGate ← 01 87 01 00 03 61 00 00 E4 03

Décodage :

Type: 0x8701 (Route Discovery Confirm)
SQN: 0x00
Status: 0x00
Network Status: 0xE4

Démarrage après appairage

ZiGate ← 01 81 02 00 19 7F 00 E1 E1 01 00 00 00 05 00 42 00 0C 6C 75 6D 69 2E 77 65 61 74 68 65 72 E4 03

Décodage :

Type: 0x8102 (Attribute Report)
SQN: 0x00
Src Addr: 0xE1E1
Src Ep: 0x01
Cluster ID: 0x0000 (General: Basic)
Attribute ID: 0x0005
Attribute Size: 0x000C
Attribute Type: 0x42 (Character String)
Attribute Data (Len – 12): lumi.weather
Status: 0x00

ZiGate ← 01 81 02 00 0E 4B 00 E1 E1 01 00 00 00 01 00 20 00 01 03 E4 03

Décodage :

Type: 0x8102 (Attribute Report)
SQN: 0x00
Src Addr: 0xE1E1
Src Ep: 0x01
Cluster ID: 0x0000 (General: Basic)
Attribute ID: 0x0001
Attribute Size: 0x0001
Attribute Type: 0x20 (UINT8)
Attribute Data: 0x03
Status: 0x00

ZiGate ← 01 81 02 00 32 E7 01 E1 E1 01 00 00 FF 01 00 42 00 25 01 21 C7 0B 04 21 A8 01 05 21 2E 00 06 24 01 00 00 00 00 64 29 E9 08 65 21 32 20 66 2B 7C 8A 01 00 0A 21 00 00 ED 03

Voici la trame propriétaire Xiaomi envoyé à chaque appairage et tous les X temps.

C’est dans cette trame que l’on trouve la tension de pile du capteur.

Décodage global :

Type: 0x8102 (Attribute Report)
SQN: 0x01
Src Addr: 0xE1E1
Src Ep: 0x01
Cluster ID: 0x0000 (General: Basic)
Attribute ID: 0xFF01
Attribute Size: 0x0025
Attribute Type: 0x42 (Character String)
Attribute Data (Len – 37): !Ç
!¨!.$d)ée!2 f+|Š
!
Status: 0x00

Décodage de la tension de pile:

00 25 01 21 C7 0B 04 21 A8 01 05 21 2E 00 06 24 01 00 00 00 00 64 29 E9 08 65 21 32 20 66 2B 7C 8A 01 00 0A 21 00 00

Comme c’est un « word » il faut inversé : BC7 = 2940 /1000 = 2.940V

Température, humidité et pression atmosphérique

Les données de température et humidité sont envoyés dès qu’il y a un changement important et tous les X temps

Température

ZiGate <- 01 81 02 00 0F A0 02 E1 E1 01 04 02 00 00 00 29 00 02 08 FA F0 03

Décodage :

Type: 0x8102 (Attribute Report)
SQN: 0x02
Src Addr: 0xE1E1
Src Ep: 0x01
Cluster ID: 0x0402 (Measurement: Temperature)
Attribute ID: 0x0000
Attribute Size: 0x0002
Attribute Type: 0x29 (INT16)
Attribute Data:
0x08FA
Status: 0x00

Température = 0x08FA = 2298/ 100 = 22.98°C

Humidité :

ZiGate <- 01 81 02 00 0F ED 03 E1 E1 01 04 05 00 00 00 21 00 02 1D AF F3 03

Type: 0x8102 (Attribute Report)
SQN: 0x03
Src Addr: 0xE1E1
Src Ep: 0x01
Cluster ID: 0x0405 (Humidity)
Attribute ID: 0x0000
Attribute Size: 0x0002
Attribute Type: 0x21 (UINT16)
Attribute Data: 0x1DAF
Status: 0x00

Humidité = 0x1DAF= 7599/100 = 75.99%

Pression atmosphérique :

ZiGate <- 01 81 02 00 0F A7 04 E1 E1 01 04 03 00 00 00 29 00 02 03 F1 F0 03

Décodage :

Type: 0x8102 (Attribute Report)
SQN: 0x04
Src Addr: 0xE1E1
Src Ep: 0x01
Cluster ID: 0x0403 (Pression atmosphérique)
Attribute ID: 0x0000
Attribute Size: 0x0002
Attribute Type: 0x29 (INT16)
Attribute Data : 0x03F1

Status: 0x00

Pression atmosphérique = 0x03F1= 1009mb

ZiGate <- 01 81 02 00 0E BD 04 E1 E1 01 04 03 00 14 00 28 00 01 FF F0 03

Décodage :

Type: 0x8102 (Attribute Report)
SQN: 0x04
Src Addr: 0xE1E1
Src Ep: 0x01
Cluster ID: 0x0403 (Pression atmosphérique)
Attribute ID: 0x0014
Attribute Size: 0x0001
Attribute Type: 0x28 (Unknown)
Status: 0x00

Pression atmosphérique = ???

ZiGate <- 01 81 02 00 0F 10 04 E1 E1 01 04 03 00 10 00 29 00 02 27 72 F0 03

Décodage :

Type: 0x8102 (Attribute Report)
SQN: 0x04
Src Addr: 0xE1E1
Src Ep: 0x01
Cluster ID: 0x0403 (Pression atmosphérique)
Attribute ID: 0x0010
Attribute Size: 0x0002
Attribute Type: 0x29 (INT16)
Attribute Data: 0x2772

Status: 0x00

Pression atmosphérique = 0x2772= 10098 / 10 = 1009.8mb

Back

Translate »