Shell pour l’ERLMAX

L’ERLMAX publie les données TIC du Linky à travers le model Mesh Sensor dont l’interface shell est la suivante :

# Publish a status message on a generic model client.

==> mesh models msg publish <elem id> <model id> <opcode> [payload]

Avec :

  • elem id : the element index of the model instance (source)

  • model id : the model id sender (source)

  • opcode : the opcode message to send

  • payload : Hexadecimal BCD value

Dans ce cas précis :

  • elem id = 1

  • model id = 0x00001102

  • opcode = 0x52

Transmission des informations

Les données informationnelles seront transmises à partir du modèle mesh sensor, utilisant un property id spécifique : 0x07FC.

Ci-dessous, nous présentons la Trame Shell utilisée pour publier un message ble mesh de status.

Note

  • Pour rappel, un message de status est émis plusieurs fois, le produit destination doit recevoir le même message autant de fois qu’il a été émis.

  • De plus, l’adresse de publication est dépendant de la configuration du produit, cette information est attribuée lors de la phase de configuration du produit par l’application mobile.

1. Trame d’exemple de la transmission du message PRM : 01234567890123

#+---------+---------+---------+---------+---------+---------+---------+---------+
#| Octet 7 | Octet 6 | Octet 5 | Octet 4 | Octet 3 | Octet 2 | Octet 1 | Octet 0 |
#+=========+=========+=========+=========+=========+=========+=========+=========+
#|   0x01  |   0x23  |   0x01  |   0x89  |   0x67  |   0x45  |   0x23  |   0x01  |
#+---------+---------+---------+---------+---------+---------+---------+---------+

uart:~$ mesh models msg publish 1 0x1100 0x52 0FFC070123456789012301

Description du message émis :

  • elem idx: 1

  • Model Id: 0x1100 (sensor server)

  • opcode: 0x52

  • payload: 0FFC070123456789012301

    • 0F: Longeur des données (calcul spécifique à la SIG)

    • FC07 : Property ID (little endian)

    • Octet 0: 01 (PRM01)

    • Octet 1: 23 (PRM32)

    • Octet 2: 45 (PRM54)

    • Octet 3: 67 (PRM76)

    • Octet 4: 89 (PRM89)

    • Octet 5: 01 (PRM1110)

    • Octet 6: 23 (PRM1312)

    • Octet 7: 01 (Nun msg)

Réception des informations du message *PRM* : 01234567890123

Lors de la transmission d’information par un produit, si un autre produit est à l’écoute de ce message ou à destination direct alors une trame shell sera transmise.

Si nous continuons l’exemple présenté ci-dessus, le shell du produit à l’écoute enverra la ligne suivante :

Mesh status from 0x0166 dst 0xc000 rssi -31 element 1, model 0x00001102 op 0x52 len 11: 0ffc070123456789012301

Description du message reçu :

  • Mesh status from 0x0166 : message de status envoyé par l’élément 0x0166

  • dst 0xC000 : destinataire du message

  • element 1 : adresse du noeud pour ce message

  • model 0x00001102 : model id (sensor client)

  • op 0x52 : Opcode

  • len 11 : longueur des données utiles

  • 0ffc070123456789012301 : données utiles

2. Trame d’exemple de la transmission du message ADS : 112233445566

#+---------+---------+---------+---------+---------+---------+---------+---------+
#| Octet 7 | Octet 6 | Octet 5 | Octet 4 | Octet 3 | Octet 2 | Octet 1 | Octet 0 |
#+=========+=========+=========+=========+=========+=========+=========+=========+
#|   0x02  |   0x01  |   0x66  |   0x55  |   0x44  |   0x33  |   0x22  |   0x11  |
#+---------+---------+---------+---------+---------+---------+---------+---------+

uart:~$ mesh models msg publish 1 0x1100 0x52 0FFC071122334455660102

Description du message émis :

  • elem idx: 1

  • Model Id: 0x1100 (sensor server)

  • opcode: 0x52

  • payload: 0FFC071122334455660102

    • 0F: Longeur des données (calcul spécifique à la SIG)

    • FC07 : Property ID (little endian)

    • Octet 0: 11 (ADS01)

    • Octet 1: 22 (ADS32)

    • Octet 2: 33 (ADS54)

    • Octet 3: 44 (ADS76)

    • Octet 4: 55 (ADS89)

    • Octet 5: 66 (ADS1110)

    • Octet 6: 01 (Id ERL)

    • Octet 7: 02 (Nun msg)

Réception des informations du message *ADS* : 112233445566

Si nous continuons l’exemple présenté ci-dessus, le shell du produit à l’écoute enverra la ligne suivante :

Mesh status from 0x0166 dst 0xc000 rssi -31 element 1, model 0x00001102 op 0x52 len 11: 0ffc071122334455660102

Description du message reçu

  • Mesh status from 0x0166 : message de status envoyé par l’élément 0x0166

  • dst 0xC000 : destinataire du message

  • element 1 : adresse du noeud pour ce message

  • model 0x00001102 : model id (sensor client)

  • op 0x52 : Opcode

  • len 11 : longueur des données utiles

  • 0ffc071122334455660102 : données utiles

3. Trame d’exemple de la transmission du message Conso : 64871911D8F660

Présentation des valeurs embarquées dans la trame :

  • La valeur URMS est de 100 convertie en hexadécimale 0x64

  • La valeur sinsts est de 6535 convertie en hexadécimale 0x1987

  • La valeur timestamp est le 27 Mars 2024 13:32:17 GMT+1 (Heure Paris) soit une valeur en hexadécimale 0x11D8F6C003

#+---------+---------+---------+---------+---------+---------+---------+---------+
#| Octet 7 | Octet 6 | Octet 5 | Octet 4 | Octet 3 | Octet 2 | Octet 1 | Octet 0 |
#+=========+=========+=========+=========+=========+=========+=========+=========+
#|   0x03  |   0x60  |   0xF6  |   0xD8  |   0x11  |   0x19  |   0x87  |   0x64  |
#+---------+---------+---------+---------+---------+---------+---------+---------+

uart:~$ mesh models msg publish 1 0x1100 0x52 0FFC0764871911D8F66003

Description du message émis :

  • elem idx: 1

  • Model Id: 0x1100 (sensor server)

  • opcode: 0x52

  • payload: 0FFC0764871911D8F66003

    • 0F: Longeur des données (calcul spécifique à la SIG)

    • FC07 : Property ID (little endian)

    • Octet 0: 64 (URMS)

    • Octet 1: 87 (SINSTS0)

    • Octet 2: 19 (SINSTS1)

    • Octet 3: 8C (TSlinky0)

    • Octet 4: 7B (TSlinky1)

    • Octet 5: 92 (TSlinky2)

    • Octet 6: 65 (TSlinky3)

    • Octet 7: 03 (Nun msg)

Réception des informations du message *Conso* : 64871911D8F660

Si nous continuons l’exemple présenté ci-dessus, le shell du produit à l’écoute enverra la ligne suivante :

Mesh status from 0x0166 dst 0xc000 rssi -31 element 1, model 0x00001102 op 0x52 len 11: 0ffc0764871911d8f66003

Description du message reçu

  • Mesh status from 0x0166 : message de status envoyé par l’élément 0x0166

  • dst 0xC000 : destinataire du message

  • element 1 : adresse du noeud pour ce message

  • model 0x00001102 : model id (sensor client)

  • op 0x52 : Opcode

  • len 11 : longueur des données utiles

  • 0ffc64871911d8f66003 : données utiles