Modul IPS EHZ (Elektronischer Haushaltzähler)

Modul IPS EHZ (Elektronischer Haushaltzähler)

Das Modul wertet die vom Zähler freigegebenen Daten aus.
Das Repository wird über GitHub bereitgestellt und über Module Control eingebunden.
[b]Es ist einfach gehalten und benötigt nur die Eingabe der Daten je nach Auswahl der Schnittstelle.

[/b]
Nutzbar ab IPS V4.1!

[b]Installation:

[SIZE=2]Nach Einbindung über Module Control, steht das Modul unter Instanzen->Hersteller(Sonstige)->EHZ zur Auswahl.

Bedienung:[/SIZE]
[/b]
Auswahl Client Socket oder SerialPort.
Der Default Comport ist zu 99% richtig voreingestellt. Hier muss nur noch die Portnummer eingegeben(ausgewählt) werden.
Client Socket, entsprechend IP-Adresse und Port eintragen.

Nach Eingabe der Daten und speichern, legt das Modul die entsprechenden Statusvariablen welche durch den Zähler freigegeben sind automatisch an.
Diese sind ja nach EVU sehr unterschiedlich. Im Normalfall, sollte ein PIN zum freischalten dem Zähler beiliegen oder beim zuständigen EVU nachfragen.

[b]Statische Werte z.B Hersteller, ServerID usw. werden nicht angelegt. Wer diese benötigt kann dies selber über eigene Variablen erstellen.
Daten können am Zähler abgelesen und eingetragen werden.

Es werden keine Variablen für Werte 0(Null) die der Zähler sendet angelegt.
[/b]
Es werden keine Variablen geloggt, dieses ist auch selber einzustellen.

Der Zähler sendet in regelmäßigen Abständen Daten(1-10sek.).

Die Aktualisierungszeit kann in Sekunden eingegeben werden.

Wer Bedenken wegen der Datenmenge hat, kann sich Hilfsvariablen anlegen und diese loggen.


Bei Problemen:

Im Modul auf Debug klicken.
Dort kann man dann einen entsprechenden Auszug durch anklicken speichern und hier posten oder per PM senden.
Eventuelle Unstimmigkeiten bei der Darstellung der Werte(Kommaverschiebung usw.) bitte ebenfalls per Debug.
[b]
Sollten hier keine Daten vorhanden sein, bitte den Debug im I/O öffnen. Nicht im Modul!
Sind dort auch keine Daten vorhanden, alle Einstellungen nochmal überprüfen(Port, Adresse, Baudrate usw.)
Wichtig, ist das der Kopf richtig justiert ist!

Selbst Hilfe:

Die Hardware muss richtig installiert sein und der richtige Port ausgewählt sein!
Debug des I/O öffnen und den Kopf leicht(milimeterweise) hin und herdrehen.
Wenn der Rest passt, sollten irgendwann Daten im Debug vorhanden sein.

[/b]
Nutzung:

Das Modul ist für die private Nutzung der Community gedacht!

[b]Für alles andere, würde ich bitten anzufragen.

Bis jetzt getestete Zähler:[/b]

EMH, ISKRA, DZG, Easymeter

Einbinden über Module Control:

Webconsole: GitHub - RWNidda/EHZ: Modul for IP-Symcon from V 4.1
[b]Legacy Konsole: git://github.com/RWNidda/EHZ

Bilder:

[/b]

InstanzEhz.PNG

Als DAU mal eine Frage.
Den USB Kopf von IR-Schreib-Lesekopf, USB-Interface [wiki.volkszaehler.org]
Als Client Socket oder SerialPort einbinden?
Und was ist der Unterschied?

Bernd

Hallo Bernd.

Client Socket -> Ethernet mit Eingabe von IP-Adresse und Port.

SerialPort -> Comport direkt oder über einen Virtual Comport. z.B Wandler von USB auf Seriell(Silex usw.)

Dein genannter Lesekopf sollte doch entsprechende Treiber dabei haben. Dieser wird dann als Virtual Comport angelegt. z.B. FTDI usw.

Hab es ausprobiert, nach dem einstecken des Lesekopfs meldet dmesg

