SCT-013-030 current monitor sensor
-
Hello chatainsim, in my domoticz i have only one device counting (kWh+instant Power)
The instant power updated every 90s is writing in Watt value(83.3) , the kWh of the day (1.174) and total energy (61.582 kWh).... the device log show the power = f(t).
Look if Watt value in (kWhMeter) device change, look the log graph ... if is ok, u not need Wattmeter device.
Thx Fredok@fredok Yes, the kWhMeter is working fine:
-
Ok, so it just stop working after almost 24 hours ...
I have some issue with mysensors, I don't know why, sometimes sensors stop working but I don't know why ...send: 10-10-2-0 s=255,c=3,t=15,pt=2,l=2,sg=0,st=ok:0 send: 10-10-2-0 s=255,c=0,t=17,pt=0,l=5,sg=0,st=ok:1.5.4 send: 10-10-2-0 s=255,c=3,t=6,pt=1,l=1,sg=0,st=ok:2 sensor started, id=10, parent=2, distance=2 send: 10-10-2-0 s=255,c=3,t=11,pt=0,l=12,sg=0,st=ok:Energy Meter send: 10-10-2-0 s=255,c=3,t=12,pt=0,l=3,sg=0,st=fail:1.0 send: 10-10-2-0 s=0,c=0,t=13,pt=0,l=0,sg=0,st=ok: send: 10-10-2-0 s=0,c=2,t=24,pt=0,l=0,sg=0,st=fail: send: 10-10-2-0 s=0,c=2,t=24,pt=0,l=0,sg=0,st=ok: send: 10-10-2-0 s=0,c=2,t=24,pt=0,l=0,sg=0,st=ok: -
This is a recurring problem I have with MySensors.
All my sensors stop working, I have to clear the eprom then reupload the sketch.
Now It's working fine, until it fail again ;) -
Hello All,
I have tried this code and it works fine.
I was questionning myself though. If the index request fails at some point, what would be the behaviour of the code ? From my understanding of it, it will try to get the index again and again until it succeeds. May be a another way would be not to reset the index to 0 and send the additionnal index the next time.
What do you think ?QQ.
-
Hello, sorry for my late reply.
About the sketch,- At the beginning, the sketch request the last kWh to the GW (I use Domoticz, so GW ask Domoticz the last kWh value) and send to the node.
- If node receiv, the variable pcreceiv=true and it working fine else node wait for the request until he receiv. A serial.print will inform if receiv.
Fredok
-
Yep, got that lately :)
Thanks.QQ.
-
Hello, if i remember physics course in university Power P=u.i and energy E=integrale(Pdt)=integrale(u.i.dt)=UeffxIeffxcos(phi)
but for particular citizen same me, energy provider non consider cos(phi)So, i correct my last sketch for request last nrj value to the gw.
// EmonLibrary examples openenergymonitor.org, Licence GNU GPL V3 ***/ #include <SPI.h> #include <MySensor.h> #include "EmonLib.h" // Include Emon Library EnergyMonitor emon1; // Create an instance #define CHILD_ID 0 #define PIN_ANALOG_I A2 MySensor gw; unsigned long lastSend; unsigned long lastSend2; unsigned long SEND_FREQUENCY = 20000; // Minimum time between send (in milliseconds). We don't wnat to spam the gateway. unsigned long SEND_FREQUENCY2 = SEND_FREQUENCY / 25; int index = 0; double Irms=0; double power; boolean pcReceived = false; boolean onyva=true; float nrj=0, old_nrj; MyMessage IrmsMsg(CHILD_ID,V_WATT); MyMessage kWhMsg(CHILD_ID,V_KWH); MyMessage pcMsg(CHILD_ID,V_VAR1); void incomingMessage(const MyMessage &message) { if (message.type==V_VAR1) { nrj = old_nrj = message.getFloat(); Serial.print("Received last nrj count from gw:"); Serial.println(nrj); pcReceived = true; } } void setup() { gw.begin(incomingMessage); gw.sendSketchInfo("Energy Meter", "1.0"); // Send the sketch version information to the gateway and Controller gw.present(CHILD_ID, S_POWER); // Register this device as power sensor gw.request(CHILD_ID, V_VAR1); emon1.current(PIN_ANALOG_I, 30.0); // Current: input pin, calibration. } void loop() { if (onyva) gw.process(); onyva = false; unsigned long now = millis(); //unsigned long now2 = millis(); bool sendTime2 = now - lastSend2 > SEND_FREQUENCY2; if (sendTime2) //calcul Irms moy { if (index==0) Irms=emon1.calcIrms(1480); else { index++; Irms = (index*Irms+emon1.calcIrms(1480))/(index+1); } lastSend2 = now; } bool sendTime = now - lastSend > SEND_FREQUENCY; if (sendTime && pcReceived) { power = Irms*232.0; gw.send(IrmsMsg.set(power,1)); Serial.println(Irms*232.0); nrj += (power*SEND_FREQUENCY/1000)/3.6E6; gw.send(kWhMsg.set(nrj,5)); gw.send(pcMsg.set(nrj,5)); lastSend = now; index = 0; old_nrj=nrj; onyva=true; } else if (sendTime && !pcReceived) { gw.request(CHILD_ID, V_VAR1); lastSend=now; index=0; onyva=true; } }thx...
-
hi , do you have please updated sketch for newest version of domoticz ? This old cause problems when I compiling it.
Thanks :+1:
-
@warmaniac
Sorry i not update this sketch ... -
tried to modify but I always get error
/MySensors.h:328:2: error: #error No forward link or gateway feature activated. This means nowhere to send messages! Pretty pointless.
#error No forward link or gateway feature activated. This means nowhere to send messages! Pretty pointless.
// EmonLibrary examples openenergymonitor.org, Licence GNU GPL V3 ***/ #include <SPI.h> #include <MySensors.h> #include "EmonLib.h" // Include Emon Library EnergyMonitor emon1; // Create an instance #define CHILD_ID 0 #define MY_RADIO_NRF24 #define PIN_ANALOG_I A1 //MySensor gw; unsigned long lastSend; unsigned long lastSend2; unsigned long SEND_FREQUENCY = 20000; // Minimum time between send (in milliseconds). We don't wnat to spam the gateway. unsigned long SEND_FREQUENCY2 = SEND_FREQUENCY / 25; int index = 0; double Irms=0; double power; boolean pcReceived = false; boolean onyva=true; float nrj=0, old_nrj; MyMessage IrmsMsg(CHILD_ID,V_WATT); MyMessage kWhMsg(CHILD_ID,V_KWH); MyMessage pcMsg(CHILD_ID,V_VAR1); //void incomingMessage(const MyMessage &message) void receive(const MyMessage &message) { if (message.type==V_VAR1) { nrj = old_nrj = message.getFloat(); Serial.print("Received last nrj count from gw:"); Serial.println(nrj); pcReceived = true; } } void presentation () { sendSketchInfo("Energy Meter", "1.0"); // Send the sketch version information to the gateway and Controller present(CHILD_ID, S_POWER); // Register this device as power sensor request(CHILD_ID, V_VAR1); } void setup() { begin(incomingMessage); emon1.current(PIN_ANALOG_I, 30.0); // Current: input pin, calibration. } void loop() { if (onyva) process(); onyva = false; unsigned long now = millis(); //unsigned long now2 = millis(); bool sendTime2 = now - lastSend2 > SEND_FREQUENCY2; if (sendTime2) //calcul Irms moy { if (index==0) Irms=emon1.calcIrms(1480); else { index++; Irms = (index*Irms+emon1.calcIrms(1480))/(index+1); } lastSend2 = now; } bool sendTime = now - lastSend > SEND_FREQUENCY; if (sendTime && pcReceived) { power = Irms*232.0; send(IrmsMsg.set(power,1)); Serial.println(Irms*232.0); nrj += (power*SEND_FREQUENCY/1000)/3.6E6; send(kWhMsg.set(nrj,5)); send(pcMsg.set(nrj,5)); lastSend = now; index = 0; old_nrj=nrj; onyva=true; } else if (sendTime && !pcReceived) { request(CHILD_ID, V_VAR1); lastSend=now; index=0; onyva=true; } }It is possible to compile it with old mysensors library ? It will work with gateway which has a newest version ?
-
Hello, at the end i write a v2.0 of the sketch
//#include <Arduino.h> #define MY_DEBUG #define MY_RADIO_NRF24 // EmonLibrary examples openenergymonitor.org, Licence GNU GPL V3 ***/ #include <SPI.h> #include <MySensors.h> #include <DallasTemperature.h> #include <OneWire.h> #include "EmonLib.h" // Include Emon Library EnergyMonitor emon1; // Create an instance EnergyMonitor emon2; #define CHILD_ID_CLAMP1 0 #define CHILD_ID_CLAMP2 1 #define CHILD_ID_TEMP 2 #define CHILD_ID_LDR 3 #define PIN_ANALOG_I1 A2 //pince amperemetrique1 #define PIN_ANALOG_I2 A3 #define PIN_LDR A0 // LDR #define PIN_DALLAS 3 //Definition de dallas #define MAX_ATTACHED_DS18B20 1 #define COMPARE_TEMP 1 // Send temperature only if changed? 1 = Yes 0 = No OneWire oneWire(PIN_DALLAS); DallasTemperature sensors(&oneWire); float lastTemperature[MAX_ATTACHED_DS18B20]; int numSensors = 1; bool receivedConfig = false; bool metric = true; //truc v2.0 //int compat = 0; unsigned long lastSend_temp = millis(); unsigned long lastSend_power = millis(); unsigned long lastSend_c; unsigned long SEND_FREQUENCY = 120000; // Minimum time between send (in milliseconds). We don't wnat to spam the gateway. unsigned long SEND_FREQUENCY_TEMP = 300000; //delais d'emission entre 2 mesures de temps unsigned long SEND_FREQUENCY_C = SEND_FREQUENCY / 30; int index = 0; double Irms1 = 0; double Irms2 = 0; boolean pcReceived1 = false; boolean pcReceived2 = false; boolean first_time_temp = HIGH; float nrj1 = 0, old_nrj1; float nrj2 = 0, old_nrj2; int ldr = 0, old_ldr; MyMessage IrmsMsg1(CHILD_ID_CLAMP1, V_WATT); MyMessage kWhMsg1(CHILD_ID_CLAMP1, V_KWH); MyMessage pcMsg1(CHILD_ID_CLAMP1, V_VAR1); MyMessage IrmsMsg2(CHILD_ID_CLAMP2, V_WATT); MyMessage kWhMsg2(CHILD_ID_CLAMP2, V_KWH); MyMessage pcMsg2(CHILD_ID_CLAMP2, V_VAR2); MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP); MyMessage msgLight(CHILD_ID_LDR, V_LIGHT_LEVEL); void before() { sensors.begin(); } void presentation() { sendSketchInfo("Multisensors_Entree", "2.0"); // Send the sketch version information to the gateway and Controller present(CHILD_ID_CLAMP1, S_POWER); // Register this device as power sensor request(CHILD_ID_CLAMP1, V_VAR1); present(CHILD_ID_CLAMP2, S_POWER); // Register this device as power sensor request(CHILD_ID_CLAMP2, V_VAR2); numSensors = sensors.getDeviceCount(); //compte le nb de ds18 present(CHILD_ID_TEMP, S_TEMP); present(CHILD_ID_LDR, S_LIGHT_LEVEL); } void receive(const MyMessage &message) { if (message.type == V_VAR1) { nrj1 = old_nrj1 = message.getFloat(); Serial.print("Received last nrj count from gw:"); Serial.println(nrj1); pcReceived1 = true; } if (message.type == V_VAR2) { nrj2 = old_nrj2 = message.getFloat(); Serial.print("Received last nrj count from gw:"); Serial.println(nrj2); pcReceived2 = true; } } void setup() { sensors.setWaitForConversion(false); emon1.current(PIN_ANALOG_I1, 30.0); // Current: input pin, calibration. emon2.current(PIN_ANALOG_I2, 30.0); Serial.println("SETUP completed"); } void envoi_donnees(double intrms, int id_clamp) { Serial.print("Envoi des donnees .... clamp="); Serial.println(id_clamp); double energie = (intrms * 232.0 * SEND_FREQUENCY / 1000) / 3.6E6; switch (id_clamp) { case 1: { send(IrmsMsg1.set(intrms * 232.0, 1)); nrj1 += energie; send(kWhMsg1.set(nrj1, 5)); send(pcMsg1.set(nrj1, 5)); old_nrj1 = nrj1; } break; case 2: { send(IrmsMsg2.set(intrms * 232.0, 1)); nrj2 += energie; send(kWhMsg2.set(nrj2, 5)); send(pcMsg2.set(nrj2, 5)); old_nrj2 = nrj2; } break; } } void loop() { unsigned long now = millis(); bool sendTime_c = now - lastSend_c > SEND_FREQUENCY_C; // Calcul de Irms1 et Irms2 if (sendTime_c) //calcul Irms moy clamp1/clamp2 { if (index == 0) { Irms1 = emon1.calcIrms(1480); Irms2 = emon2.calcIrms(1480); } else { Irms1 = (index * Irms1 + emon1.calcIrms(1480)) / (index + 1); Irms2 = (index * Irms2 + emon2.calcIrms(1480)) / (index + 1); } lastSend_c = now; index++; } bool sendTime_temp = now - lastSend_temp > SEND_FREQUENCY_TEMP; if (sendTime_temp || first_time_temp) { Serial.println("........ quoiqu'il arrive, on envoi la temp+ldr"); first_time_temp = LOW; //Send Temp // Envoi Température d'après https://github.com/mysensors/MySensorsArduinoExamples/blob/master/examples/DallasTemperatureSensor/DallasTemperatureSensor.ino sensors.requestTemperatures(); sleep(750); for (int i = 0; i < numSensors && i < MAX_ATTACHED_DS18B20; i++) { // float temperature = static_cast<float>(static_cast<int>((getConfig().isMetric ? sensors.getTempCByIndex(i) : sensors.getTempFByIndex(i)) * 10.)) / 10.; float temperature = static_cast<float>(static_cast<int>((getControllerConfig().isMetric?sensors.getTempCByIndex(i):sensors.getTempFByIndex(i)) * 10.)) / 10.; if (lastTemperature[i] != temperature && temperature != -127.00 && temperature != 85.00) { // Send in the new temperature send(msgTemp.setSensor(i).set(temperature, 1)); Serial.println(".....................Envoi Temp"); // Save new temperatures for next compare lastTemperature[i] = temperature; } } //Send light LDR //Envoi Light LDR ldr = (1023 - analogRead(PIN_LDR)) / 10.23; if (old_ldr != ldr) { send(msgLight.set(ldr)); old_ldr = ldr; } lastSend_temp=now; } bool sendTime_power = now - lastSend_power > SEND_FREQUENCY; if (sendTime_power) { // Envoi ou request Puissance1 if (pcReceived1) envoi_donnees(Irms1, 1); else { request(CHILD_ID_CLAMP1, V_VAR1); Serial.println("Request VAR1"); } // Envoi ou request Puissance2 if (pcReceived2) envoi_donnees(Irms2, 2); else { request(CHILD_ID_CLAMP2, V_VAR2); Serial.println("Request VAR2"); } //on reinitialise les compteurs lastSend_power = now; index = 0; } }attention, i use in the same node a ds18b20 for temp and LRD for light measurment
so u need to delete part of sketch.
i just compiling/Verifying this with mysensors v2.1 (but not loaded in arduino pro) and no error
for emonlib => https://github.com/openenergymonitor/EmonLib -
.... u must to look the monitor for see "Envoi des données .... clamp=0" and after (a few minutes after) "Envoi des données .... clamp=1"
Look after ur domotic soft for see if your gw become something.


