Can't get inputs

You will need to explain your setup in more detail. Is it an actual EmonPi? What sensors are attached? CT, Temp?

Does it work ok with just the serial console of the Arduino IDE?

4 ct and temp

only my temp works properly, i don’t knowif it is because my code is wrong or I forgot somethin

As I said before, I think

  • What did you buy from the OEM shop?
  • How is it connected?
  • What ‘code’ are you using?
  • How are you expecting it to communicate? RF, WiFi, Serial?
  • Are you trying to connect it to a local EmonCMS, emoncms.org, or using your own processing code?

Cheers

@chillcetic

Edward, please try to provide the information that Brian & Paul are asking for. They are trying to help you, but until you answer the question, they cannot.

As it says in the FAQ:
How to ask for help
Asking a good question is hard. It requires you to remove all assumptions, we don’t know what you’re building so we don’t know how to help you properly. Take the time to sit down and plan your question; remember that we have no context here, so you have to provide every bit of relevant information in one go.”

I will do my best to explain my setup better, I am using a raspberry pi with EmonSD from github. The code I use in my arduino is one i wrote myself and uses formulas from te emonlib.h library. The only thing i bought was th emontxshield and the sensors. I want to post data to local emoncms and then to emoncms.org. if you want I can also post the code

I think that might be wise. You need to ensure you get consistent and correct output over usb/serial before even thinking about emoncms or emonhub. Do you use the Arduino IDE? If so post some serial output here too.

// Library
#include <OneWire.h>
#include <DallasTemperature.h>
#include "EmonLib.h"

                                            
//Instance voor CT kanalen aanmaken

EnergyMonitor ct1,ct2,ct3,ct4;
// On-board LED
const int LEDpin = 9;

// Set NODE ID
int NodeID = 5;
                                               
OneWire oneWire(4);                    // Setup one-wire on digital input pin 4
DallasTemperature sensors(&oneWire);   // Pass the oneWire reference to Dallas Temperature.

DeviceAddress address_T1 = { 0x28, 0xE6, 0x30, 0xE2, 0x08, 0x00, 0x00, 0x6A };

void setup() {
  //Serial Comms

  Serial.begin(9600);
  sensors.begin();


// Kalibiratie
// Transfo verhouding / belaste weerstand = 100A/0.05A/33 ohm = 60.606
  ct1.current(1, 60.606);
  ct2.current(2, 60.606);                                     
  ct3.current(3, 60.606);
  ct4.current(4, 60.606); 
  
  //ADC ingang, Kalibiratie, Fase verschuiving
  ct1.voltage(A1, 300.6, 1.7);                                
  ct2.voltage(A2, 300.6, 1.7);                                
  ct3.voltage(A3, 300.6, 1.7);
  ct4.voltage(A4, 300.6, 1.7);
  
  // setup LED inicator
  pinMode(LEDpin, OUTPUT);
  digitalWrite(LEDpin, HIGH);
  
}

void loop() {
  
  // Bereken alle Aantal Kruisingen, Time out
  ct1.calcVI(20,2000);                                                  
  ct2.calcVI(20,2000);
  ct3.calcVI(20,2000);
  ct4.calcVI(20,2000);
   sensors.requestTemperatures();
  
  double temperature = sensors.getTempC(address_T1);  // Get the temperature of the sensor
 
  // Print Variabelen vb Node ID, Power1, Power2, Power3, Power4
  Serial.print(NodeID);     
  Serial.print(" Uct2:"); 
  Serial.print(ct2.Vrms);     
  Serial.print(" Ict2:"); 
  Serial.print(ct2.Irms);
  Serial.print(" ct2:"); 
  Serial.print(ct2.realPower);
  Serial.print(" temp:");
  Serial.print(temperature);                        // Print temperatuur
  Serial.println();                    
  // delay 0.5s
  delay (500);

}

some comments are in dutch, i’m sorry for that

That is the NodeID that is used by the emonPi itself. You cannot have two nodes with the same NodeID. I suggest you change that to

int NodeID = 10;

Paul asked you:

With that sketch, do you see the correct output in the Arduino IDE Serial Monitor? He cannot help you when you do not answer all the questions.

I will change it and see igf it is because of that, and to be honest I don’t know if the data is correct, because I dont know if the realpower function is in Watt or in kW/h. I can’t find much information about the formulas that are used in the functions. once i know what the funtions exactly do, I can optimize my code

CalcVI reports as double precision floating point numbers:
realPower in Watts,
apparentPower in VA,
Irms in Amperes,
Vrms in Volts.

calcIrms returns Amperes as a double precision floating point number.

is Vrms the voltage over the 33 ohm resistor

No, it is the mains voltage measured by the a.c. adapter, if you have one. It should be ~ 230 V for you.
You get Vrms after you have used calcVI( ) to calculate all the quantities I listed. You cannot use calcVI( ) unless you have an a.c. adapter.

The voltage measured across the 33 Ω burden resistor is proportional to current, it is multiplied by a scale factor and you get that as a current in Amperes either by using calcIrms( ) or with calcVI( ).

I get ~5v even with the adapter connected, why could this be?

That one sentence means nothing to me. I do not know which voltage you ar referring to.

If you are having difficulty in describing what you have and what your problem is in English, please write in your own language and I will try to understand that.

You say that with the ac adpater I shoud get ~230v for Vrms. The problem is I don’t get that value, the value I get for Vrms is ~5V and that is my problem because my current(Irms) is correct my temp too, but my voltage isn’t and beacuse of that my apparent and real power are also wrong.

Do you have a meter that you can measure a.c. voltage?

If you measure the voltage from your a.c. adapter, you should read approximately 11.5 V.

Are you using the sketch in post no. 13? And Serial.print(" Uct2:"); Serial.print(ct2.Vrms); is where you see 5 V?

Yes I have a meter and the voltage I measured from the adapter is 10V.

Yes I’m using the sketch in post no. 13.

And yes it is there where i see the 5V.