Hallo Membersound,
ich habe das mit einem Arduino+Ethernetshield und einem YHDC sct-013-000 realisiert gehabt.
Dieser Sensor greift den Strom nur Induktiv ab.
Hier mal meine Projektdaten auf Arduino Nano + ENC28J60 Basis:
#include <EtherCard.h>
#include "EmonLib.h"
#include <Wire.h>
// ethernet interface mac address, must be unique on the LAN
static byte mymac[] = { 0x84,0x79,0x69,0x2E,0x30,0x43 };
static byte myip[] = { 192,168,1,230 }; // static ip address
byte Ethernet::buffer[500]; BufferFiller bfill;
EnergyMonitor emon1;
float t1; // ampere
float t2; // ampere with offset
void setup(){ Serial.begin(9600);
Serial.println("\nArduino Webserver with ENC28J60 Ethernet");
if (ether.begin(sizeof Ethernet::buffer, mymac) == 0)
Serial.println( "Failed to access Ethernet controller");
emon1.current(1, 50); //Anschlusspin Stromsensor, Wertebereich Stromsensor
ether.staticSetup(myip);
if (!ether.dhcpSetup())
Serial.println("DHCP failed");
#endif
ether.printIp("IP: ", ether.myip);
}
void loop () {
if (millis()%1000>900){t1 = emon1.calcIrms(1480);}
t2=t1-0.12;
Serial.print ("t1= "); Serial.println (t2); //} Serielle Ausgabe
word len = ether.packetReceive(); word pos = ether.packetLoop(len);
if (pos) ether.httpServerReply(homePage()); // if valid tcp data received send web page
}
static word homePage() {
long T1=int(t2); long T1A=t2*10-10*T1; long T1B=t2*100-10*T1A;// fractional part
long t = millis() / 1000;
bfill = ether.tcpOffset();
bfill.emit_p(PSTR(
"HTTP/1.0 200 OK\r\nContent-Type: text/html\r\nPragma: no-cache\r\n\r\n<meta http-equiv='refresh' content='1'/>"
"<body><html><u>Waeschetrockner</u><BR><B>Strom $L.$L </B><BR></body></html>"),
T1, T1A, T1B);
return bfill.position();
}
Alles anzeigen
Wichtig beim Nano: Die 3,3V reichen für den ENC leider nicht aus. Hier ist es besser, den 5V Pin des Ardu, mit einem Step-Down auf 3,3V zu trimmen und damit den ENC zu befeuern.
Im Smarthome (damals noch Openhab 1) habe ich dann eine Rule/ein Script gebaut, dass mir alle (ich glaube) 5 Minuten den Ardu abgefragt hat. Sobald die Leistung über 2Ampere war, wusste ich mein Wäschetrockner Läuft. Die "Ich haben fertig" Meldung, gab es erst nachdem für mindestens 3 Abfragen der Wert wieder weit unter 1A war. (Mein Wäschetrockner machte teilweise Pausen von ca. 2-3Minuten während eines Programms - daher diese "Entprellung")
Die Alamierung verzögert sich dann zwar um mind. 15min, aber wer springt schon auf und läuft sofort zum Wäschetrockner bzw. zur Waschmaschiene und räumt alles wieder aus?
Wichtig: Die Induktionsklemme NUR über die Phase (L) geklemmt werden nicht über das komplette Anschlusskabel (L+N+PE) Ansonsten klappt die Messung nicht. Ich Habe mir dazu einfach eine Nassraum-Doppelsteckdose vom Baumarkt geholt + ca. 1m Anschlusskabel mit SchukoStecker. Eine Seite Davon "Blind" gemacht und darin die Elektronik inkl. die Induktionsklemmer "versteckt". Leider habe ich dazu kein Foto mehr.
Das ganze lässt sich auch auf den ESP8266 realisieren. Dazu gibts im Netz schon einige Beispiele.
Lg
Karli