Verbrauchswert mA umrechnen

Begonnen von IROC_KNX, 05 November 2014, 19:26:39

Vorheriges Thema - Nächstes Thema

IROC_KNX

Hallo zusammen,

ich hab jetzt schon mehrmals versucht mir anhand von anderen Einträgen und Lösungsvorschlägen weiterzuhelfen, aber ich bekomme es nicht selber hin.
Mein Aktor liefert mir folgende Werte:
2014-11-05_19:12:18 Strom_Kanal_A 0 mA
2014-11-05_19:12:26 Strom_Kanal_A 77 mA
2014-11-05_19:12:26 Strom_Kanal_A 466 mA
2014-11-05_19:12:26 Strom_Kanal_A 563 mA
2014-11-05_19:12:27 Strom_Kanal_A 596 mA
2014-11-05_19:12:28 Strom_Kanal_A 612 mA
2014-11-05_19:12:28 Strom_Kanal_A 477 mA
2014-11-05_19:12:29 Strom_Kanal_A 160 mA
2014-11-05_19:12:29 Strom_Kanal_A 54 mA
2014-11-05_19:12:29 Strom_Kanal_A 0 mA
2014-11-05_19:12:30 Strom_Kanal_A 439 mA
2014-11-05_19:12:31 Strom_Kanal_A 548 mA
2014-11-05_19:12:31 Strom_Kanal_A 596 mA
2014-11-05_19:12:33 Strom_Kanal_A 267 mA
2014-11-05_19:12:33 Strom_Kanal_A 94 mA
2014-11-05_19:12:33 Strom_Kanal_A 45 mA
2014-11-05_19:12:34 Strom_Kanal_A 0 mA

Wie kann ich die Werte in Watt umrechnen? Als Bonus vielleicht Gesamt Tages/Monats Verbrauch?
Im SVG Plot werden die Werte auch angezeigt. Aber leider nur in mA.
FHEM 5.8 auf RaspberryPi mit knxd

franky08

#1
P=U*I Also P=U*I*1000 Das in die myUtils auslagern und dort die Leistung berechnen. Die Multiplikation mit 0,001 rechnet mA in A um

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Dirk

Ganz einfach.
Hallo,

du rechnest Strom * Spannung und bekommst dann Watt.
Also mA * V
Wenn du keinen Separaten Kanal hast der die aktuelle Spannung angibt, dann kannst du mit 230V rechnen.
Dann musst du aber davon ausgehen dass dein Ergebnis nicht ganz korrekt ist, da die Spannung um 10% schwanken kann.
Der Energieverbrauch, also Wh bzw. kWh errechnest du indem du die Zeit mit berücksichtigst.
Wenn also ein Verbraucher eine Stunde lang 1000 W also ca. 4,35 A bei 230V verbraucht dann hast du einen Energieverbrauch von 1000 Wh bzw. 1 kWh.

Für dem Gesamtverbrauch musst du dann nur noch den Verbrauch im entsprechenden Zeitraum zusammenrechnen.

Gruß
Dirk

IROC_KNX

Danke für die schnellen Antworten.
@franky08: Wie muss ich das in MyUtils eintragen?
Aktuell hab ich in der 99_MyUtils nur die Werte für die Heizkörper Thermostate eingetragen
FHEM 5.8 auf RaspberryPi mit knxd

franky08

#4
Bin im Moment noch auf Arbeit, habe jetzt leider keine Zeit. Poste nachher nochmal was dazu. Du kannst über ReadingsVal die Werte vom Sensor auslesen, wenn der Sensor auch die Spannung liefert, kannst du das Reading genauso auslesen. Dann berechnest du die Watt oder was du haben willst, so wie von Dirk beschrieben und gibst den Wert mit return $ zurück oder schreibst den errechneten Wert mit setreading in dein Device und hast dann dort, als neues Reading die Angabe in Watt.

So, wie hier in dem Beispiel

sub regen_tag()
{
my $y1 = ReadingsVal("myWS1080","Rain-total","999" );
my $y2 = ReadingsVal("myWS1080","Rain-total_min_day","999" );
my $y3 = ($y1 - $y2);
my $y4 = int(100 * $y3 + 0.5) / 100;
fhem "setreading Regen_diff_dummy state $y4";
fhem "setreading myWS1080 Regen_Tag $y4";

return ($y4);
}


Das ist nur ein Beispiel, wie ich die Regendifferenz berechne, soll dir nur aufzeigen, wie du es berechnen kannst.

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Puschel74

Hallo,

als notify auf das Reading mA würde ich das so in etwa lösen:
define Leistung_berechnen notify mA_Messer:mA.* {
my $Spannung=ReadingsVal("mA_Messer","Spannung",99);
my $mA=$EVENT;
my $Watt=$Spannung*($mA*1000);
fhem("setreading mA_Messer Leistung $Watt");
}

Voraussetzung: mA_Messer ist das Device das mA und Spannung mißt und liefert.
Das Reading mA wird aktualisiert und löst ein Event aus auf das das notify triggern kann.