bye.
-
tried to modify but I always get error
/MySensors.h:328:2: error: #error No forward link or gateway feature activated. This means nowhere to send messages! Pretty pointless.
#error No forward link or gateway feature activated. This means nowhere to send messages! Pretty pointless.
// EmonLibrary examples openenergymonitor.org, Licence GNU GPL V3 ***/ #include <SPI.h> #include <MySensors.h> #include "EmonLib.h" // Include Emon Library EnergyMonitor emon1; // Create an instance #define CHILD_ID 0 #define MY_RADIO_NRF24 #define PIN_ANALOG_I A1 //MySensor gw; unsigned long lastSend; unsigned long lastSend2; unsigned long SEND_FREQUENCY = 20000; // Minimum time between send (in milliseconds). We don't wnat to spam the gateway. unsigned long SEND_FREQUENCY2 = SEND_FREQUENCY / 25; int index = 0; double Irms=0; double power; boolean pcReceived = false; boolean onyva=true; float nrj=0, old_nrj; MyMessage IrmsMsg(CHILD_ID,V_WATT); MyMessage kWhMsg(CHILD_ID,V_KWH); MyMessage pcMsg(CHILD_ID,V_VAR1); //void incomingMessage(const MyMessage &message) void receive(const MyMessage &message) { if (message.type==V_VAR1) { nrj = old_nrj = message.getFloat(); Serial.print("Received last nrj count from gw:"); Serial.println(nrj); pcReceived = true; } } void presentation () { sendSketchInfo("Energy Meter", "1.0"); // Send the sketch version information to the gateway and Controller present(CHILD_ID, S_POWER); // Register this device as power sensor request(CHILD_ID, V_VAR1); } void setup() { begin(incomingMessage); emon1.current(PIN_ANALOG_I, 30.0); // Current: input pin, calibration. } void loop() { if (onyva) process(); onyva = false; unsigned long now = millis(); //unsigned long now2 = millis(); bool sendTime2 = now - lastSend2 > SEND_FREQUENCY2; if (sendTime2) //calcul Irms moy { if (index==0) Irms=emon1.calcIrms(1480); else { index++; Irms = (index*Irms+emon1.calcIrms(1480))/(index+1); } lastSend2 = now; } bool sendTime = now - lastSend > SEND_FREQUENCY; if (sendTime && pcReceived) { power = Irms*232.0; send(IrmsMsg.set(power,1)); Serial.println(Irms*232.0); nrj += (power*SEND_FREQUENCY/1000)/3.6E6; send(kWhMsg.set(nrj,5)); send(pcMsg.set(nrj,5)); lastSend = now; index = 0; old_nrj=nrj; onyva=true; } else if (sendTime && !pcReceived) { request(CHILD_ID, V_VAR1); lastSend=now; index=0; onyva=true; } }It is possible to compile it with old mysensors library ? It will work with gateway which has a newest version ?
-
.... u must to look the monitor for see "Envoi des données .... clamp=0" and after (a few minutes after) "Envoi des données .... clamp=1"
Look after ur domotic soft for see if your gw become something.


