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

Wandlerfaktor: Standard 1, falls Wandlermessung vorliegt entsprechend dem (zumeist handschriftlichen) Vermerk auf dem Zähler

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.

Der Lastgang ist verzerrt und enthält nur einen übergroßen Leistungspeak:

Ein solcher Peak entsteht in der Inbetriebnahmephase wenn sich der ausgelesene Wert abrupt ändert.

  • Änderung der OBIS Kennzahl
  • testweise Anschluss des Lesekopfs an einen weiteren Zähler
  • Änderung des Wandlerfaktors (Standard 1, wenn nicht Wandlermessung vorliegt)

Empfehlung: Den Kanal nochmals neu anlegen mit den ermittelten Parametern (insbesondere OBIS), den alten löschen.

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.

Was ist beim Einrichten eines Modbus RTU Kanals zu beachten?

Konfiguration Modbus RTU

Download Dokumentation →

Die Kommunikation erfolgt über einen RS485 Bus, Sie benötigen den Wandler/Adapter RS485/USB.

Es sind 3 Ebenen zu parametrisieren:

1. Modbus RTU USB/RS485 Adapter

Wichtig: Es müssen identische Schnittstellenparameter eingestellt sein: Baudrate, Daten-/Stopbits, Parität. An den Slaves (Zähler, Wechselrichter, Wärmepumpe, etc.) sind nicht immer alle Parameter einstellbar. Die fest vergebenen Parameter müssen im Adapter übernommen werden. Für ein Bussystem dürfen und müssen nur die Slave-Adressen variieren.

2. Slave

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. 

Welche Datentypen gibt es und was ist bei der Konfiguration zu beachten?

Grundsätzlich unterscheiden wir zwischen zwei Varianten der Erfassung und Speicherung:

  • Energie- (oder Verbrauchs-) menge im Intervall: S0 Impulse mit Äquivalent (1Wh pro Impuls, 1 l pro Impuls, 1 m³ pro Impuls)
  • Zählerstände

S0 Impulse, Besonderheit hier: Unsere Softwarestruktur basiert auf der Handhabung von elektrischer Energie:

  • Leistungseinheit W / Verbrauchseinheit kWh (hier ist der Faktor 1000 durch k). Wir geben in der Konfiguration nicht 1 Impuls pro Wh an, sondern 1000 pro kWh
  • daher bei Gas: „Leistungseinheit“ m³/h und Verbrauchseinheit m³. Und hier müssen wir nun eben nicht angeben 100 Impulse pro m³ sonder 100.000 Imulse pro 1000 m³

Zählerstände:

  • Die abgerufenen Zählerstände müssen der Verbrauchseinheit des Datentyps entsprechen, andernfalls können sie über den Wandlerfaktor angepaßt werden.

 

Datentypen

 DatentypVerbrauch/SensorZählertypEinheitenBeispielWertigkeit
    „Leistung“VerbrauchSensoreinstellungenUmrechnungKanaleinstellung
Energiemonitor
gas consumptionimpulsem³/h1 Imp/10 l100 Imp/m³100.000
gas meter consumptionmeterm³/h 
Standardpower consumptionimpulseWkWh1.000 Imp/kWh1.000
water consumptionimpulsel/hl1 Imp /l1.000
flow consumptionimpulsem³/h1 Imp/10 l100 Imp/m³100.000
flow meter consumptionmeterm³/h 
workinghours consumptionimpulse1000h/hh100 Imp/h100.000
electric meter consumptionmeterWkWh  
apparent power consumptionimpulseVAkVAh 
apparent meter consumptionmeterVAkVAh 
reactive powerconsumptionimpulseVArkVArh 
reactive meter consumptionmeterVArkVArh 
heat consumptionimpulseWkWh1.000 Imp/kWh1.000
heat meter consumptionmeterWkWh 
relais consumptionstate1000h/hh  
digital_state consumptionstate1000h/hh  
phase angle sensor°°  
windspeed sensorkm/hkm/h  
voltage sensorVV  
current sensorAA  
frequency sensorHzHz  
e_meter_power sensorWW  
s0powersensor sensorWkWh  
w1temp sensor°C°C  
temperature sensor°C°C  
CO2 sensorppmppm  
humidity sensor%%  
pressure sensorhPahPa  
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 kann ich den Fernwartungszugriff ermöglichen, wenn die Firewall die VPN Verbindung sperrt?

