interface_chauffage_-_local_process_bus_lpb
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
interface_chauffage_-_local_process_bus_lpb [2017/12/30 19:49] – [Le format de la trame] 88.164.131.165 | interface_chauffage_-_local_process_bus_lpb [2024/11/30 21:14] (Version actuelle) – [1er lecture] 78.120.131.233 | ||
---|---|---|---|
Ligne 59: | Ligne 59: | ||
78 13 FF 00 FC 02 00 14 02 15 00 02 0A 00 01 1F 00 00 F0 F0 | 78 13 FF 00 FC 02 00 14 02 15 00 02 0A 00 01 1F 00 00 F0 F0 | ||
78 11 FF 00 CC 02 00 14 02 05 00 02 1D 00 0E C0 F3 6D | 78 11 FF 00 CC 02 00 14 02 05 00 02 1D 00 0E C0 F3 6D | ||
- | 78 10 FF 00 CC 02 00 14 02 15 00 01 FB 00 00 F4 8A 78 14 00 10 CC 02 00 14 A3 3D 2D 02 0D 06 01 00 00 00 01 EF B4 | + | 78 10 FF 00 CC 02 00 14 02 15 00 01 FB 00 00 F4 8A |
+ | 78 14 00 10 CC 02 00 14 A3 3D 2D 02 0D 06 01 00 00 00 01 EF B4 | ||
</ | </ | ||
Ligne 69: | Ligne 70: | ||
* FF : Destination - Adresse de destination du telegramme (0xFF Broadcast à touts les périphériques sur le bus) | * FF : Destination - Adresse de destination du telegramme (0xFF Broadcast à touts les périphériques sur le bus) | ||
* 00 : Expéditeur - Adresse de l' | * 00 : Expéditeur - Adresse de l' | ||
- | * CC 02 00 14 02 05 00 02 1D 00 : Nom du telegramme | + | * CC : Flag d' |
- | * 0F 06 : Valeur du telegramme | + | * 02 : inconnu |
+ | * 00 : inconnu | ||
+ | * 14 : inconnu | ||
+ | * 02 : type ? 2 : info / 3 : Set / 4: ACK / 5: NACK / 6 : Request / 7 : reply to request / 8 : Error - Le type est augmenté de 0x20 entre chaque échange | ||
+ | * 05 : (cmd & 0x00ff0000) >> 16; | ||
+ | * 00 : (cmd & 0xff000000) >> 24; | ||
+ | * 02 : (cmd & 0x0000ff00) >> 8; | ||
+ | * 1D : (cmd & 0x000000ff); | ||
+ | * 00 0F 06 : Valeur | ||
+ | * F2 B4 : CRC | ||
+ | |||
+ | Les octets 1 et 2 sont inversés entre la demande et la réponse : | ||
+ | |||
+ | Exemple : | ||
+ | * Demande : 053D0064 type 86 | ||
+ | * Réponse : 3D050064 type 87 | ||
+ | |||
+ | Échange suivant +0x20 | ||
+ | |||
+ | * Demande : 053D0064 type A6 | ||
+ | * Réponse : 3D050064 type A7 | ||
+ | |||
+ | |||
+ | |||
+ | ==== Calcul | ||
+ | |||
+ | Le CRC se calcule avec l' | ||
+ | |||
+ | <code csharp> | ||
+ | public static string CRC_LPB(byte[] bytes) | ||
+ | { | ||
+ | int crc = 0; | ||
+ | int len = bytes.Length-1; | ||
+ | crc = (257 - len) * 256 + len - 2; | ||
+ | |||
+ | if (bytes != null && bytes.Length > 0) | ||
+ | { | ||
+ | for(int i=0; | ||
+ | { | ||
+ | crc += bytes[i]; | ||
+ | } | ||
+ | } | ||
+ | return String.Format(" | ||
+ | } | ||
+ | </ | ||
| | ||
+ | Si bytes[] = {0x78, | ||
+ | | ||
+ | Alors crc = F2B4 | ||
+ | ==== Liste des télégramme et décodage ==== | ||
+ | |||
+ | La majorité des informations ci dessous sont issu de tests (reverse engineering) et ne sont pas donc pas fiables à 100% | ||
+ | |||
+ | |0005021F|Température extérieure| | ||
+ | |0005021D|Température chaudière| | ||
+ | |2D3D021C|Température ambiante| | ||
+ | |00310210|Température chaudière 2 ?| | ||
+ | |0005021E|Température retour chaudière| | ||
+ | |00310222|Température ECS| | ||
+ | |3D250516|Température ECS fournie par la chaudière lors d'une demande du thermostat| | ||
+ | |001501FB|Bruleur OFF| | ||
+ | |001501F8|Bruleur ON| | ||
+ | |2D3D020D|Le thermostat indique dans quel mode il se trouve(1)| | ||
+ | |002D020F|ACK Mode| | ||
+ | |050504B3|Mode été| | ||
+ | |050504B2|Mode fin été ?| | ||
+ | |0005006C|DateTime| | ||
+ | |||
+ | (1) : | ||
+ | |||
+ | === Décodage températures === | ||
+ | Toutes les températures se décodent de la même manière. | ||
+ | |||
+ | Exemple : 78 11 FF 00 FC 02 00 14 02 31 00 02 22 00 **0A 7B** F3 85 | ||
+ | |||
+ | On récupère la valeur (Ici il s'agit d'une information de température de l'ECS) | ||
+ | On convertir cette valeur en entier : 0x0A7B = d2683 | ||
+ | On divise par 64 par avoir la valeur en °C : 2683 / 64 = 41°C | ||
+ | |||
+ | === Décodage DateTime === | ||
+ | |||
+ | Exemple 78 17 FF 00 FC 02 00 14 02 05 00 00 6C 00 **75 0C 1F 07 10 0E 1A 00** EE 07 | ||
+ | |||
+ | * 75 : 1900 + 0x75 (117) = 2017 (année) | ||
+ | * 0C : 12 (mois) | ||
+ | * 1F : 31 (jour) | ||
+ | * 07 : 7eme jour de la semaine donc dimanche | ||
+ | * 10 : 16 (heure) | ||
+ | * 0E : 14 (min) | ||
+ | * 1A : 26 (secondes ?) | ||
+ | * 00 : ?? |
interface_chauffage_-_local_process_bus_lpb.1514659747.txt.gz · Dernière modification : 2017/12/30 19:49 de 88.164.131.165