bye.
I modyfied your sketch (deleting unwanted code like dallas and light sensor) it works but i think I done something wrong, because it spams my gateway , now it looks like this
//#include <Arduino.h> #define MY_DEBUG #define MY_RADIO_NRF24 // EmonLibrary examples openenergymonitor.org, Licence GNU GPL V3 ***/ #include <SPI.h> #include <MySensors.h> #include <OneWire.h> #include "EmonLib.h" // Include Emon Library EnergyMonitor emon1; // Create an instance #define CHILD_ID_CLAMP1 0 #define PIN_ANALOG_I1 A1 //pince amperemetrique1 bool receivedConfig = false; bool metric = true; //truc v2.0 //int compat = 0; unsigned long lastSend_temp = millis(); unsigned long lastSend_power = millis(); unsigned long lastSend_c; unsigned long SEND_FREQUENCY = 120000; // Minimum time between send (in milliseconds). We don't wnat to spam the gateway. unsigned long SEND_FREQUENCY_C = SEND_FREQUENCY / 30; int index = 0; double Irms1 = 0; boolean pcReceived1 = false; float nrj1 = 0, old_nrj1; MyMessage IrmsMsg1(CHILD_ID_CLAMP1, V_WATT); MyMessage kWhMsg1(CHILD_ID_CLAMP1, V_KWH); MyMessage pcMsg1(CHILD_ID_CLAMP1, V_VAR1); void presentation() { sendSketchInfo("Multisensors_Entree", "2.0"); // Send the sketch version information to the gateway and Controller present(CHILD_ID_CLAMP1, S_POWER); // Register this device as power sensor request(CHILD_ID_CLAMP1, V_VAR1); } void receive(const MyMessage &message) { if (message.type == V_VAR1) { nrj1 = old_nrj1 = message.getFloat(); Serial.print("Received last nrj count from gw:"); Serial.println(nrj1); pcReceived1 = true; } } void setup() { emon1.current(PIN_ANALOG_I1, 30.0); // Current: input pin, calibration. Serial.println("SETUP completed"); } void envoi_donnees(double intrms, int id_clamp) { Serial.print("Envoi des donnees .... clamp="); Serial.println(id_clamp); double energie = (intrms * 232.0 * SEND_FREQUENCY / 1000) / 3.6E6; switch (id_clamp) { case 1: { send(IrmsMsg1.set(intrms * 232.0, 1)); nrj1 += energie; send(kWhMsg1.set(nrj1, 5)); send(pcMsg1.set(nrj1, 5)); old_nrj1 = nrj1; } break; } } void loop() { unsigned long now = millis(); bool sendTime_c = now - lastSend_c > SEND_FREQUENCY_C; // Calcul de Irms1 et Irms2 if (sendTime_c) //calcul Irms moy clamp1/clamp2 { if (index == 0) { Irms1 = emon1.calcIrms(1480); } else { Irms1 = (index * Irms1 + emon1.calcIrms(1480)) / (index + 1); } lastSend_c = now; index++; } bool sendTime_power = now - lastSend_power > SEND_FREQUENCY; if (sendTime_power) { // Envoi ou request Puissance1 if (pcReceived1) envoi_donnees(Irms1, 1); else { request(CHILD_ID_CLAMP1, V_VAR1); Serial.println("Request VAR1"); } } }and I get this results now

