Mein Stromzähler geht in Rente!! Und nun?

$data = substr($value, 1);
IPS_LogMessage($IPS_SELF, number_format((float)$data, 2, '.', ''));
SetValue($eHZdata[$id], number_format((float)$data, 2, '.', ''));

setz das mal ein und schau in den Meldungen nach und poste das Ergebnis. Ansonsten mal ohne number_format probier. Bei mir funktioniert das mit deinen Werten.

Das liegt am float. Änder den Punkt in ein Komma, dann passt es. Ich habe Stringvariablen da fällt das nicht auf.

So:

        SetValue($eHZdata[$id], number_format((float)$data, 2, ',', ''));

funktioniert es jetzt.
werde es mal auf die anderen Kennzahlen ausweiten…
Lasse es jetzt so mal laufen.
Mit dem Nachlaufen des Meldungsfensters habe ich keine Probleme mehr…
Das Skript ist jetzt auch um einiges eleganter…:slight_smile:
Vielen Dank…

Gruß Matthias

Hallo RWN,

die anderen Variablen außer Spannung/Strom und Leistung funktionieren bei mir nicht.
Strom/Spannung und Leistung habe ich komplettiert.
Die else-Schleife für alles ohne * würde ja z.B. doch auch gar nicht für die wichtigste Variable, den Zählerstand funktionieren, oder?

Gruß Matthias

Zeig mir mal dein Script und auch noch mal einen Dump vom Cutter mit einem kompletten Datensatz. Ich schau dann heute Abend noch mal.

Hallo Matthias,

ich habe das jetzt mal mit deinem Dump getestet. Das funktioniert bei mir alles bis auf die Daten wo Buchstaben und Ziffern gemischt sind. Diese müssen in einen String geschrieben werden.

Die Änderung dafür ersetzt Du einfach in deinem Script.

               $data = hexdec($data); // Daten von Hex nach Dec umrechnen
            }
          }
        if(preg_match('/[A-F]/', $data))
        {
           SetValue($eHZdata[$id], (string)$data);
        }
        else
        {
            SetValue($eHZdata[$id], (float)$data);
        }
    }
}
?>

Hallo RWN,

bin bis Freitag unterwegs und werde die Änderungen dann sofort testen.
Der Zählerstand funktioniert jetzt auch, mittlerweile habe ich das Skript auch soweit kapiert…:confused:
Sobald ich es getestet habe werde ich den Status melden…

Schöne Grüße Willingen

Matthias

@ Bladerunner
Wie sind denn die Erfahrungen mir deinem neuen Wasserzähler?
Welcher ist es und was kostet der?

Danke!

Mein alter Zähler ist heute durch einen Digitalen Zwei-Richtungszähler (Hager eHZ Zähler) ersetzt worden. Ist doch ganz klar daß ich den jetzt auslesen möchte. :slight_smile:

Zu meiner Freude konnte ich diesen Thead finden was mir zeigt daß es bereits Lösungsansätze zur Integration zu IPS gibt. Ich habe diesen Thread bereits ganz gelesen konnte aber keine Information finden welche Hardware zum Auslesen des Zählers verwendet wurde.

Könnt Ihr mir sagen mit welcher Schnittstelle (vermutlich Com-to-IR oder USB-to-IR) Ihr den Zähler abfragt. Welche IR-Schnittstellen sind kompatibel? Link zu Angeboten im www?

Da neben dem Zählerschrank im Keller meine Fritzbox hängt schwebt mir vor, einen USB-IR Empfänger per USB-Fernanschluß zum Auslesen zu verwenden. Gibt es evtl. auch eine Möglichkeit das IR-Signal per Bluetooth-IR-Adapter (mit Batterie) auszulesen?

Bin für jeden Tipp dankbar!!!

Moin mr_cg,