[114483.466244] usb 1-1.5: new high-speed USB device number 5 using dwc_otg
[114483.597406] usb 1-1.5: New USB device found, idVendor=1a40, idProduct=0101
[114483.597431] usb 1-1.5: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[114483.597442] usb 1-1.5: Product: USB 2.0 Hub [MTT]
[114483.615543] hub 1-1.5:1.0: USB hub found
[114483.615859] hub 1-1.5:1.0: 4 ports detected
[114483.936289] usb 1-1.5.4: new full-speed USB device number 6 using dwc_otg
[114484.071033] usb 1-1.5.4: New USB device found, idVendor=10c4, idProduct=ea60
[114484.071057] usb 1-1.5.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[114484.071068] usb 1-1.5.4: Product: CP2104 USB to UART Bridge Controller
[114484.071078] usb 1-1.5.4: Manufacturer: Silicon Labs
[114484.071087] usb 1-1.5.4: SerialNumber: 0072D07E
[114484.191656] usbcore: registered new interface driver usbserial
[114484.191798] usbcore: registered new interface driver usbserial_generic
[114484.191926] usbserial: USB Serial support registered for generic
[114484.202790] usbcore: registered new interface driver cp210x
[114484.202927] usbserial: USB Serial support registered for cp210x
[114484.203173] cp210x 1-1.5.4:1.0: cp210x converter detected
[114484.237576] usb 1-1.5.4: cp210x converter now attached to ttyUSB0

Also wird der Kopf wohl erkannt und unter /dev/ttyUSB0 eingebunden

Im Manager unter ModulControl den git://github.com/RWNidda/IPS-EHZ eingetragen
Im IP-Symcon Root die neue Instanz EHZ hinzugefügt, diese fügt unter I/O Instanzen den Seriellen Port hinzu.
Den mit 9600/8/1N eingestellt.

Aber mehr sehe ich nicht, es wird nicht unter EHZ angelegt.

Wo liegt mein fehler?
Zähler ist ein Elster AS1440 Zweirichtungzähler

Bernd

Kommen denn Daten im Debug an.
Richtigen Comport ausgewählt .

Gesendet von iPhone mit Tapatalk

Ne im Seriellem I/O Debug steht nix
Aber in dem Bild an deinem vorherigen Thread Bild

steht nix mehr ausser Schnittstelle und dort kann ich den Serial Port auswählen.

Ne im Seriellem I/O Debug steht nix

Wenn da schon nichts drinnen steht hast Du wohl die falsche Portnummer eingetragen.
Der Kopf ist richtig montiert und justiert.?

Ich werd mal den Herstelelr anschreiben,
auch unter linux mit minicom kommen keinerlei Daten.
Evtl. ist auch der Kopf kaputt.

Bernd

Hallo Bernd,

ich habe oben nochmal eine Selbst Hilfe eingefügt. Stelle sicher das Du den richtigen Port hast.

Ein USB-HUB wird nicht funktionieren. Wenn, dann direkt an die USB Schnittstelle des Rechners oder was auch immer und den passenden Treiber für den Kopf.

Hallo zusammen,

Auf Grund von unzähligen Logeinträgen, habe ich mich entschieden doch eine Aktualisierungszeit einzubauen.

Auf großen Systemen, ist dass kein Problem bei kleinen leider doch.
Ferner empfehle ich, soweit es nicht benötigt wird in den Spezialschaltern den Variablen und Scriptwatch zu deaktivieren. Nur wer es möchte und nicht zwingend benötigt!

[b]Neu: Aktualisierungszeit der Variablen in Sekunden. Default auf 1 Sekunde.

[/b]Damit werden die Logeinträge schon mal weniger. Dafür ist es kein Livesystem mehr wenn die Zeit zu hoch eingestellt wird.

Ich habe eine Testversion hochgeladen.

Dazu den Zweig auf [SIZE=3]dev umstellen![/SIZE]

Neu:

[ul]
[li]UDP Socket hinzugefügt[/li][li]Virtual Port hinzugefügt zu internen (eigenen) Testzwecken [/li][li]static Variablen hinzugefügt (Hersteller, PublicKey, ServerID) diese werden einmalig angelegt und beschrieben sofern vorhanden![/li][/ul]
Beim Hersteller DZG ist der Ident von „\x01\x00\x60\x01\x00\xFF“ noch unbekannt. Hier wird im Moment nur der Hersteller ausgelesen.
Wer genaue Info´s darüber hat, bitte her damit. Es könnte die Zählernummer oder dergleichen sein.

