Betrieb

Mein S0 Kanal erscheint nicht unter Zählerstände.

Das liegt daran, dass kein Wert unter

Zählerstand (initial)

angegeben wurde. Damit ist der Gesamtwert unbestimmt und der Zählerstand wird nicht ermittelt.

Der Zählerstand kann übrigens zu jedem Zeitpunkt nachgetragen werden: Und zwar der im Moment vorliegende Wert, die Software berechnet daraus den tatsächlichen initialen Zählerstand vor Registrierung des ersten Impulses und ermittelt den Zählerstand nachfolgend aus der Summe aller registrierten Verbrauchswerte und dem initialen Zählerstand.

Wie lange reicht der Speicherplatz?

Kapazität

Die Datenpartition, die hauptsächlich von der Datenbank genutzt werden kann, beträgt ca. 3GB. Neben den Meßdaten sind dort auch die Logfiles untergebracht, die im Allgemeinen kaum Speicherplatz benötigen.

Der Bedarf pro Kanal beträgt ca. 19MBs/d. Das bedeutet für ein Berechnungsbeispiel von 4 Kanälen, 120s
Intervall für 1 Jahr: 19MBs/d · 365d / 120s · 4 Kanäle = 231 MB/a, das heißt die Speicherkapazität reicht für die Aufzeichnung von ca. 12 Jahren.

Monitoring

Energiemonitor Speicherauslastung

Die Auslastung kann auf der Startseite überwacht werden, die Angaben beziehen sich auf die Datenpartition, deren Größe und aktuelle Belegung. Die Datenbank allokiert sich den notwendigen Speicherplatz nach Bedarf; die Angabe „Freier Speicher“ bezieht sich lediglich auf den im Moment reservierten Speicherplatz. Die Gesamtgröße ist ausschlaggebend und sollte kleiner 2.7GB bleiben.

Management

Mit dem Bedarf von ca. 19MBs/d pro Kanal und der Messsituation (Kanalanzahl) kann abgeschätzt werden, wie hoch der Speicherplatzbedarf sein wird. Über die Intervallgröße kann Einfluss genommen werden; je nach Anforderung muss abgeschätzt werden, ob eine Intervallgröße von 2min eventuell noch ausreichend ist oder ob 30s nötig sind mit dem 4-fachen Speicherplatzbedarf.

Zeitreihenbereinigung

Energiemonitor Zeitreihenbereinigung

Es kann ein Ringpuffer eingerichtet werden, aus dem ältere Zeitreihenwerte regelmäßig entfernt werden. Im Beispiel Daten, die älter als 2 Jahre sind. Die Tageswerte sind davon nicht betroffen. Konfiguration ⇒ Zeitreihenbereinigung

 

 

Logfiles

Energiemonitor LoglevelDie Logfunktion sollte nach der Inbetriebnahme deaktiviert sein. Dafür wird das Kontrollkästchen „Logfile aktiv“ zurückgesetzt wie im Bild.

Wie nutze ich den Webservice (API)?

Dokumentation

Die Dokumentation zum Webservice steht hier zum Download bereit.

Über den Webservice können aktuelle Leistungswerte, Zählerstände aber auch Zeitreihen im json-Format abgerufen werden.

