Hallo!
Stromzähler-IR-Lesekopf und Tasmota Script: Berechnung der Leistung pro Phase - um das zu können benötige ich die cos()-Funktion.
Leider zeigt er mir nur falsche Daten an.
Ich hab die Bin schon erweitert um:
#define USE_ANGLE_FUNC
#define SUPPORT_MATH
.... hat nichts gebracht
füge ich nun:
#define USE_EXPRESSION
hinzu, werden stumpf sensorwerte nicht mehr angezeigt. Warum auch immer.
Mache ich einen Fehler, geht es nicht, oder brauche ich andere BIN-defines?
>D 124
g:v_watt=0
v_bez=0
v_eins=0
v_v1=0
v_v2=0
v_v3=0
v_i1=0
v_i2=0
v_i3=0
v_phi1=0
v_phi2=0
v_phi3=0
v_p1_calc=0
v_p2_calc=0
v_p3_calc=0
v_p_sum=0
v_p1_real=0
v_p2_real=0
v_p3_real=0
v_frq=0
>B
dp(1 3)
>M 1
+1,3,s,0,9600,SML
1,77070100010800ff@1000,Total consumption,kWh,Total_in,4
1,77070100020800ff@1000,Total Feed,kWh,Total_out,4
1,77070100100700ff@1,Current consumption,W,Power_curr,2
1,77070100200700ff@1,Voltage L1,V,Volt_p1,1
1,77070100340700ff@1,Voltage L2,V,Volt_p2,1
1,77070100480700ff@1,Voltage L3,V,Volt_p3,1
1,770701001f0700ff@1,Amperage L1,A,Amperage_p1,1
1,77070100330700ff@1,Amperage L2,A,Amperage_p2,1
1,77070100470700ff@1,Amperage L3,A,Amperage_p3,1
1,77070100510704ff@1,Phaseangle I-L1/U-L1,deg,phase_angle_p1,1
1,7707010051070fff@1,Phaseangle I-L27I-L2,deg,phase_angle_p2,1
1,7707010051071aff@1,Phaseangle I-L3/I-L3,deg,phase_angle_p3,1
1,770701000e0700ff@1,Frequency,Hz,frequency,0
#
>S
if (upsecs%3==0) {
; Zuweisung ueber verifizierte Indizes
v_bez = sml[1]
v_eins= sml[2]
v_watt = sml[3]
v_v1 = sml[4]
v_v2 = sml[5]
v_v3 = sml[6]
v_i1 = sml[7]
v_i2 = sml[8]
v_i3 = sml[9]
v_phi1 = sml[10]
v_phi2 = sml[11]
v_phi3 = sml[12]
v_frq = sml[13]
v_p1_calc = v_v1 * v_i1 * cosd(v_phi1)
v_p2_calc = v_v2 * v_i2 * cosd(v_phi2)
v_p3_calc = v_v3 * v_i3 * cosd(v_phi3)
v_p_sum = v_p1_calc + v_p2_calc + v_p3_calc
if (abs(v_p_sum) > 0.1) {
v_p1_real = v_watt * v_p1_calc / v_p_sum
v_p2_real = v_watt * v_p2_calc / v_p_sum
v_p3_real = v_watt * v_p3_calc / v_p_sum
} else {
v_p1_real = 0
v_p2_real = 0
v_p3_real = 0
}
}
>W
Gesamt: %v_watt% W
-- Rechnerisch --
L1_calc: %v_p1_calc% W
L2_calc: %v_p2_calc% W
L3_calc: %v_p3_calc% W
-- Verteilt --
L1_real: %v_p1_real% W
L2_real: %v_p2_real% W
L3_real: %v_p3_real% W
Bezug {m} v_bez {m} %v_bez%
Einsp {m} v_eins {m} %v_eins%
Leist {m} v_watt {m} %v_watt%
V1 {m} v_v1 {m} %v_v1%
V2 {m} v_v2 {m} %v_v2%
V3 {m} v_v3 {m} %v_v3%
Amp1 {m} v_i1 {m} %v_i1%
Amp2 {m} v_i2 {m} %v_i2%
Amp3 {m} v_i3 {m} %v_i3%
phi1 {m} v_phi1 {m} %v_phi1%
phi2 {m} v_phi2 {m} %v_phi2%
phi3 {m} v_phi3 {m} %v_phi3%
P_kalk1 {m} v_p1_calc {m} %v_p1_calc%
P_kalk2 {m} v_p2_calc {m} %v_p2_calc%
P_kalk3 {m} v_p3_calc {m} %v_p3_calc%
watt_G {m} v_p_sum {m} %v_p_sum%
P_real1 {m} v_p1_real {m} %v_p1_real%
P_real2 {m} v_p2_real {m} %v_p2_real%
P_real3 {m} v_p3_real {m} %v_p3_real%