Bitte um Feedback bei Fehlern oder Unstimmigkeiten.

[b]Daten können nicht zur Instanz weiter geleitet werden.

[/b]

[ul]
[li]falsche oder unstimmige Daten Wirkenergie(1.8.0-1.8.1)[/li][/ul]

Fix ist online

Hallo allerseits,

habe seit heute einen USB Lesekopf (Volkszähler) direkt an den Pi, auf dem Symcon läuft,angeschlossen. Daten kommen über den seriellen Port rein, jedoch werden nur vier Variablen (01 08 00, Hersteller, PublicKey und Server-ID) in der EHZ Instanz angelegt und diese werden auch nicht aktualisiert.

Serial Port Dump: dump_serial.txt (86.3 KB)
EHZ Modul Dump: dump_ehz.txt (55.1 KB)

Ich bin, wie immer, über jeden Hinweis dankbar.

MfG,

Jörg

Hallo Jörg, sicher dass deine Porteinstellung richtig ist.

Gesendet von iPhone mit Tapatalk

Hallo Rainer,

offensichtlich hatte sich der USB-Port aufgehängt. Ein Entfernen und wieder Enschliessen des Devices brachte Hilfe.

Ich hatte deswegen schon meinen letzten Post überarbeitet und bitte diese wegen der, nun wirklichen, Probleme zu lesen. :wink:

DANKE!

Ich schau mir das heute Abend an.

Gesendet von iPhone mit Tapatalk

Vielen Dank!

Hallo Jörg,
deine Daten sind stimmig und funktionieren auch bei mir.
Es wird 2 mal Energie und 3 mal Leistung angelegt sowie die 3 Stringvariablen.

Ich kann im Moment keinen Fehler feststellen.

Ps. Teste doch bitte mal in der Legacykonsole

Gesendet von iPad mit Tapatalk

Hallo Rainer,

danke für die Antwort.

Auch in der Legacy-Konsole das gleiche Ergebnis: es werden nur die vier Variablen angelegt,

Ich habe in der Web-Konsole die Instanz gelöscht und in der Legacy-Konsole erneut angelegt.

Meine Symcon-Installation: IP-Symcon 5.0, Raspberry Pi, 11.10.2018, 29b8f3060eb

Folgende Meldung wird ausgegeben:

16.10.2018 19:52:10 | FlowHandler | Kann Daten nicht zur Instanz #48389 weiterleiten: <br />
<b>Fatal error</b>:  Uncaught Error: Call to undefined function IPS_GetVariableCompatibility() in /var/lib/symcon/modules/EHZ/Haushaltzaehler/module.php:213
Stack trace:
#0 /var/lib/symcon/modules/EHZ/Haushaltzaehler/module.php(203): Haushaltzaehler->SetVariableFloat(67584, '01 08 00 ', '~Electricity', 13317,2573)
#1 /var/lib/symcon/modules/EHZ/Haushaltzaehler/module.php(97): Haushaltzaehler->setSml('v\x05\x08\xB2\x89\x1Ab\x00b\x00rc\x01\x01v...')
#2 /-(3): Haushaltzaehler->ReceiveData('{"DataID":"{018...')
#3 {main}
  thrown in <b>/var/lib/symcon/modules/EHZ/Haushaltzaehler/module.php</b> on line <b>213</b><br />
Abort Processing during Fatal-Error: Uncaught Error: Call to undefined function IPS_GetVariableCompatibility() in /var/lib/symcon/modules/EHZ/Haushaltzaehler/module.php:213
Stack trace:
#0 /var/lib/symcon/modules/EHZ/Haushaltzaehler/module.php(203): Haushaltzaehler->SetVariableFloat(67584, '01 08 00 ', '~Electricity', 13317,2573)
#1 /var/lib/symcon/modules/EHZ/Haushaltzaehler/module.php(97): Haushaltzaehler->setSml('v\x05\x08\xB2\x89\x1Ab\x00b\x00rc\x01\x01v...')
#2 /-(3): Haushaltzaehler->ReceiveData('{"DataID":"{018...')
#3 {main}
  thrown
   Error in Script /var/lib/symcon/modules/EHZ/Haushaltzaehler/module.php on Line 213

LG,

Jörg

Hast Du mal den Master Zweig getestet.

Gesendet von iPad mit Tapatalk