NEWS
Smartmeter mit Landis+Gyr E650
-
Hallo zusammen,
ich habe auch einen Landis+Gyr E650 Zähler und habe auch den Adapter mit den Settings von euch auf "grün". Seitdem erhalte ich eine ganze Menge an Objekten:
... die Liste ist noch länger.Adapter bleibt grün - leider fehlt oder finde ich die relevanten Objekte bzgl. der Momentanleistung in Watt/kWh nicht.
Auch das Script von @Michael-Uray hat keine wirkliche Hilfe gebracht:ein paar Werte sind also da, aber auch hier die relevanten nicht.
Hat jemand eine Idee, was ich beim Zähler-Auslesen übersehen habe?
-
Ich sehe gerade, dass es hier in dem Script noch einen Fehler gibt, denn
DlvPower
wird zwar berechnet,DrwPower
aber nicht. Dennoch müsste inDlvPower
ein Wert stehen, welchen ich bei dir aber nicht sehe.Die Leistung selbst wird vom Zähler nicht geliefert, deswegen hatte ich sie damals aus Spannung, Strom und Leistungsfaktor berechnet.
Was liefert dir denn der Zähler bei folgenden Werten?
CurrentL1 = getState('smartmeter.0.1-0:31_7.value').val * CtFactor; CurrentL2 = getState('smartmeter.0.1-0:51_7.value').val * CtFactor; CurrentL3 = getState('smartmeter.0.1-0:71_7.value').val * CtFactor; VoltageL1 = getState('smartmeter.0.1-0:32_7.value').val * VtFactor; VoltageL2 = getState('smartmeter.0.1-0:52_7.value').val * VtFactor; VoltageL3 = getState('smartmeter.0.1-0:72_7.value').val * VtFactor; Angle_I_L1_to_U_L1 = getState('smartmeter.0.1-0:81_7_4.value').val; Angle_I_L2_to_U_L1 = getState('smartmeter.0.1-0:81_7_5.value').val; Angle_I_L3_to_U_L1 = getState('smartmeter.0.1-0:81_7_6.value').val;
CtFactor
undVtFactor
ist bei dir auf 1 zu setzen, falls du keine Strom- oder Spannungswandler haben solltest, was nur bei sehr großen Leistungen üblich ist. -
das ist wohl mein Problem: Alle von dir genannten 9 Objekte sind nicht vorhanden, sagt auch die Objekt-Suche:
Deswegen kann die Berechnung deines Skripts auch nicht stattfinden.
Ich vermute, da passt beim auslesen des Zählers was nicht.
Den Faktor für die Stromwandler brauche ich, wir haben Wandler mit Verhältnis 50 im Einsatz -
Was bringt denn eine Suche nach "_7" für Objekte?
Kannst du vielleicht andere Objekte ausmachen, welche Strom, Spannung und Phasenwinkel vom Zähler beinhalten?
-
genau ein Objekt:
Hier eine komplette Übersicht der Objekte:
Ganz viel Zählerstände, Maximus aber irgendwie nichts brauchbares. Vielen Dank für die Mithilfe!
-
@robert-ke
Was liefert dein Zähler denn eigentlich an Daten zurück, wenn du dich mit einem seriellen Terminal (Baudrate 300, 7 Daten-Bits, 1 Stop-Bit, Parität: gerade/even) auf ihn verbindest und "/?!" an ihn schickst? -
Da bin ich jetzt nicht so fit - aber ich habs auf die schnelle probiert:
Der Lesekopf steckt aktuell noch an einem Raspberry PI dran - um zu prüfen ob wir mit dem Zähler überhaupt zum Ziel kommen.
Die Verbindung müsste schon stimmen, aber er zeigt nach dem Connected nichts weiter an und eingaben sind auch keine Möglich.
-
Gib dann einmal "/?!" (ohne ") ein und drücke die Eingabetaste. Es wird dir nicht angezeigt was du eingibst, das ist normal, aber es sollte danach eine Antwort vom Zähler kommen.
(der SmartMeter Adapter muss gestoppt sein, da sonst die serielle Schnittstelle blockiert wird)
-
@robert-ke sagte in Smartmeter mit Landis+Gyr E650:
um zu prüfen ob wir mit dem Zähler überhaupt zum Ziel kommen
Was ist denn eigentlich das Ziel? Was willst du denn mit dem aktuellen Leistungswert machen?
Benötigst du diesen nur für eine Aufzeichnung und kann er auch langsamer übermittelt werden, oder benötigst du ihn für eine Netzleistungsregelung und er muss recht schnell aktualisiert werden? -
Die Eingaben hab ich schon versucht - kommt leider nichts. Der Smartmeter Adapter ist natürlich aus, sonst krieg ich keinen Connect. Alternativ kann ich den Adapter laufen lassen und via Screen zuschauen - aber das ist auch nicht zielführend.
Das Ziel: Ja, Netzleistungsregelung. Somit wäre schon gut, wenn die Daten halbwegs rasch ankommen würden - wobei ich mit 1-3 Minuten leben kann. Wir schalten Final BHKW's ein oder aus und div. Verbraucher (E-Heizstäbe und div. andere Verbraucher)
Die S0 Ausgänge würde der Energieversorger per Optokoppler rauslegen. Einen für Bezug und einen für Einspeisung. Aber Impulse zählen ist irgendwie oldschool.... daher der bis dato vergebliche Versuch direkt vom Zähler Werte zu bekommen mit denen man arbeiten kann.
-
Ist dein Keyboard im Terminal eventuell auf EN eingestellt?
Kannst du/?!
ohne Probleme im Terminal auf der Kommandozeile eingeben, oder kommen da andere Zeichen? -
ja klar, alles ganz normal auf Deutsch:
-
@robert-ke
Hier fehlen jetzt aber dietio
Angaben zu Daten- und Stopbits sowie zur Parität. -
ja klar, ich habe nur schon alles Mögliche durchprobiert - jetzt wieder mit den Angaben, ist aber immer das gleiche:
Ich kann hinschicken was ich will, es tut sich nichts! - Wobei die Schnittstelle sicher passt, lasse ich den Smartmeter Adapter laufen kommt:
-
@robert-ke
Seltsam, was sagt denn der Log welche Schnittstellen-Daten verwendet werden, wenn man den Adapter im Debug Mode betreibt? -
Das Ziel: Ja, Netzleistungsregelung. Somit wäre schon gut, wenn die Daten halbwegs rasch ankommen würden - wobei ich mit 1-3 Minuten leben kann. Wir schalten Final BHKW's ein oder aus und div. Verbraucher (E-Heizstäbe und div. andere Verbraucher)
Regelst du die Leistung dann eigentlich direkt mit dem ioBroker, oder wird der Wert an eine andere Steuerung weitergereicht welche die Regelung macht?
-
sieht schon so aus wie es sollte:
und nach etwas Zeit füllen sich die ganzen Werte:
Die Regelung übernimmt dann eine SPS - das ganze ist etwas komplexer mit mehreren Hallen/Gebäuden - zig PV Anlagen - im letzten Jahr wurde dann alles vom Energieversorger auf einen neuen Zählerschrank verlegt - gebaggert, wie auch immer - und jetzt haben wir einen Hauptmesspunkt - der natürlich notwendig ist, um zu entscheiden wie es weitergeht im Prozess! Ich habe gute Lust und lasse einen anderen Zähler nachträglich einbauen - weil mich der Landis+Gyr so ärgert
-
Warum der Zähler über deine Eingaben am Terminal nicht antwortet verstehe ich eigentlich nicht, hier könntest du evtl. noch ein anderes Terminal ausprobieren, es sieht für mich aber auch in Log Daten so aus, als ob die Werte für Strom und Spannung usw. vom Zähler einfach nicht übertragen werden.
Solche Logs hier am besten als Text und nicht als Screenshot posten, dann wird nichts abgeschnitten und man kann auch im Text suchen bzw. diesen ggf. weiterverarbeiten.Ein anderer Ansatz wäre es auch noch, wenn man aus zwei Auslesungen der kWh Werte eine Differenz bildet und über die Zeitmessung zwischen den Auslesungen dann auf die Leistung zurück rechnet. Wenn dir 2-3 Minuten Aktualisierungen reichen, dann solltest du damit auf brauchbare Werte kommen.
Ich hatte das damals auch gemacht und habe hier noch ein Code-Schnipsel dafür gefunden mit welchem ich getestet hatte.
on({ id: 'smartmeter.0.1-0:1_8_0.value', change: 'any' }, function (data) { DrwPower = (((data.state.val - data.oldState.val) * (3600000 / ((data.state.ts - data.oldState.ts)))) * 50); console.log(((data.state.val - data.oldState.val) * (3600000 / ((data.state.ts - data.oldState.ts)))) * 50 + ' Zeit: ' + ((data.state.ts - data.oldState.ts) / 1000)); }
Hier gilt es noch zu beachten, dass der Zähler eventuell die kWh Register nicht so oft aktualisiert und auch, dass bei der Übertragung Verzögerungen/Unregelmäßigkeiten für die Zeitmessung entstehen. Je unregelmäßiger die Daten daherkommen, desto ungenauer wird dann der berechnete kWh Wert, man kann dem aber entgegenwirken, indem die Berechnung über etwas längere Zeiträume durchgeführt wird (z.B. nur jede 4. Auslesung, also Differenzbildung zwischen erster und vierter Auslesung).
Man müsste auch noch etwas implementieren, dass der Leistungswert auf 0 gesetzt wird, wenn sich der kWh Wert für eine gewisse Zeit (z.B. 1 Minute) nicht mehr ändert, oder der gegengesetze kWh (Bezug/Lieferung) Wert sich ändert.@robert-ke sagte in Smartmeter mit Landis+Gyr E650:
Die S0 Ausgänge würde der Energieversorger per Optokoppler rauslegen. Einen für Bezug und einen für Einspeisung. Aber Impulse zählen ist irgendwie oldschool.... daher der bis dato vergebliche Versuch direkt vom Zähler Werte zu bekommen mit denen man arbeiten kann.
Bei der S0 Messung müsstest du auch über eine Zeitmessung zwischen zwei (oder mehr) Impulsen die aktuelle Leistung berechnen, das wäre eigentlich nichts anderes.
Damit bekommt man übrigens auch sehr genaue und je nach Impulsverhältnis auch schnelle Werte übermittelt, vorausgesetzt die Eingänge bzw. der Task in der SPS sind schnell genug um eine ensprechende Zeitmessung durchzuführen. Mit solchen S0 Werten habe ich auch schon öfter Netzleistungsregelungen über eine SPS gemacht und auch die 15 Minuten Impulse dazu ausgewertet, damit landet man dann auch ganz genau bei den Werten welche das EVU bei der Abrechnung ausgibt.
Eine direkt Daten-Auslesung des Zählers wäre aber wirklich schöner, da man damit nicht das Problem hat ausgelassene Impulse (SPS Neustart / andere Unterbechungen) nicht zu zählen. -
Korrekt, es läuft ja an sich - aber die Werte fehlen. Schade.
Danke für deinen Ansatz das über die Zeit rauszurechnen. Da die 1.8.0 und die 2.8.0 Werte kommen ist das noch ein akzeptabler Weg den ich teste, ggfs. auch noch mitteln kann wie du schon gesagt hast. Die * 50 in deinen Code-Schnipsel sind schon wegen dem Wandlerverhältnis 1:50 oder?
Ich werde das noch testen - für S0 Messung hab ich in der SPS schon was beliebig oft im Einsatz - das geht richtig gut, im schlimmsten Fall müssten wir die Optokoppler (auch sau teuer) noch rausführen lassen, wenn ich mit der obigen Berechnung zu nichts komme was passt!
Danke fürs Brainstorming & einen schönen Tag!
-
@robert-ke
Ja das ist korrekt, die 50 hatte ich schon auf dein Wandlerverhältnis adaptiert.