als Hardware ist vor allem eine IR-Datenschnittstelle nötig. Diese sollte zum Zähler passen.
Bei deiner Suche im www wirst Du bei Hager z.B. die „EHZ001 BKE-Datenschnittstelle“ finden. Prüf doch mal ob die zu deinem Zähler past. Oder schau mal bei co.met ob die was brauchbares/bezahlbares für Dich haben.
Ich hatte bei meinem Zählertausch mit dem Netzbetreiber gesprochen und die notwendige Schnittstelle gleich von ihm installieren lassen.
!!! Am sichersten beauftragst Du einen Elektroinstallateur oder Deinen Netzbetreiber mit der Installation.!!!

In der Betriebsanleitung zu den EHZs von Hager findest Du einen Abschnitt Kommunikation.

Kommunikation
eHZ-Datentelegramme können mittels eines optischen
Auslesekopfs nach DIN EN 62056-21 über
die serielle Schnittstelle eines PC ausgelesen
werden. Erforderlich ist ein Programm zur Darstellung
serieller Daten, z.B. Windows
»Hyperterminal«.

Wir ;)verwenden für das Auslesen natürlich :loveips: mit dem hier von RWN vorgestelltem Skript.

Anbei mal einige Screenshots von meiner Zählerauswertung.:slight_smile:

@ Zwieback
Genau diese Auswertungen möchte ich auch haben. :smiley:

Kannst Du mir sagen wie Deine HW zum Auslesen aussieht? Ist das ein IR-Empfänger via USB oder RS232 (Seriell)? Wie liest Du diese Daten in IPS aus (Modul? COM-Port?)?

Moin mr_cg,