{ „status“: „o.k.“, „result“: [ { „meterId“: „84“, …..

Hilfreich ist das für die Einbindung der erhobenen Daten in Steuerungen oder für übergeordnete Monitoringsysteme.

Test der Funktion im Browser

Über die Seite https://ip-address/json/Test_json.php kann die Funktion im Browser getestet werden. Damit werden gleichermaßen die Methoden POST und GET unterstützt. GET übermittelt die Parameter sichtbar in der URL, Beispiel:

https://ip-address/json/API.php/getLive/?meterId=84

Antwort:

{ „status“: „o.k.“, „result“:
 
    [ { „counter“: 0,
„ID“: 84,
„title“: „Raumtemperatur“,
„type“: „w1temp“,
„unit“: „°C“,
„timeEnd“: „1552550190000“,
„power“: 21.786599007895
   } ]
}
 

Aufbau

Die Messkanäle werden über eine ID angesprochen, die als Parameter übergeben wird. Die ID’s der Kanäle wird über die Methode getMeters abgerufen, sie sind fest über die Lebensdauer der Messkanäle. Sie können daher fest in der abfragenden Routine hinterlegt werden.

timeEnd ist der UNIX-Zeitstempel zum Ende des Messintervalls x 1000; häufig der Zeitpunkt der Datenerfassung bei z.B. Temperatur, D0, Modbus.

counter ist der Zählerwert, sofern es sich um einen Verbrauchskanal handelt.

Wie sichere ich meine Daten? (Backupstrategien)

Datensicherung

Die regelmäßige Sicherung des Datenbestandes ist wichtig für den Fall, dass historische Daten für weitere
Auswertungen benötigt werden. Wie bei jedem anderen Rechnersystem können Datenverluste nicht
vollkommen ausgeschlossen werden. Es gibt eine Reihe von Möglichkeiten, historische Daten zu sichern:
• regelmäßiger manueller Export über die Webinterfacefunktion Datenexport
• falls ein ftp-Server genutzt werden kann, können die Daten automatisiert täglich oder monatlich als
csv-Datei (Excel lesbar) über die csv-Upload Funktion gesichert werden
• die Nutzung des smart-me Portals

Alternativ können auch ftp-Server im Internet verwendet werden, beispielsweise https://www.bplaced.net/

Konfiguration (Messkanäle)

Im Webinterface kann über die Funktion entities.php die Kanalkonfiguration im json-Format abgerufen
werden. Das sollte nach Abschluss der Konfiguration erfolgen. Das Vorgehen ist dabei wie folgt:
• Aufruf der Unterseite: http://ip-adresse/entities.php
• Rechtsklick auf den Seiteninhalt, aus dem Kontextmenü Seite speichern unter anwählen
• an einem geeigneten Speicherort unter Vergabe eines aussagekräftigen Dateinamens mit der Endung .json
abspeichern
Im Notfall kann mithilfe dieser Datei die Konfiguration wieder eingerichtet werden.

Inbetriebnahme

D0-Lesekopf: Warum bekomme ich keine Daten über den D0 Kanal?

Prüfen Sie folgende Einstellungen am D0-Lesekopf:

Position: Sitzt der Kopf mittig auf der vorgesehenen Aufnahme des Sensors? Das Kabel weist senkrecht nach unten.

Konfiguration: Im Allgemeinen werden die Protokolle SML und nach IEC62056-21 verwendet:

HerstellerTypProtokollParameter 
   baudratenchangedeley
[ms]
Übertragungsdauer
[s]
ElsterAS3000IEC62056-2125030
IskrameccoISKRA MT691SML  
ISKRAMT851-1303IEC62056-2120050
Landis+Gyr E650IEC62056-2115020
Landis+Gyr E350IEC62056-2130020
Landis+Gyr E230IEC62056-2120020
HagereHZ-KW8E2A5L0EQ2PSML  
EasyMeterEasymeter Q3MA1170V6.02SML  
EMUEMU32.61IEC62056-2115020
EMHeHZ-KW8E2A5L0EQ2PSML  
ITRONDC451IEC62056-2112020
ITRONACE3000IEC62056-2110020

Tabelle: Beispielkonfiguration

OBIS-Kennzahlen: Die OBIS-Kennzahlen codieren das Zählerregister, das ausgelesen werden soll. Beispiele:

1.8.0 Bezug

2.8.0 Einspeisung

Wichtig ist, ob der Zähler diese Register erfaßt (wird häufig auf dem Zähler vermerkt).

Logdatei: In der Logdatei läßt sich gut nachvollziehen, ob Daten gesendet werden. Geben Sie dazu in der Adresszeile des Browsers /S0-Log.php ein und aktualisieren Sie ab und an. Es kann je nach Intervallgröße des Messkanals dauern, bis eine neue Anfrage an den Zähler gesendet wird. Im Logfile sollte nun eine Auflistung der verfügbaren Register (OBIS) mit den zugehörigen Zählerständen erscheinen.

Weitere Informationen finden Sie außerdem hier.

Konfiguration Messkanal: Welche Parameter sind obligatorisch, wie erkenne ich, dass die Parameter gültig sind und übernommen wurden?

Energiemonitor: Konfiguration Messkanal

 

 

 

 

Die eingegebenen Parameter werden durch „Senden“ plausibilisiert und übernommen. Die Kanalkonfiguration wird rot markiert. Durch Mouseover erhalten Sie Hinweise darauf, ob der entsprechende Parameter akzeptiert wird.

Im Fall, dass ein wichtiger Parameter fehlt oder außerhalb des zulässigen Bereichs liegt, wird die Konfiguration nicht übernommen, auch Eingaben an nicht markierten Messkanälen. Die gesamte Konfiguration ist übernommen, sobald alle Kanäle als plausibel (grün umrahmt) markiert sind.

 

 

 

 

 

 

 

Löschen Sie bitte auch rot eingerahmte Kanäle, die nicht benötigt werden.

Der Lastgang zeigt einen unstetigen Verlauf, es treten nur vereinzelte Spitzen auf. Welche Ursachen hat das und wie kann ich es beheben?

Bild: Es treten nur Peaks auf mit Werten von etwa 120W oder 60W, die Kurve ist nicht stetig.

Erklärung: Der Zähler bringt eine gewisse Auflösung der Verbrauchswerte mit, die Impulswertigkeit. Das sind zum Beispiel 1000 Impulse/kWh. Das bedeutet, das reziprok 1 Impuls/Wh übermittelt wird. Bei niedrigem Verbrauch, wird häufig nur 1 Impuls oder auch keiner in einem Intervall detektiert, so dass bei einer Intervallgröße von 30s eine Leistung von P=1Wh/30s*3600s/h = 120W errechnet werden. Das ist die „Auflösung“ für die gegebene Wertigkeit und die Intervalldauer.

Abhilfe: Die Impulswertigkeit kann zumeist nicht beeinflusst werden. Lediglich über die Erhöhung der Intervalldauer kann die Kurve verstetigt werden. Bei größeren Durchsätzen von mehreren kW spielt diese kleinste Auflösung weniger eine Rolle; der Effekt tritt bei kleinen Umsätzen auf.

D0-Kanal: Bei einigen Zählern werden zunächst nur volle kWh z.B. im Bezugsregister 1.8.0 übertragen. Das führt bei moderatem Verbrauch dazu, dass über lange Zeit keinerlei Verbrauch registriert werden kann und erst in dem Moment, in dem die nächste volle kWh erreicht wird, der Energiemonitor eine Veränderung registriert und diese dem aktuellen Messintervall zuordnet. Das führt zu einer sehr hohen Leistungsspitze in diesem Intervall, im Vorfeld ist die Leistung 0.

In den allermeisten Fällen kann mittels einer PIN vom EVU der Zähler frei geschaltet werden, so dass sich der Verlauf verstetigt und ein sinnvoller zeitlicher Verlauf zustande kommt durch die übliche Versendung von 3 Nachkommastellen. Bei einigen wenigen Zählertypen ist leider nicht einmal das möglich, in dem Fall können aussagefähige Werte minimal tagesweise gewonnen werden.

Mein D0 Messkanal enthält nur „Spikes“, der Zähler übermittelt keine Nachkommastellen

Über den D0-Kanal werden Daten empfangen; die Symptome sind wie folgt:

  • „Spikes“ in den Zeitreihen, Intervallwerte (Leistung [W]) sind 0, ab und zu gibt es Leistungsspitzen von 60000W
  • Im Register „Zählerstände“ sind plausible Werte für den Messkanal ersichtlich, jedoch ohne Nachkommastellen

Die Ursache hierfür ist, dass der Zähler im jeweiligen Register nur volle kWh überträgt und keine Nachkommastellen (reduzierter Datensatz). In den allermeisten Fällen kann über eine Pin Eingabe die volle Auflösung freigeschalten werden.

Die Pin ist beim Energieversorger (EVU) erhältlich beziehungsweise wurde bereits bei der Zählerinstallation mit geliefert. Bei vielen Zählermodellen wird die Pin per Taschenlampe über „Lichtsignale“ eingegeben. Der zugehörige Empfänger ist durch ein Taschenlampensymbol gekennzeichnet. Zumeist bedeutet ein kurzer Lichtimpuls Sprung zum nächsten Parameter/Eingabefeld und ein langer Impuls die Änderung des jeweiligen Wertes.  Die genaue Vorgehensweise kann den Betriebsanleitungen der Zähler entnommen werden, z.B. eHZ EDL21

Vorübergehende Abhilfe schafft die Einstellung eines großen Intervalls für den betroffenen Kanal, je nach Energiedurchsatz können 2-3h sinnvoll sein.

Was besagt der Parameter „Messintervall“?

Die Datenhaltung erfolgt streng zeitlich gerastert, das ermöglicht einige Statistikfunktionen. Daher wird jeweils zum Ende eines „Intervalls“ der ermittelte Energiewert in die Datenbank „übertragen“. Z.B. bei 60s wird genau zu jeder vollen Minute ein Zählerwert abgefragt und in der Datenbank gespeichert. Die Differenz zum letzten Wert ergibt die Energiemenge und mit der Intervallgröße wird die Leistung berechnet.

In Zusammenhang mit dem Parameter „Auflösung“  für S0-Kanäle oder der Anzahl Nachkommastellen bei D0 oder Modbus ergibt sich ein Kompromiss: Bei niedriger Auflösung, z.B. 100 Imp/kWh, niedrigem Verbrauch und kleinen Intervallen kann es zur Ausbildung von „Peaks“ kommen, also Intervalle ohne energetischen Umsatz und Intervalle, in denen nur 1 Impuls registriert wird, der als Leistungsspitze dargestellt wird. Die grafische Auflösung ergibt sich aus der reziproken Auflösung des Zählers und der Intervallzeit: z.B. 1000 Imp/kWh bei 60s Intervallgröße ergibt eine grafische Auflösung von 60W.

Wenn die Intervallzeit, die frei eingestellt werden kann, ganzzahlig die Tagessekunden teilt (86400s), werden die Zeitstempel gerastert. Beispielsweise bei 30s erfolgt der erste Eintrag 00:00:00 Uhr, dann 00:00:30 Uhr usw.

Welche Schritte sind zur Einrichtung des Sensors „Ferraris-Zähler“ notwendig? (Justage, Parameter)

Justage

  • Die Erfassung der Umdrehungen der Drehscheibe basiert auf einem optischen Verfahren, aufgrund  der vielen Zählertypen mit unterschiedlichen Abständen Glas/Drehscheibe kann die Justage des Sensors mit etwas Aufwand verbunden sein bis hin dazu, dass keine sichere Erfassung möglich ist. Die Funktion kann z.B. auch durch Verschmutzung oder Unwucht der Drehscheibe verhindert werden.
  • Der Sensor Ferraris-Zähler  wird als S0-Kanal konfiguriert. Die Auflösung ist die Zählerkonstante, Umdrehungen/kWh, häufig 75 U/kWh.
  • Sensitivity: Die Schwelle muss sich im guten Mittelfeld befinden zwischen der Justagestellung, ab dem die Reflexion im größeren nicht markierten Bereich ohne Flackern detektiert wird (LED an) und der Stellung der Justageschraube im maSchaltschwellen Sensor Ferraris-Zählerrkierten Bereich, wo die LED sicher aus ist. Der Bereich muss durchfahren werden für eine robuste Einstellung mittig zwischen diesen beiden Schwellwerten. Danach müssen Sie noch einige Umdrehungen prüfen, ob das Verhalten korrekt ist, den Sensor am besten zusätzlich arretieren (Kabelbinder, Klebeband). Also vermutlich etwas weiter nach rechts drehen, so dass die Schwelle robust über dem Reflektionspegel der Markierung liegt.
  • Weitere Informationen finden Sie unter diesem Link.
Wie konfiguriere ich einen S0 Kanal ?

Fehlerbild: An der S0-Impuls-Schnittstelle werden keine Werte registriert.

Prüfen Sie, ob die Kette schlüssig ist:

Verkabelung: S0+ bzw. Pin 3 (BASIS) / Pin 4 (PLUS) ist mit der Klemme S0+ des Zählers verbunden. S0- wird an den entsprechenden Pin (S0-, X-PLUS) angeschlossen bzw. an den Pin 4-6 (BASIS) / Pin 5-12(PLUS).

Port: Ist in der Software der richtige Port gesetzt?

Wertigkeit: Haben Sie die dem Zähler entsprechende Auflösung eingestellt? Hutschienenzähler haben zumeist 1000 Imp/kWh, das bedeutet, pro Wh wird ein Impuls erzeugt.

Test:  Durch Kurzschließen der S0-Strecke (Kabel am Zähler), also kurzes Kontaktieren, können Sie Impulse erzeugen. Die Software muss diese registrieren.hier

Impulsdauer: Die Impulsdauer beträgt im Normalfall 30ms. Die Dauer wird für die Plausibilisierung genutzt. Um sicher zu gehen, dass ein falscher Wert die Messung nicht beeinträchtigt, kann der Wert auf 1ms gesetzt werden und somit praktisch nur die Flanke erfaßt werden.

Weitere Informationen finden Sie außerdem hier (Quickstart).

Energiemonitor – Auflösung S0

Wie richte ich eine Modbus TCP Verbindung ein, wie konfiguriere ich den Messkanal?

Konfiguration Modbus TCP

Download Dokumentation →

Die Kommunikation über ein Modbus TCP gateway erfolgt analog zum Verfahren bei Modbus RTU. Der USB-Adapter wird ersetzt durch das TCP gateway. Die Konfiguration der slaves (Modbus Geräte) und der Modbus Kanäle erfolgt in der selben Art und Weise, der Verweis auf den Umsetzer erfolgt anhand der IP-Adresse des gateways.

Es sind also 3 Ebenen zu parametrisieren:

1. Modbus TCP Gateway

Modbus TCP Gateway Definition

Definition TCP Gateway: IP Adresse/Port

2. Slave

Modbus TCP, Modbus RTU Kanalkonfiguration

Slave RTU (Kanal 1)/TCP (Kanal 2) Slave: Wichtig ist der Zählertyp.

3. Modbus Kanal

Modbus TCP, Modbus RTU Kanalkonfiguration

Modbus Kanal: Zuordnung erfolgt über Adapter/Gateway (Seriennummer) und die Geräte ID

Achtung: Bei Änderung an Slave- oder Gateway-Einstellungen müssen die Einstellungen an den Kanälen aktualisiert werden. 

Wofür sind Virtuelle Kanäle und wie richte ich sie ein?

Energiemonitor: Virtueller KanalFunktionen

In einem virtuellen Kanal können mehrere Messkanäle zur Summen- oder Differenzbildung vereint werden. Das prägnanteste Beispiel ist die Berechnung von Verbrauch und Eigenverbrauch bei solarer Eigenversorgung. Dort hat man überlicherweise 2 Messkanäle am Bezugs-/Einspeisezähler sowie den Photovoltaikzähler.

Möglich sind auch Temperaturspreizungen oder die Kombination von S0- und D0-Kanälen.

Der virtuelle Kanal kann über die Zeitfensterfunktion praktisch Tariffunktionen übernehmen, indem man einen Messkanal nochmals separat über verschiedene Zeitfenster erfaßt.

Es ist möglich, mit dieser Funktion auch eine Datenquelle mit verschiedene Intervallelängen zu erfassen.

Virtuelle Kanäle können als Grundlage für Schaltvorgänge genutzt werden; in den meisten fällen für die Schaltung von Verbrauchern bei Erzeugungsüberschuß, aber auch für die Ansteuerung von Pumpen mit Temperaturdifferenzen.

„Negative Werte zulassen“

Mit diesem Parameter wird festgelegt, ob ein negativer Zuwachs am „virtuellen Zählwerk“ zugelassen wird.

Fehlfunktionen

Kanäle verschiedener Datentypen können nicht kombiniert werden.

Derzeit ist es noch möglich, dass ein virtueller Kanal „historische“ Kanäle zur Berechnung heranzieht, die dann fehlerhaft ist. Der Fehler kann entstehen, wenn ein in der Berechnung enthaltener Kanal gelöscht und neu angelegt wird. Der virtuelle Kanal muss dann aktualisiert werden.

 

Lokale Datenbank

Welche Möglichkeiten bieten Datenbankabfragen, wie kann ich sie ausführen? (SQL Einführung)

Die lokale Datenbank ist der zentrale Speicher der Messwerte und Konfigurationsparameter. Ab Webinterface – Version 8.45 können über die Weboberfläche SQL-Befehle oder -scripte ablaufen.

! Vorsicht: Bei unsachgemäßer Handhabung kann es zu Datenverlust kommen.

Auf diese Art und Weise ist es möglich, die Datenbank im Notfall zusätzlich zu berselect table_schema,round(sum(data_length+index_length)/1024/1024,4) from information_schema.tables group by table_schema;einigen, Speicherplatz freizugeben oder aber spezielle Auswertungen mit dem Datenbestand durchzuführen.

Per Formular können einzelne SQL-Befehle oder auch mehrzeilige Scripts ausgeführt werden:

URL: exec_sql.php

Energiemonitor: SQL Befehl

 

 

 

 

 

 

 

Weitere Beispiele folgen an dieser Stelle.

  • Leistungsstundenwerte des Tages:

SELECT DATE_FORMAT(DATE_ADD(FROM_UNIXTIME((`power`.`timestamp` / 1000)), Interval 1 hour), ‚%H:00:00‘) AS `Time`, channel, avg( value ) as value FROM volkszaehler.power
GROUP BY DATE_FORMAT(FROM_UNIXTIME((`power`.`timestamp` / 1000)),
‚%d-%m-%Y %H‘), channel order by channel, Time

  • Speicherplatz der Tabellen:

SELECT table_schema as `DB`, table_name AS `Table`, round(((data_length + index_length) / 1024 / 1024), 2) `Size MB` FROM information_schema.TABLES ORDER BY (data_length + index_length) DESC limit 10;

oder auch:

SELECT TABLE_NAME, TABLE_ROWS as rows,(data_length+index_length)/power(1024,2) ’size [MB]‘, DATA_FREE/power(1024,2) as ‚free [MB]‘
FROM information_schema.tables
WHERE table_schema=’volkszaehler‘ and TABLE_TYPE=’BASE TABLE‘ and TABLE_NAME like ‚%data%‘;

oder:

SELECT 

NAME,
CONCAT(FORMAT(DAT/POWER(1024,pw1),2),‘ ‚,SUBSTR(units,pw1*2+1,2)) DATSIZE,
CONCAT(FORMAT(NDX/POWER(1024,pw2),2),‘ ‚,SUBSTR(units,pw2*2+1,2)) NDXSIZE,
CONCAT(FORMAT(TBL/POWER(1024,pw3),2),‘ ‚,SUBSTR(units,pw3*2+1,2)) TBLSIZE

FROM

(SELECT NAME, DAT,NDX,TBL,IF(px>4,4,px) pw1,IF(py>4,4,py) pw2,IF(pz>4,4,pz) pw3
FROM
(

SELECT TABLE_NAME NAME, data_length DAT,index_length NDX,data_length+index_length TBL,

FLOOR(LOG(IF(data_length=0,1,data_length))/LOG(1024)) px,
FLOOR(LOG(IF(index_length=0,1,index_length))/LOG(1024)) py,
FLOOR(LOG(IF(data_length+index_length=0,1,data_length+index_length))/LOG(1024)) pz

FROM information_schema.tables
WHERE table_schema=’volkszaehler‘

) AA

) A,(SELECT ‚B KBMBGBTB‘ units) B;

 

  • Monatsdaten ausgeben lassen

Select month, title, type, Sensor, value as ‚energy [kWh]‘ from channels join volkszaehler.`energy month`   on channel = id order by month desc, title desc;        

  • Rohdaten im lesbaren Zeitformat (Tabelle data)

select *, date_format(from_unixtime((`data`.`timestamp` / 1000)),’%d-%m-%Y %H:%i:%s‘) from data where channel_id=172 order by timestamp desc limit 1000;