Der Code strotzt sicher noch vor Fehler (nur so aus dem Kopf geschrieben) aber die sollten sich schnell beheben lassen.

ZitatDie Multiplikation mit 0,001 rechnet mA in A um
Äh, hab ich in Mathe gepennt  :o
Um von mA auf A zu kommen muss ich wohl eher mit 1000 multiplizieren.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

franky08

@Puschel
Meinte ich auch, bin etwas abgelenkt, fahre "nebenbei" noch eine Show. Der Rechner auf dem ich schreibe steuert eigendlich das Amping  ::)

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Puschel74

Dann steuer du mal besser deine Show  ;)
FHEM kommt auch mal nen Abend ohne dich aus  ;D
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

IROC_KNX

Der Aktor liefert mir keine Spannung.
Muss ich dann in den Befehl "Spannung" direkt mit 230 ersetzen?


Zitat von: Puschel74 am 05 November 2014, 20:21:31
Hallo,

als notify auf das Reading mA würde ich das so in etwa lösen:
define Leistung_berechnen notify mA_Messer:mA.* {
my $Spannung=ReadingsVal("mA_Messer","Spannung",99);
my $mA=$EVENT;
my $Watt=$Spannung*($mA*1000);
fhem("setreading mA_Messer Leistung $Watt");
}

Voraussetzung: mA_Messer ist das Device das mA und Spannung mißt und liefert.
Das Reading mA wird aktualisiert und löst ein Event aus auf das das notify triggern kann.

Der Code strotzt sicher noch vor Fehler (nur so aus dem Kopf geschrieben) aber die sollten sich schnell beheben lassen.
Äh, hab ich in Mathe gepennt  :o
Um von mA auf A zu kommen muss ich wohl eher mit 1000 multiplizieren.

Grüße
FHEM 5.8 auf RaspberryPi mit knxd

Puschel74

Hallo,

ist kein Befehl sondern eine Variable.

my $Watt=230*($mA*1000);

Mit den genannten Ungenauigkeiten da die Spannung schwankt.
Weiters wird hier auch kein cos Φ berücksichtigt d.h. die Formel gilt nur für rein ohmsche Verbraucher.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

IROC_KNX

Guten Abend Puschel,

danke für deine Bemühungen,
ich hab mich heute nochmal hingesetzt und ausprobiert.

In die 99_myUtils steht jetzt:
}
define Leistung_berechnen notify EIB 4301:mA.* {
my $Spannung=ReadingsVal("EIB 4301","Spannung",99);
my $mA=$EVENT;
my $Watt=230*($mA*1000);
fhem("setreading EIB 4301 Leistung $Watt");
}
1;


Aber außer Fehlermeldungen beim speichern bekomme ich nichts.
Kann mir noch jemand auf die Sprünge helfen?
FHEM 5.8 auf RaspberryPi mit knxd

franky08

Nur mal so, Puschels Beispiel ist ein notify und das gehört NICHT in die 99_myUtils sondern im Webif von fhem eingeben.
Erst das notify in der Komanndozeile anlegen:

define Leistung_berechnen notify EIB 4301:mA.* {}

und dann den restlichen Code in der DEF in die geschweiften Klammern.

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

IROC_KNX

#12
Danke Frank,

das hab ich nun gemacht.
Nachdem ich dann den Code in die Klammer eingegeben und gespeichert hatte, kommt jetzt folgende Meldung:
Unknown command my, try help. Unknown command my, try help. Unknown command fhem("setreading, try help. Unknown command },

So sieht jetzt der komplette Eintrag aus:
define Strom_Kanal_A EIB 4301
attr Strom_Kanal_A IODev EIB
attr Strom_Kanal_A dummy 1
attr Strom_Kanal_A model current-mA
attr Strom_Kanal_A room Strommessung
define FileLog_Strom_Kanal_A FileLog ./log/Strom_Kanal_A-%Y.log Strom_Kanal_A
define SVG_FileLog_Strom_Kanal_A_1 SVG FileLog_Strom_Kanal_A:SVG_FileLog_Strom_Kanal_A_1:CURRENT
attr SVG_FileLog_Strom_Kanal_A_1 room Strommessung
define Leistung_berechnen notify EIB 4301:mA.* {my $Spannung=ReadingsVal("EIB 4301","Spannung",99);
my $mA=$EVENT;
my $Watt=230*($mA*1000);
fhem("setreading EIB 4301 Leistung $Watt")}

FHEM 5.8 auf RaspberryPi mit knxd

IROC_KNX

Ist das jetzt so richtig?
Wenn ja, wo sehe ich dann die berechneten Werte?
Im Plot z.B. kann ich nur den mA Wert anwählen.
FHEM 5.8 auf RaspberryPi mit knxd

Puschel74

Hallo,

entweder findet sich im Device ein neues Reading oder im Logfile eine Fehlermeldung.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.