Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // caracter codes
- #define END_OF_LINE 10 // \n
- #define OPEN_BRACKET "{"
- #define CLOSE_BRACKET "}"
- /***********************************************
- sendHbeat
- Send a xPL hbeat message
- Input : n/a
- Output : n/a
- ***********************************************/
- void sendHbeat() {
- Serial.println("Send hbeat message");
- char buffer[200];
- /**** header ****/
- printf(buffer, "xpl-stat\n{\n");
- printf(buffer, "%shop=1\n", buffer);
- printf(buffer, "%ssource=%s\n", buffer, MY_SOURCE);
- printf(buffer, "%starget=*\n}\n", buffer);
- /**** body ****/
- printf(buffer, "%shbeat.basic\n{\n", buffer);
- printf(buffer, "%sinterval=%i\n", buffer, HBEAT_INTERVAL);
- printf(buffer, "%sport=%u\n", buffer, localPort);
- printf(buffer, "%sremote-ip=%s\n",buffer, myIPAdress);
- printf(buffer, "%s}\n", buffer);
- //Serial.println(buffer);
- /**** Send it ****/
- Udp.beginPacket(broadCastIp, xplPort);
- Udp.write(buffer);
- Udp.endPacket();
- }
- /***********************************************
- sendTeleinfoBasic
- Send a xPL teleinfo basic stat message
- Input : n/a
- Output : n/a
- ***********************************************/
- void sendTeleinfoBasic() {
- Serial.println("Send Teleinfo stat");
- char buffer[512];
- /**** header ****/
- printf(buffer, "xpl-stat\n{\n");
- printf(buffer, "%shop=1\n", buffer);
- printf(buffer, "%ssource=%s\n", buffer, MY_SOURCE);
- printf(buffer, "%starget=*\n}\n", buffer);
- /**** body : specification part ****/
- printf(buffer, "%steleinfo.basic\n{\n", buffer);
- /**** body : developper part ***/
- // numéro de série du compteur
- printf(buffer, "%sadco=%s\n", buffer, ADCO);
- // Option tarifaire choisie
- printf(buffer, "%soptarif=%s\n", buffer, OPTARIF);
- // Intensité souscrite,
- printf(buffer, "%sisousc=%i\n", buffer, ISOUSC);
- // Index option Heures Creuses - Heures Creuses
- printf(buffer, "%shchc=%lu\n", buffer, HCHC);
- // Index option Heures Creuses - Heures Pleines
- printf(buffer, "%shchp=%lu\n", buffer, HCHP);
- // Période Tarifaire en cours
- printf(buffer, "%sptec=%s\n", buffer, PTEC);
- // Intensité Instantanée
- printf(buffer, "%siinst=%i\n", buffer, IINST);
- // Intensité maximale appelée
- printf(buffer, "%simax=%i\n", buffer, IMAX);
- // Puissance apparente
- printf(buffer, "%spapp=%i\n", buffer, PAPP);
- // Horaire Heures Pleines Heures Creuses
- printf(buffer, "%shhphc=%s\n", buffer, HHPHC);
- // Mot d'état du compteur
- printf(buffer, "%smotdetat=%s\n", buffer, MOTDETAT);
- printf(buffer, "%sdevice=teleinfo\n", buffer);
- printf(buffer, "%s}\n", buffer);
- Serial.println(buffer);
- /**** Send it ****/
- Udp.beginPacket(broadCastIp, xplPort);
- Udp.write(buffer);
- Udp.endPacket();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement