Im Unterverzeichnis „ExtremeValues“ im Datenverzeichnis des eBus-Master-Dienstes (Standard: „D:\KBR\Data\Kbr.EbusMaster.CommunicationService\2.0.0.0“) liegt die Konfigurationsdatei ExtremeValueIndex.xml. Diese dient zur Definition der auszulesenden Extremwerte.
<?xml version="1.0" encoding="utf-8" ?>
<extremevalues version="4.5.3000">
<deviceclass classguid="c84e4b3d-ef55-4cda-ae2c-83fbb3fce59f" name="multimess 3F144-1-LED">
<version value="4.5.3" firstversion="0.0.0" lastversion="0.0.0" >mmess_3_4_base.xml</version>
</deviceclass>
</extremevalues>
Pro Gerätetyp muss ein <deviceclass>-Knoten existieren.Dieser muss mindestens das Attribut „classguid“ besitzen, in dem die eindeutige - im eBus-Master definierte - Geräteklassen-Guid angegeben wird. Diese Kombination darf nur einmal innerhalb des Wurzelknotens <extremevalues> vorkommen.
Die Geräteklassen-Guid wird immer in den Geräteeigenschaften angezeigt:
Da es aus Versionsgründen zu Änderungen bezgl. der Extremwert-Datenpunkte kommen kann, folgt noch ein <version>-Knoten. Dieser beinhaltet 3 Attribute:
- value = Die Versionsbezeichnung
- firstversion = Geräte-Firmwareversion, ab der die Einstellung gilt
- lastversion = Geräte- Firmwareversion, bis zu der die Einstellung gilt
Die Versionsangabe von „0.0.0“ steht für „undefiniert“, d.h. keine Einschränkung auf der jeweiligen Seite (first/lastversion).
Im <version>-Knotenwert steht dann letztendlich ein XML-Dateiname, in dem die Extremwerte dieser Geräteversion definiert sind.
Die entsprechende Datei muss sich im gleichen Verzeichnis befinden und hat den folgenden Aufbau:
<?xml version="1.0" encoding="utf-8" ?>
<deviceclass>
<extremevalue id="UPhN.Max.L1" default="true" obiscode="1-0:32.6.0*0" name="U PH-N L1 MAX" value="ExtremeValues.UPhN.Max.L1.Value" timestamp="ExtremeValues.UPhN.Max.L1.TimeStamp" reset="ExtremeValues.UPhN.Max.L1.Reset">
</extremevalue>
...
<extremevaluegroup default="false" reset="ExtremeValues.Thd.U.ResetAllMax" name="U Thd" id="U.Thd">
...
<extremevalue id="Thd.U.Thd.Max.L1" obiscode="1-0:32.6.124*0" name="Thd U L1 MAX" value="ExtremeValues.Thd.U.Thd.Max.L1.Value" timestamp="ExtremeValues.Thd.U.Thd.Max.L1.TimeStamp">
</extremevalue>
<extremevalue id="Thd.U.Thd.Max.L2" obiscode="1-0:52.6.124*0" name="Thd U L2 MAX" value="ExtremeValues.Thd.U.Thd.Max.L2.Value" timestamp="ExtremeValues.Thd.U.Thd.Max.L2.TimeStamp">
</extremevalue>
</extremevaluegroup>
</deviceclass>
Die XML beginnt mit dem Wurzelknoten <deviceclass> Dieser kann zwei Unterknotentypen besitzen: <extremevalue> und <extremevaluegroup>
- <extremevalue> definiert einen einzelnen Extremwert, mit folgenden Attributen: • id : ItemID-Bezeichnung des Extremwert-Datenpunktes • obiscode: Obis-Kennzahl des Extremwertes • name: Lesbare Bezeichnung des Extremwertes • value: ItemID des Datenpunktes, der den Extremwert besitzt • timestamp: ItemID des Datenpunktes, der den Zeitstempel des Extremwertes besitzt • reset: ItemID des Datenpunktes, der den Rücksetzbefehl des Extremwertes besitzt.
- <extremevaluegroup> definiert eine Gruppe von Extremwerten, die einen gemeinsamen Reset-Befehl besitzen. Darunter sind wieder die entsprechenden <extremevalue>-Knoten. Das reset-Attribut sitzt allerdings im Gruppenknoten.
Für bestimmte Einzelgeräte können auch spezielle Extremwerteinstellungen vorgenommen werden. Hierzu muss in der 'ExtremeValueIndex.xml' pro Gerät ein <device> Knoten existieren mit Angabe des Attributes „id“, dem die eindeutige Geräte-Guid zugeordnet wird. Der Knotenwert besitzt wieder den Namen der XML-Datei, in dem die Einstellungen stehen - wie oben beschrieben.