Navigation

    • Register
    • Login
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. PedroHernandez
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    PedroHernandez

    @PedroHernandez

    0
    Reputation
    2
    Posts
    1
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online

    PedroHernandez Follow

    Best posts made by PedroHernandez

    This user hasn't posted anything yet.

    Latest posts made by PedroHernandez

    • RE: Trying to develope a whole house energy meter using My Sensors

      This could work. I've never played with JSON before. Thanks!

      @kimot said in Trying to develope a whole house energy meter using My Sensors:

      JSON API

      posted in Development
      PedroHernandez
      PedroHernandez
    • Trying to develope a whole house energy meter using My Sensors

      Hi Folks,
      I've been trying to develop a whole house energy meter similar to Open EM: https://openenergymonitor.org/
      I've got it working with the Arduino serial monitor, but I'd like to be able to see the sensors in Domoticz. I've got the electrical know how, but I'm just not enough of a programmer to figure out the arduino sketch. I'd like to send the data to Domoticz via an Ethernet shield, and exclude the radio interface. I had some printed circuit boards made for the circuit. One is the exact design from Open Energy Monitor's web sight, they have their Gerber files free for download. The other is my own design based on their schematic. If someone with the code know how wants to fix up my sketch and make it work I'll send you some of my custom printed circuit boards in the mail!
      Thanks in advance!
      Here's the sketch that I've got so far:

      #include "EmonLib.h"
      #include "MySensors.h"
      #define MY_GATEWAY_SERIAL
      
      // Create  instances for each CT channel
      EnergyMonitor ct1,ct2,ct3;
      
      // On-board emonTx LED
      const int LEDpin = 9;  
                                                        
      MyMessage msgHum(CHILD_ID_HUM, V_HUM);
      MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
      
      void setup() 
      {
        Serial.begin(11520);
        // while (!Serial) {}
        // wait for serial port to connect. Needed for Leonardo only
        
        //Serial.println("emonTX Shield CT123 Voltage Serial Only example"); 
       // Serial.println("OpenEnergyMonitor.org");
        
        // Calibration factor = CT ratio / burden resistance = (100A / 0.05A) / 33 Ohms = 60.606
        ct1.current(2, 60.606);
        ct2.current(3, 60.606);                                     
        ct3.current(4, 60.606);
        
        
        // (ADC input, calibration, phase_shift)
        ct1.voltage(1, 300.6, 1.7);                                
        ct2.voltage(1, 300.6, 1.7);                                
        ct3.voltage(1, 300.6, 1.7);
        
        
        // Setup indicator LED
        pinMode(LEDpin, OUTPUT);                                              
        digitalWrite(LEDpin, HIGH);                                                                                  
      }
      
      
      void presentation()
      {
          // Present locally attached sensors
      
        sendSketchInfo("KWH_meter", "1.0");
        //present(CHILD_ID, S_WHATEVER);
        present(CHILD_2, S_CT1 KW);
        present(CHILD_3, S_CT2 KW);
        present(CHILD_4, S_CT3 KW);
        present(CHILD_5, S_PT1 VOLTS);
        present(CHILD_6, S_CT1 AMPS);
        present(CHILD_7, S_CT2 AMPS);
        present(CHILD_8, S_CT3 AMPS);
        present(CHILD_9, S_CT1 PF);
        present(CHILD_10, S_CT2 PF);
        present(CHILD_11, S_CT3 PF);
        
        
      }
      
      
      void loop() 
      { 
      // Send locally attached sensor data here
      
      
        
        // Calculate all. No.of crossings, time-out 
        ct1.calcVI(20,2000);                                                  
        ct2.calcVI(20,2000);
        ct3.calcVI(20,2000);
       
          
        // Print power 
         Serial.print(" CT1 KW: ");
        Serial.print(ct1.realPower);     
        Serial.print(" CT2 KW: "); 
        Serial.print(ct2.realPower);
        Serial.print(" CT3 KW: "); 
        Serial.print(ct3.realPower);
        Serial.print(" Volts: "); 
        Serial.print(ct1.Vrms);
        Serial.println(" CT1 Amps: ");
        Serial.print(ct1.Irms);
        Serial.println(" CT2 Amps: ");
        Serial.print(ct2.Irms);
        Serial.println(" CT3 Amps: ");
        Serial.print(ct3.Irms);
        Serial.println(" Power Factor: ");
        Serial.print(ct1.powerFactor);
        
        
          
        // Available properties: ct1.realPower, ct1.apparentPower, ct1.powerFactor, ct1.Irms and ct1.Vrms
      
        delay(5000);
      }
      
      posted in Development
      PedroHernandez
      PedroHernandez