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é

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

Appairage

Pour mettre cet objet en mode inclusion, il faut :

A l’aide d’un trombone, appuyer 10 sec sur le bouton “reset”.

Clusters disponibles

EndPoint: 0x01
Profile ID: 0x0104 (ZigBee HA)
Device ID: 0x5F01 (Unknown)
Input Cluster Count: 5
Cluster 0: Cluster ID: 0x0000 (General: Basic)
Cluster 1: Cluster ID: 0x0003 (General: Identify)
Cluster 2: Cluster ID: 0x0019 (General: OTA)
Cluster 3: Cluster ID: 0xFFFF (Unknown)
Cluster 4: Cluster ID: 0x0012 (Unknown)
Output Cluster Count: 7
Cluster 0: Cluster ID: 0x0000 (General: Basic)
Cluster 1: Cluster ID: 0x0004 (General: Groups)
Cluster 2: Cluster ID: 0x0003 (General: Identify)
Cluster 3: Cluster ID: 0x0005 (General: Scenes)
Cluster 4: Cluster ID: 0x0019 (General: OTA)
Cluster 5: Cluster ID: 0xFFFF (Unknown)
Cluster 6: Cluster ID: 0x0012 (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 31 6F 2F 00 15 8D 00 01 29 15 C6 80 D3 03
ZiGate ← 01 00 4D 00 0C 31 6F 2F 00 15 8D 00 01 29 15 C6 80 D3 03

Header

01 = Start
00 4D = Message type (device announce)
00 CC = Taille message
31 = Checksum

Message (Device announce):

6F 2F = Short address ( adresse utilisé dans le réseau)
00 15 8D 00 01 29 15 C6 = Adresse MAC IEEE
80 = Mac capability

Footer

D3 = Qualité du signal
03 = End

Décodage :

Type: 0x004D (End Device Announce)
Short Address: 0x6F2F
Extended Address: 0x158D00012915C6
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 45 00 00 C0 03

Décodage :

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

Démarrage après appairage

ZiGate ← 01 81 02 00 1B 36 00 6F 2F 01 00 00 00 05 00 42 00 0E 6C 75 6D 69 2E 73 65 6E 73 6F 72 5F 68 74 C0 03

Décodage :

Type: 0x8102 (Attribute Report)
SQN: 0x00
Src Addr: 0x6F2F
Src Ep: 0x01
Cluster ID: 0x0000 (General: Basic)
Attribute ID: 0x0005
Attribute Size: 0x000E
Attribute Type: 0x42 (Character String)
Attribute Data (Len – 14): lumi.sensor_ht
Status: 0x00

ZiGate ← 01 81 02 00 0E 2E 00 6F 2F 01 00 00 00 01 00 20 00 01 02 C0 03

Décodage :

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

ZiGate ← 01 81 02 00 2C CC 01 6F 2F 01 00 00 FF 01 00 42 00 1F 01 21 B3 0B 04 21 A8 01 05 21 79 00 06 24 01 00 00 00 00 64 29 66 09 65 21 74 1C 0A 21 00 00 CF 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: 0x6F2F
Src Ep: 0x01
Cluster ID: 0x0000 (General: Basic)
Attribute ID: 0xFF01
Attribute Size: 0x001F
Attribute Type: 0x42 (Character String)
Attribute Data (Len – 31): !³
!¨!y$d)f e!t
!
Status: 0x00

Décodage de la tension de pile:

00 1F 01 21 B3 0B 04 21 A8 01 05 21 79 00 06 24 01 00 00 00 00 64 29 66 09 65 21 74 1C 0A 21 00 00

Comme c’est un « word » il faut inversé : BB3 = 2995 /1000 = 2.995V

Température et humidité

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 AB 02 6F 2F 01 04 02 00 00 00 29 00 02 09 89 C9 03

Décodage :

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

Status: 0x00

Température = 0x0989 = 2441 / 100 = 24.41°C

Humidité :

ZiGate <- 01 81 02 00 0F 71 03 6F 2F 01 04 05 00 00 00 21 00 02 1D 49 C9 03

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

Humidité = 0x1D49 = 7497/100 = 74.97%

Back

Translate »