-
hello, i see the sketch send everyloop ???
try this#define MY_DEBUG #define MY_RADIO_NRF24 // EmonLibrary examples openenergymonitor.org, Licence GNU GPL V3 ***/ #include <SPI.h> #include <MySensors.h> #include "EmonLib.h" // Include Emon Library EnergyMonitor emon1; // Create an instance #define CHILD_ID_CLAMP1 0 #define PIN_ANALOG_I1 A2 //pince amperemetrique1 unsigned long lastSend_power = millis(); unsigned long lastSend_c = millis(); unsigned long SEND_FREQUENCY = 120000; // Minimum time between send (in milliseconds). We don't wnat to spam the gateway. unsigned long SEND_FREQUENCY_C = SEND_FREQUENCY / 30; int index = 0; double Irms1 = 0; boolean pcReceived1 = false; float nrj1 = 0, old_nrj1; MyMessage IrmsMsg1(CHILD_ID_CLAMP1, V_WATT); MyMessage kWhMsg1(CHILD_ID_CLAMP1, V_KWH); MyMessage pcMsg1(CHILD_ID_CLAMP1, V_VAR1); void before() { } void presentation() { sendSketchInfo("Multisensors_Entree", "2.0"); // Send the sketch version information to the gateway and Controller present(CHILD_ID_CLAMP1, S_POWER); // Register this device as power sensor request(CHILD_ID_CLAMP1, V_VAR1); } void receive(const MyMessage &message) { if (message.type == V_VAR1) { nrj1 = old_nrj1 = message.getFloat(); Serial.print("Received last nrj count from gw:"); Serial.println(nrj1); pcReceived1 = true; } } void setup() { emon1.current(PIN_ANALOG_I1, 30.0); // Current: input pin, calibration. Serial.println("SETUP completed"); } void envoi_donnees(double intrms, int id_clamp) { Serial.print("Envoi des donnees .... clamp="); Serial.println(id_clamp); double energie = (intrms * 232.0 * SEND_FREQUENCY / 1000) / 3.6E6; switch (id_clamp) //can be modified ... { case 1: { send(IrmsMsg1.set(intrms * 232.0, 1)); nrj1 += energie; send(kWhMsg1.set(nrj1, 5)); send(pcMsg1.set(nrj1, 5)); old_nrj1 = nrj1; } break; } } void loop() { unsigned long now = millis(); bool sendTime_c = now - lastSend_c > SEND_FREQUENCY_C; // Calcul de Irms1 et Irms2 if (sendTime_c) //calcul Irms moy clamp1/clamp2 { if (index == 0) { Irms1 = emon1.calcIrms(1480); } else { Irms1 = (index * Irms1 + emon1.calcIrms(1480)) / (index + 1); } lastSend_c = now; index++; } bool sendTime_power = now - lastSend_power > SEND_FREQUENCY; if (sendTime_power) { // Envoi ou request Puissance1 if (pcReceived1) envoi_donnees(Irms1, 1); else { request(CHILD_ID_CLAMP1, V_VAR1); Serial.println("Request VAR1"); } //on reinitialise les compteurs lastSend_power = now; index = 0; } }if problem copy the screen of monitor.thx
-
its seem good kWh every 2min
1864W is the power valuesend(IrmsMsg1.set(intrms * 232.0, 1));the sketch send power value P (in W) and energy (in kWh) calculated over 2min.
double energie = (intrms * 232.0 * SEND_FREQUENCY / 1000) / 3.6E6; // and after nrj1 += energie; send(kWhMsg1.set(nrj1, 5));in domoticz i have one "dispositif" included instant power Watt and day cumulate energy kWh
bye
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login


