je souhaite réaliser un suivi de la consommation de mon chauffe eau.
J'utilise une carte "maison" mysensors à base d'arduino La mesure de la consommation s'effectuant à l'aide d'un transformateur de courant.
Aucun problème pour l'information de puissance, en revanche je bloque un peu sur la consommation.
Je pense que DOMOTICZ reporte les KWH en cumulé c'est a dire qu'il n'affiche que la différence depuis la dernière mesure.
Pour cela je souhaite récupérer cette dernière valeur dans DOMOTICZ .
J'ai donc tenté d'utiliser V_VAR1 pour retrouver ma valeur, mais je ne comprends pas comment associer cette variable avec mon info de KWH.
Lors de la commande request( CHILD_ID_KWH,V_VAR1); je récupère une valeur de 59.0 qui ne correspond a rien.
Quelqu'un a t'il une idée?
voila un extrait de mon code (je n'ai conservé que les éléments concernés par ma question..)
Merci d'avance.
Code : Tout sélectionner
// Enable and select radio type attached
#define MY_RADIO_NRF24
//#define MY_RADIO_RFM69
#define MY_NODE_ID 6
#include <MySensors.h>
#include <OneWire.h> // Inclusion de la librairie OneWire
#define DS18B20 0x28 // Adresse 1-Wire du DS18B20
#define BROCHE_ONEWIRE 3 // Broche utilisée pour le bus 1-Wire
OneWire ds(BROCHE_ONEWIRE); // Création de l'objet OneWire ds
#define SN "Wattmetre"
#define SV "1.0"
#define CHILD_ID_WATT 1
#define CHILD_ID_TEMP 2
#define CHILD_ID_KWH 3
MyMessage powerMsg(CHILD_ID_WATT, V_WATT);
MyMessage tempMsg(CHILD_ID_TEMP, V_TEMP);
MyMessage kwhMsg(CHILD_ID_KWH, V_KWH);
int pwr;
float puissance;
static float conso;
float kwh;
int valeur;
void presentation() {
// Send the Sketch Version Information to the Gateway
sendSketchInfo(SN, SV);
present(CHILD_ID_WATT, S_POWER);
present (CHILD_ID_TEMP, S_TEMP);
present(CHILD_ID_KWH, S_POWER);
}
void setup()
{
//Recuperation ancienne valeur de la consommation
request( CHILD_ID_KWH,V_VAR1);
}
void receive(const MyMessage &message)
{
if (message.type == V_VAR1)
{
kwh=atoi(message.data);
}