also der IR-Empfänger arbeitet meines Wissens immer mit einer seriellen Schnittstelle.
Meiner ist direkt an meinem IPS -Rechner im Keller über ein ca. 10m langes Kabel am ComPort angeschlossen.
Weitere Hardware wird eigendlich nicht benötigt, da das Datenprotokoll die Daten im Klartext rausgibt. Kannst Du leicht mit jedem Terminalprogram überprüfen. Notwendige Einstellungen des ComPorts stehen im Abschnitt Kommunikation der Betriebsanleitung.
Das Auslesen der Daten ist ja eigendlich weiter vorne in diesem Thead beschrieben.

  1. Passenden Sensor besorgen,
  2. Sensor montieren (lassen)
  3. Sensor am PC/Serieller Port anschließen. (Belegung sollte am Sensor herausfindbar sein
  4. Erster Funktionstest mittels Terminalprogramm
  5. ComPort, Register Variable und Cutter anlegen.
  6. Im Cutter die notwendigen Einstellungen vornehmen
  7. notwendige Variablen und Skripte anlegen.
  8. Variable „Zählerstand“ Logging aktivieren und denn Aggregationstyp „Zähler“ auswählen.

Hallo,

ich beschaeftige mich auch gerade sehr intensiv mit diesem Thema, da meine PV Zaehler in Kuerze gegen zwei eHZs ausgetauscht werden. Allerdings bestimme ich selbst, welcher eHZ zum Einsatz kommen wird - im Moment denke ich Hager…

Dazu die BKE0001 von Hager, welche die rueckseitige Infrarot-Schnittstelle auswerten soll - in der Hoffnung, dass dies so auch gehen wird. Das EVU erhaelt da keinen Zugriff darauf. Allerdings ist mein IPS Rechner wo ganz anders und ich muss per LAN dahin, also benoetige ich noch einen Device-Konverter von RS232 auf LAN. Kann mit da einer etwas empfehlen?

Hallo Torro.

Perle IOLAN DS1 EU1-Port Device Server, DB9M connector,Software auswählbar,EIA-232/422/485 interface,10/100 Network.

Wegen Bezugsquelle gerne PM, will hier keinen Link posten.

Oder halt das übliche - USB/Seriell-Konverter und USB-LAN-Server z.b. Silex.
Der Perle ist halt ein professionelles Gerät und kein hintereinandergestöpsel von Adaptern und Konvertern.

Grüsse.

@ kronos
Leider unterstützen nicht alle USB-Device Server den Betrieb von isochronen USB-Geräten (z.B. Bluetooth USB-Stick, USB-Serial Adapter, USB-Webcam).
Kannst Du explizit ein Modell empfehlen welches auch isochrone USB-Geräte unterstützt?

Ich habe im Keller neben dem Zählerschrank meine FritzBox mit USB-Fernanschluß Funktion. Leider werden keine isochronen USB-Geräte unterstützt, sondern nur Drucker, Scanner, USB-Speicher.

Hallo kronos,

Perle hatte ich schon angefragt, aber ich tendiere da eher zum IOLAN TS2 - brauche ja zwei Ports und ausserdem sind das gleich RJ45 Eingaenge - vielleicht stimmt da auch gleich die Beschaltung des BKE0001 Ausgangs ueberein.

Hallo.

Ware eine Zeit lang offline, daher die Verzögerung.

@mr_cg
Da kann ich Dir leider keinen benennen. Ich habe einen Silex im Einsatz um meine Viesmann Heizung über Optolink Kabel auszulesen. Ich hatte zwei USB-Server mit verschiedenen USB/Seriell-Umsetzern erfolglos ausprobiert bis ich bei dem Siilex gelandet bin. Ob der mit Deinem Adapter funktioniert kann ich aber natürlich nicht sagen.

@Torro
Wie ich schon sagte - Perle ist einfach eine professionelle Lösung. Ich kann die Teile nur empfehlen. Du brauchst dann aber noch einen Adapter von RJ-45 auf z.b. DB9. Oder Du schnitzt Dir direkt ein passendes Kabel wenn Du die Belegungen kennst.

Grüsse.

Habe jetzt aufgrund der Informationen hier im Forum die BKE-Datenschnittstelle von Hager für den EHZ Stromzähler gekauft und eingebaut (hintere Schnittstelle).

Ich bekomme zwar Daten aber leider kann ich den Data-Output nicht interpretieren. Sehr viele Zeichen
sind unlesbar (kein ASCII). Nur der Zählerhersteller (Hager),
Zählernummer vom Stromlieferanten und Zähler-Seriennummer sind lesbar.
Zählernummer und S/N habe ich im Screenshot unkenntlich gemacht. :wink:

Muß ich noch irgendetwas beachten? Wie kann ich aus diesen Daten den
Zählerstand auslesen?

Ich hoffe ich habe das Datenkabel richtig verdrahtet? Habe ich
vielleicht eine Kabelbrücke vergessen?
Ich habe das Datenkabel wie folgt verdrahtet:
EHZ001 ===> COM-Port
DTR (gelb) ===> COM-Port PIN 4 (DTR)
GND (grün) ===> COM-Port PIN 5 (GND)
Rx (rot) ===> COM-Port PIN 3 (TXD)
Tx (schwarz) ===> COM-Port PIN 2 (RXD)

COM-Port Settings:
Baud: 9600
Data: 7
Stop: 1
Parity: Even
DTR ===> enabled

(Habe es auch schon mit anderen Settings versucht … leider ohne Erfolg)

Im Anhang ein Screenshot von den geloggten Daten. Der Log sieht im Debug-Log der Seriellen-Schnittstelle in IPS leider genauso „unbrauchbar“ aus. Habe es auch mit den Informationen hier im Thread (IPS Skript) versucht.

Bin für jede Hilfe dankbar!!!

Bei mir funktioniert der eHZ von Hager mit der hinteren BKE-Schnittstelle ohne Probleme. Ich erinnere mich jedoch, dass ich auch einige Zeit hin und her probierte bis die Daten richtig kamen. Die Einstellungen der seriellen Schnittstelle entsprechen meinen Werten. Allerdings habe ich RxD und TxD nicht gekreuzt, soweit ich noch weiss. Probier es einfach. DTR und GND sind ok.

Beste Grüsse, PWC