Fernwartung bei OpenVPN Firewall-Sperre

In einigen Netzwerken wird die Clientverbindung per OpenVPN durch die Firewall verhindert. Der Remote-Service kann durch Isolation des Energiemonitors vom Netzwerk bei gleichzeitiger WLAN-Verbindung mit einem Smartphone Hotspot kurzfristig erfolgen durch:

  • Hotspotfunktion des Smartphones aktivieren, SSID (Netzwerk-Name) und Passwort vermerken
  • Über die LAN Verbindung zum Energiemonitor (Firmennetzwerk, lokaler Router – TP-Link, Teltonika) auf die Weboberfläche des Energiemonitors zugreifen
  • Konfiguration –> Punkt WLAN-Konfiguration das WLAN für die Verbindung mit dem Smartphone konfigurieren
    • Netwerk scannen –> ca. 1min
    • aus der Liste der Verfügbaren Netzwerke den Smartphone Hotspot auswählen, Passwort eingeben
    • Netzwerkdaten absenden
  • nach ca. 1min sollte im Menüpunkt Konfiguration –> WLAN-Konfiguration die Meldung Connected erscheinen mit der IP Adresse
  • (Fernwartung aktivieren unter dem Menüpunkt Fernwartung)
  • jetzt wird die LAN Verbindung am Gerät getrennt (entfernen des Kabels)

Der Energiemonitor baut die VPN Verbindung auf.

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.
Achtung! Der Mouseover-Hint im Namen der Formularzeile zeigt fälschlich [s] an, korrekt wäre hier [ms]. Die Eingabe ’30‘ wird als 30ms übernommen.

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

Energiemonitor – Auflösung S0

Wie lese ich meinen Wechselrichter per Modbus TCP aus?

Moderne Wechselrichter verfügen über eine standardisierte Modbus TCP Schnittstelle nach dem Sunspec Protokoll. In diese Kategorie fallen z.B. die Wechselrichter der Tripower oder Sunny Boy Serien von SMA oder Fronius Symo. Um z.B. die Erzeugung der PV Anlage auszulesen und für eine weitere Verwendung bei z.B. der Eigenverbrauchsberechnung zu nutzen, sind analog zum Modbus RTU die Konfigurationen auf 3 Ebenen notwendig:

  • Modbus TCP Gateway: Hier muss lediglich die IP Adresse des Gerätes angegeben werden und der Port (Standard 502)
  • Modbus Slave: Identisch mit der Konfiguration für Modbus RTU, dahinter verbergen sich zwei wesentliche Parameter:
    • Slave ID (analog zu Modbus RTU ist das die Adresse des Busteilnehmers) oder Unit ID
    • Counter Type: Verweis auf eine Datei, die die Requests entsprechend dem Zähler/Modbusgerät enthalten im json-Format (siehe weiter unten), Dateiformat _ABCD.json

Modbus Kanal: Die Messkanal-Konfiguration analog zur allgemeinen Vorgehensweise, ergänzt um die Parameter Gateway und Register, sowie ein Umrechnungsfaktor und der Datentyp

Beispiele:

