Elektronische Haushalts Zähler [eHZ] auslesen

Dann mach mal eine Logdatei und vergleich mal was anderst ist oder ob die Daten nicht richtig ausgewertet werden.

Ok, jetzt hab ich es gefunden. Die Fehler kommen immer, wenn Cryptische Daten ausgelesen werden, das sieht mit wie folgt im Log. Jedes Mal wenn so etwas ausgelesen wird, kommen die Fehler.

Error: Notice: Undefined index: 1-0:61#35rj&TL
Error: Notice: Undefined index: 1-0:1.7~<LYe6&6L&l&L66jc-0:1.8.0255
Error: Notice: Undefined index: 0-0:96.1.255
~.\0*255

Wie kriege ich den Auslesefehler denn nun behoben :confused:

Als erstes, würd ich mal die Comport Einstellungen überprüfen, ob diese zu 100% mit dem Zähler übereinstimmen.
Nächste Möglichkeit wäre die Position des Lesekopfes, eventuell ist dieser auch defekt.

Liest Du dauernd aus oder Zeitgesteuert.

Die Einstellungen am Comport werde ich gleich mal Checken.

Ich steuere den Comport jede Minute über dieses Script an


<?

COMPort_SetDTR(28968 /*[Serial Port]*/ , true);
IPS_Sleep(2100); // ,1sek
COMPort_SetDTR(28968 /*[Serial Port]*/ , false);
IPS_Sleep(100); // ,1sek

?>

Dann lass das mal weg und beobachte ob der Fehler dann immer noch auftritt.

Wenn ich den Comport jetzt geöffnet lasse, kommen ja jede Sekunde neue Daten, ob das so toll ist. Ich logge die Variablen ja mit, wie mach ich das jetzt am besten? Ein neues Script nehmen, was die Daten von den Variablen auf neue Variablen schreiben und diese dann Loggen oder gibt es eine andere Möglichkeit?

Zum testen, wirst Du es überleben. :smiley:

Zumal es IPS schnuppe ist, ob Du im Sekundentakt oder Stundentakt loggst.

So, nach 12Std. Test habe ich keine Fehlermeldungen mehr bekommen! Was nun?

ich hatte ein ähnliches Problem bei einem anderen Zähler.
Nach dem Einschalten des COM-Ports, kann es sein, dass ein nicht kompletter Datensatz übertragen wird.
Ich frage also erst die Daten auf Gültigkeit ab, sonst nehme ich den nächsten Satz.

Gruß, Peter

Kannst du bitte schreiben, was ich ändern muß damit die Überprüfung statt findet oder was ich ändern muß.

So habe ich das gemacht. Alle 60s wird der aktuelle Zählerstand geloggt und ein Mittelwert über die Summenleistung.

Hi,
nachdem du das array gebildet hast

//Dateneingang von Registervariable
$string = explode("
", trim($IPS_VALUE));

kannst du mit dem Befehl array_key_exists(‚key‘, $string) den ersten Array-Schlüssel auf Gültigkeit abfragen (key mit deinem Schlüsselwert ersetzten).
Ich kann Dir leider nicht den kompletten Code schreiben, da ich dein Programm selbst nicht benutze.

Gruß, Peter

Hallo Liebes Forum,

Im normalfall löse ich meine Probleme alleine aber in diesen Fall :confused:
Hab auch so meine Probleme mit dem Auslesen der EN 62056-21 Schnittstelle.
Besitze einen Hager EHZ361W5 der sowohl EN 62056-21 als auch SML-Datentelegramm nach Betriebsanleitung unterstützt.

HTerm sieht bei mir so aus.
Unbenannt.JPG

Wie krieg ich Daten von der EN 62056 -21 ???
Kann es sein das mein Lesekopf kein 62056-21 versteht ???
Bin schon echt am verzweifeln.

Ist dein Lesekopf korrekt ausgerichtet und deine Com Schnittstelle korrekt eingestellt?

Gesendet von meinem S2 mit Tapatalk

Ich denke die com Schnittstelle ist korrekt, du meinst die Einstellungen im Gerätemanager… Sind so wie bei HTerm.
Mit dem Lesekopf habe ich auch ein bisschen rumgespielt, ein bischen hoch runter links rechts… aber die Daten sehen immer gleich aus. Zudem sollen ja die Hager Zähler ein recht starkes Signal besitzen…

Trotzdem Danke für deine Hilfe :frowning:

Hallo Yepp84,

habe auch einen Hager, der aber nur das einfache Datenprotokoll DIN EN 62056-21 ausgibt. Das reicht aber für meine Ansprüche. Ein SML-Datenprotokoll konnte ich ihm ebenfalls nicht entlocken. Die Hager-Zähler haben da wohl ihre individuellen Einstellungen.

Ich vermute, dass an deiner optischen Schnittstelle das SML-Protokoll ausgelesen wird. Dann sind die Einstellungen 9600bd, Datenbir=8, Parität=kein, Stoppbits=1, Flusssteuerung=kein.
Das Ergebnis ist aber schwieriger auszuwerten, aber hier im Forum bereits beschrieben.

Gruß, Peter

Hallo Pitty
Also eigentlich bin ich mir ganz sicher das es SML ist.
Das heißt also das mein Zähler SML sendet und kein 62056 … In der Pdf zum Hager steht es aber so als ob beides möglich wäre…
Dann muss ich mein Script wohl doch auf SML auslegen … Grrr … 62056 wäre schöner … Das ist irgendwie übersichtlicher. Trotzdem Danke

Also wenn’s ein SML Zähler ist dann sollte es mit dieser Anleitung klappen:
http://www.ip-symcon.de/forum/showthread.php?t=16510

Die aktuellen Hager verwenden sehr wahrscheinlich alle das SML Protokoll.
Auf jeden Fall auf die richtigen Serial Parameter achten!

Yepp, die Anleitung hab ich befolgt. Hab den Zähler soweit am laufen…
Aber auch viele Daten die ich nicht zuorden kann…:confused:
Ich hoffe das wird schon, Danke.

Hallo,

habe mir einen IR-Sende-Lese-Kopf zugelegt und möchte damit o.g. Zähler auslesen. Habe mit MeterTest den Zähler ausgelesen und das angehängte Ergenis erhalten.
Irgendwie sehen meine OBIS-Kennzahlen anders aus, als im Thread beschrieben. Wie muß ich dies im Skript (Post #1) im array richtig eintragen???

@ oheidinger: Wie hast Du das Auslesen gelöst. Vielleicht könntest Du Dein Skript hier posten??? Wir haben den gleichen Zähler.

Gruß Proxima