Stromzähler auslesen bitte um Hilfe

Hallo zusammen,

Ich weiß, das Thema wurde schon oft behandelt. Leider bin ich IPS Anfänger und leider noch nicht so fit in der Programmierung.
Folgendes Problem will gelöst werden.

Ich habe einen 3phasen Stromzähler mit So Impulsausgang. Den Impulsausgang habe ich auf einen binäreingang meines KNX bus Systems gelegt. Der Binäreingang ist als Zähler konfiguriert und sendet nach jedem Impuls den neuen gezählten wert auf den Bus. Die Anzahl der Impulswerte werden bereits von Ips erfasst. Was mir jetzt noch fehlt ist die Impulswerte in eine DB zu schreiben, die Impulswerte in KWh umrechnen und eventuell durch diese Werte einen aktuellen Stromverbrauch zu errechnen. Wäre echt super wenn ihr einen Neuling helfen könntet. Vielen Dank

Hallo Sevenup,

ja das Thema ist bereits in vielen Beiträgen behandelt worden.
Ich weiss auch, dass es anfangs etwas schwierig ist, alles zu verstehen. Trotzdem solltest du die Beiträge lesen und dir das Grundwissen aneignen. Dann macht es täglich mehr Spass, mit IPS zu arbeiten.

Nun zu deinen Fragen:

Die Anzahl der Impulswerte werden bereits von Ips erfasst

Das heisst, du hast bereits eine Variable, in der die Anzahl der Impulse hochgezählt wird. Wenn du in den Variableneinstellungen das logging aktivierst, werden die Werte in die IPS-Datenbank geschrieben.

Als nächstes muss du wissen, wieviel Impulse pro KW abgegeben werden. Für die Berechnung des aktuellen Stromverbrauchs gibt es verschiedene Ansätze.
Bei mir aktualisiert alle 5 Min. der Counter, nach 500 Impulsen ist 1 KW verbraucht. Dir Differenz seit letztem Einlesen ist Basis für die Berechnung.
Daraus ergibt sich folgendes Script:

$impulse = 500;
$zeit    = date("H");
$alt     = GetValueInteger(54596 /*[Zentrale Steuerungen\Stromzähler\Nachtspeicher\EKM-868 (Counter1)\Counter alt]*/);
$neu     = GetValueInteger(11701 /*[Zentrale Steuerungen\Stromzähler\Nachtspeicher\EKM-868 (Counter1)\Counter]*/);

SetValueInteger(54596 /*[Zentrale Steuerungen\Stromzähler\Nachtspeicher\EKM-868 (Counter1)\Counter alt]*/, $neu);
$diff    = $neu - $alt;
IF($diff < 0)  $diff = 0;     // bei Stromausfall geht der Counter auf 0
$kw      = (float) $diff / $impulse;
SetValueFloat(42897 /*[Zentrale Steuerungen\Stromzähler\Nachtspeicher\EKM-868 (Counter1)\Verbrauch]*/, $kw);
$aktuell = $kw * 12000;
SetValueFloat(42487 /*[Zentrale Steuerungen\Stromzähler\Nachtspeicher\Heizung aktuell]*/, $aktuell);

Gruß, Peter

Hallo Peter, vielen Dank für Deine Hilfe.

Ich habe dazu noch eine Frage.

$aktuell = $kw * 12000; wofür steht die 12000 ?

Vielen Dank Grüße Roland

Hallo Roland,

$aktuell = $kw * 12000; wofür steht die 12000 ?

12000 = 12 * 1000
Da ich alle 5 Min auslese = 5+12 = 60 = 1 Std.

  • 1000 für KW

Gruß, Peter

Hallo Peter, vielen Dank Grüße Roland