GerätHerstellerTypRegisterKanaleinstellungFaktorSlave ID / Unit
WebboxSMA 30581 Zählerstand Netzbezugs-Zähler (Wh) [GdCsm-pEgyMtr] 2 U32 FIX0 RO30581305810,0013
WechselrichterSMASunny Boy 4.0 (SB4.0-1AV-40)40210 Total yield (WH), in Wh*10 (40212).402090,01126
WebboxSMASunnBoy 3000TL-2140210 Total yield (WH), in Wh*10 (40212).402090,01126
Symo 6…FroniusSymo40196401980,0011
SMA TripowerSMATripower40210 Total yield (WH), in Wh*10 (40212).402090,01126

 

Beispiel json-Datei (_Fronius_Symo.json)
{„configuration“ :
{„device“:“Fronius Symo“,
„protocol“:“modbus“,
„method“:“TCP“,
„description“:““,
„_comment“:“SunSpec_Modbus-TI-en-15.pdf“},

„requests“ :[

{„name“:“zaehler 4″, „address“:“40196″ , „count“:“20″, „channelFrom“:“1″ , „channelTo“:“1″ , „active“:“1″, „description“:“counter“,“Type“:“long“,“FunctionCode“:“3″},
{„name“:“voltage 5″, „address“:“40081″ , „count“:“20″, „channelFrom“:“1″ , „channelTo“:“1″ , „active“:“1″, „description“:“counter“,“Type“:“float“,“FunctionCode“:“3″}

]}

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. 

Wie schließe ich das Netzteil an?

Vorsicht, der Anschluß des Hutschienennetzteils darf nur durch den Elektrofachmann erfolgen!

Energiemonitor Hutschienennetzteil

  • L: 230V Phase
  • N: Nulleiter

PLUS: 

  • V+: 5V rote Ader am Mikro-USB Kabel
  • V-:  GND schwarze Ader Mikro-USB-Kabel

X-PLUS:

  • V+: 5V an einen der mit „+5V“ gekennzeichneten Pins (Ober- oder Unterseite) des Geräts
  • V-:  GND entsprechend

 

Justageschraube:

  • die Spannung ist einstellbar und durch uns auf 5.1V voreingestellt, das ist die Spannung, mit der ein sicherer und stabiler Betrieb nach Spezifikation des Mainboards gesichert ist
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;

Verbrauch für Tagesabschnitte (z.B. Nachtverbrauch für Speicherdimensionierung)

select * from channels;       
SELECT from_unixtime(timestamp/1000) timewindow_start,
         (
             case
             when TIME(from_unixtime(timestamp/1000)) BETWEEN ’00:00:00′ AND ‚06:00:00‚ THEN DATE_ADD(FLOOR(DATE(from_unixtime(timestamp/1000))), INTERVAL 6 HOUR)
             when TIME(from_unixtime(timestamp/1000)) BETWEEN ‚06:00:00‚ AND ‚22:00:00‚ THEN DATE_ADD(FLOOR(DATE(from_unixtime(timestamp/1000))), INTERVAL 22 HOUR)
             else DATE_ADD(DATE_ADD(FLOOR(DATE(from_unixtime(timestamp/1000))), INTERVAL 6 HOUR), INTERVAL 1 DAY)
         end) as timewindow_end, max(value) as Counterstate_end,min(value) as Counterstate_start, max(value)-min(value) as consumption from data where channel_id=126 group by timewindow_end  order by timestamp desc limit 10000;

Dabei liefert die erste Abfrage alle angelegten Messkanäle, mit der id aus Spalte 1 ist in der eigentlichen 2. Abfrage in der vorletzten Zeile die channel_id zu benennen.

Es gibt 4 Modifikationsparameter:

1. channel_id (schwarz) ist aus Abfrage 1 zu entnehmen

2. Startzeitpunkt 6:00Uhr muss bei Bedarf an 4 Stellen angepaßt werden (grün)

3. Endzeitpunkt 22:00Uhr muss an 2 Stellen angepaßt werden (blau)

4. limit 10000 nach Bedarf vergrößern, falls irgendwann nicht mehr der gewünschte Zeitraum geliefert wird