<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/xsl/SGr.xsl"?>
<DeviceFrame xmlns="http://www.smartgridready.com/ns/V0/"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.smartgridready.com/ns/V0/ ../../SchemaDatabase/SGr/Product/Product.xsd">
  <deviceName>Eigenverbrauchsmanager</deviceName>
  <manufacturerName>Smart Energy Engineering</manufacturerName>
  <specificationOwnerIdentification>0</specificationOwnerIdentification>
  <releaseNotes>
    <state>Published</state>
    <changeLog>
      <version>0.1.0</version>
      <date>2025-05-05</date>
      <author>David Zogg, FHNW</author>
      <comment>First Draft</comment>
    </changeLog>
    <changeLog>
      <version>1.0.0</version>
      <date>2025-06-27</date>
      <author>SGr/mkr</author>
      <comment>Published</comment>
    </changeLog>
  </releaseNotes>
  <deviceInformation>
    <legibleDescription>
      <textElement>
        <![CDATA[
          <p>
          Der Eigenverbrauchsmanager (EVM) von Smart Energy Engineering ist ein Energie-Management-System (EMS),
          welches mit verschiedensten Geräten im Gebäude kommuniziert und den Energieverbrauch so optimiert,
          dass möglichst viel selbst produzierter PV-Strom genutzt werden kann.
          </p>
          <b>Die wichtigsten Eigenschaften:</b>
          <ul>
            <li>Zentrale Steuereinheit mit Datenarchivierung und Cloud-Anbindung</li>
            <li>Auslesung geeichter Elektrozähler 3 Phasen zur Messung grosser Verbraucher</li>
            <li>Einbindung von Temperaturfühlern zur Messung der Raum- und Speichertemperaturen</li>
            <li>Einbindung von Wärmepumpen aller Hersteller, auch ältere Modelle</li>
            <li>Einbindung von Boiler und Wärmepumpen-Boiler aller Hersteller</li>
            <li>Einbindung von Elektromobil-Ladestationen</li>
            <li>Einbindung stationärer Akkusysteme aller Hersteller</li>
          </ul>
        ]]>
      </textElement>
      <language>de</language>
      <uri>https://www.smart-energy-engineering.ch</uri>
    </legibleDescription>
    <legibleDescription>
      <textElement>
        <![CDATA[
          <p>
          The self-consumption manager (EVM) from Smart Energy Engineering is an energy management system (EMS)
          that communicates with various devices in the building and optimizes energy consumption so that as much
          self-produced PV electricity as possible can be used.
          </p>
          <b>The most important features:</b>
          <ul>
            <li>Central control unit with data archiving and cloud connection</li>
            <li>Reading of calibrated electrical meters with 3 phases for measuring large consumers</li>
            <li>Integration of temperature sensors for measuring room and storage temperatures</li>
            <li>Integration of heat pumps from all manufacturers, including older models</li>
            <li>Integration of boilers and heat pump boilers from all manufacturers</li>
            <li>Integration of electric vehicle charging stations</li>
            <li>Integration of stationary battery systems from all manufacturers</li>
          </ul>
        ]]>
      </textElement>
      <language>en</language>
      <uri>https://www.smart-energy-engineering.ch</uri>
    </legibleDescription>
    <deviceCategory>SubMeterElectricity</deviceCategory>
    <isLocalControl>true</isLocalControl>
    <softwareRevision>8.0.0</softwareRevision>
    <hardwareRevision>1.0.0</hardwareRevision>
    <manufacturerSpecificationIdentification>SEE</manufacturerSpecificationIdentification>
    <levelOfOperation>m</levelOfOperation>
    <versionNumber>
      <primaryVersionNumber>1</primaryVersionNumber>
      <secondaryVersionNumber>0</secondaryVersionNumber>
      <subReleaseVersionNumber>0</subReleaseVersionNumber>
    </versionNumber>
    <testState>Verified</testState>
  </deviceInformation>
  <configurationList>
    <configurationListElement>
      <name>base_uri</name>
      <dataType>
        <string />
      </dataType>
      <defaultValue>http://192.168.0.192:8002</defaultValue>
      <configurationDescription>
        <textElement>Base address for accessing the resource.</textElement>
        <language>en</language>
        <label>Base URI</label>
      </configurationDescription>
      <configurationDescription>
        <textElement>Basis-Adresse für Zugriffe auf die Ressource.</textElement>
        <language>de</language>
        <label>Basis URI</label>
      </configurationDescription>
    </configurationListElement>
  </configurationList>
  <interfaceList>
    <restApiInterface>
      <restApiInterfaceDescription>
        <restApiInterfaceSelection>URI</restApiInterfaceSelection>
        <restApiUri>{{base_uri}}</restApiUri>
        <restApiAuthenticationMethod>NoSecurityScheme</restApiAuthenticationMethod>
      </restApiInterfaceDescription>
      <functionalProfileList>
        <functionalProfileListElement>
          <functionalProfile>
            <functionalProfileName>ActivePowerAC_Consumption</functionalProfileName>
            <functionalProfileIdentification>
              <specificationOwnerIdentification>0</specificationOwnerIdentification>
              <functionalProfileCategory>Metering</functionalProfileCategory>
              <functionalProfileType>ActivePowerAC</functionalProfileType>
              <levelOfOperation>m</levelOfOperation>
              <versionNumber>
                <primaryVersionNumber>1</primaryVersionNumber>
                <secondaryVersionNumber>1</secondaryVersionNumber>
                <subReleaseVersionNumber>0</subReleaseVersionNumber>
              </versionNumber>
            </functionalProfileIdentification>
            <legibleDescription>
              <textElement>
                <![CDATA[
                  <img src="ressources/fp_product_to_ems.svg" style="float:left; padding:0.3em;"/>
                  <strong>Messung der Wirkleistung</strong><br>
                  Monitoring-Funktionsprofil für Stromerzeuger und Stromverbraucher zur Messung der Wirkleistung.

                  <p>Dieses Funktionsprofil erlaubt sowohl die Messung der Totalleistung wie auch die Leistung der drei
                    einzelnen Phasen. Eine der folgenden Varianten muss bei der Implementierung des Funktionsprofiles
                    umgesetzt werden:
                  <ul>
                    <li>Einphasige Geräte geben die Totalleistung an (ActivePowerACtot)</li>
                    <li>3-phasige Geräte ohne Totalleistungsmessung geben die Leistung pro Phase an (ActivePowerACL1, ActivePowerACL2, ActivePowerACL3)</li>
                    <li>3-phasige Geräte mit Einzelphasen- und Totalleistungsmessung geben alle Datenpunkte an</li>
                  </ul>
                  </p>

                  <p>Das generische Attribut <i>MeteringDirection</i> gibt die Messrichtung an:
                  <ul>
                    <li><i>Net</i> ist ein bilanzierter Wert (Standard), positiv (Bezug) oder negativ (Einspeisung)</li>
                    <li><i>Import</i> ist der Bezug vom Verteilnetz, positiv</li>
                    <li><i>Export</i> ist die Einspeisung ins Verteilnetz, positiv</li>
                  </ul>
                  </p>

                  <p>Das generische Attribut <i>MeteringTariffNr</i> gibt die Nummer des Tarifregisters an.
                  Der Wert 0 bedeutet tariflos bzw. gesamt, ein positiver Wert ist ein spezifisches Tarifregister.
                  </p>
                ]]>
              </textElement>
              <language>de</language>
            </legibleDescription>
            <legibleDescription>
              <textElement>
                <![CDATA[
                  <img src="ressources/fp_product_to_ems.svg" style="float:left; padding:0.3em;"/>
                  <strong>Active Power Measurement</strong><br>
                  Monitoring functional profile for power generators and consumers for measuring the active power.

                  <p>With this functional profile you can measure the total active power as well as the active power of
                    the three individual phases. One of the following options must be implemented for fulfilling the functional profile:
                  <ul>
                    <li>Single-phase devices use the total active power data point (ActivePowerACtot)</li>
                    <li>Three-phase devices without measurement of the total active power use the data points per phase (ActivePowerACL1, ActivePowerACL2, ActivePowerACL3)</li>
                    <li>Three-phase devices with measurement of the total active power use all data points</li>
                  </ul>
                  </p>

                  <p>The generic attribute <i>MeteringDirection</i> defines the direction of measurement:
                  <ul>
                    <li><i>Net</i> is a net value (default), positive (import) or negative (export)</li>
                    <li><i>Import</i> is the import from grid, a positive value</li>
                    <li><i>Export</i> is the export to grid, a positive value</li>
                  </ul>
                  </p>

                  <p>The generic attribute <i>MeteringTariffNr</i> defines the tariff register number.
                  A value of 0 means tariff-less or total, a positive number a specific tariff register.
                  </p>
                ]]>
              </textElement>
              <language>en</language>
            </legibleDescription>
          </functionalProfile>
          <genericAttributeList>
            <genericAttributeListElement>
              <name>MeteringDirection</name>
              <dataType>
                <enum>
                  <enumEntry>
                    <literal>Net</literal>
                    <description>Net or balance value</description>
                  </enumEntry>
                  <enumEntry>
                    <literal>Import</literal>
                    <description>Import from grid</description>
                  </enumEntry>
                  <enumEntry>
                    <literal>Export</literal>
                    <description>Export to grid</description>
                  </enumEntry>
                </enum>
              </dataType>
              <value>Import</value>
              <unit>NONE</unit>
            </genericAttributeListElement>
            <genericAttributeListElement>
              <name>MeteringTariffNr</name>
              <dataType>
                <int32 />
              </dataType>
              <value>0</value>
              <unit>NONE</unit>
            </genericAttributeListElement>
          </genericAttributeList>
          <dataPointList>
            <dataPointListElement>
              <dataPoint>
                <dataPointName>ActivePowerACtot</dataPointName>
                <dataDirection>R</dataDirection>
                <dataType>
                  <float64 />
                </dataType>
                <unit>KILOWATTS</unit>
                <legibleDescription>
                  <textElement>Erfassung der gesamten Wirkleistung</textElement>
                  <language>de</language>
                </legibleDescription>
                <legibleDescription>
                  <textElement>Total active power measurement</textElement>
                  <language>en</language>
                </legibleDescription>
              </dataPoint>
              <restApiDataPointConfiguration>
                <dataType>JSON_number</dataType>
                <restApiReadServiceCall>
                  <requestHeader>
                    <header>
                      <headerName>Accept</headerName>
                      <value>application/json</value>
                    </header>
                  </requestHeader>
                  <requestMethod>GET</requestMethod>
                  <requestPath>/EM/EvMCom/getDataVirtualSum</requestPath>
                  <requestQuery>
                    <parameter>
                      <name>VirtualSum</name>
                      <value>verbrauchtot</value>
                    </parameter>
                  </requestQuery>
                  <responseQuery>
                    <queryType>JMESPathExpression</queryType>
                    <query>[0].dataTimeArray[0].dataArray[?discription=='power' &amp;&amp; unit=='kW'].val | `0`</query>
                  </responseQuery>
                </restApiReadServiceCall>
              </restApiDataPointConfiguration>
            </dataPointListElement>
          </dataPointList>
        </functionalProfileListElement>
        <functionalProfileListElement>
          <functionalProfile>
            <functionalProfileName>ActivePowerAC_Production</functionalProfileName>
            <functionalProfileIdentification>
              <specificationOwnerIdentification>0</specificationOwnerIdentification>
              <functionalProfileCategory>Metering</functionalProfileCategory>
              <functionalProfileType>ActivePowerAC</functionalProfileType>
              <levelOfOperation>m</levelOfOperation>
              <versionNumber>
                <primaryVersionNumber>1</primaryVersionNumber>
                <secondaryVersionNumber>1</secondaryVersionNumber>
                <subReleaseVersionNumber>0</subReleaseVersionNumber>
              </versionNumber>
            </functionalProfileIdentification>
            <legibleDescription>
              <textElement>
                <![CDATA[
                  <img src="ressources/fp_product_to_ems.svg" style="float:left; padding:0.3em;"/>
                  <strong>Messung der Wirkleistung</strong><br>
                  Monitoring-Funktionsprofil für Stromerzeuger und Stromverbraucher zur Messung der Wirkleistung.

                  <p>Dieses Funktionsprofil erlaubt sowohl die Messung der Totalleistung wie auch die Leistung der drei
                    einzelnen Phasen. Eine der folgenden Varianten muss bei der Implementierung des Funktionsprofiles
                    umgesetzt werden:
                  <ul>
                    <li>Einphasige Geräte geben die Totalleistung an (ActivePowerACtot)</li>
                    <li>3-phasige Geräte ohne Totalleistungsmessung geben die Leistung pro Phase an (ActivePowerACL1, ActivePowerACL2, ActivePowerACL3)</li>
                    <li>3-phasige Geräte mit Einzelphasen- und Totalleistungsmessung geben alle Datenpunkte an</li>
                  </ul>
                  </p>

                  <p>Das generische Attribut <i>MeteringDirection</i> gibt die Messrichtung an:
                  <ul>
                    <li><i>Net</i> ist ein bilanzierter Wert (Standard), positiv (Bezug) oder negativ (Einspeisung)</li>
                    <li><i>Import</i> ist der Bezug vom Verteilnetz, positiv</li>
                    <li><i>Export</i> ist die Einspeisung ins Verteilnetz, positiv</li>
                  </ul>
                  </p>

                  <p>Das generische Attribut <i>MeteringTariffNr</i> gibt die Nummer des Tarifregisters an.
                  Der Wert 0 bedeutet tariflos bzw. gesamt, ein positiver Wert ist ein spezifisches Tarifregister.
                  </p>
                ]]>
              </textElement>
              <language>de</language>
            </legibleDescription>
            <legibleDescription>
              <textElement>
                <![CDATA[
                  <img src="ressources/fp_product_to_ems.svg" style="float:left; padding:0.3em;"/>
                  <strong>Active Power Measurement</strong><br>
                  Monitoring functional profile for power generators and consumers for measuring the active power.

                  <p>With this functional profile you can measure the total active power as well as the active power of
                    the three individual phases. One of the following options must be implemented for fulfilling the functional profile:
                  <ul>
                    <li>Single-phase devices use the total active power data point (ActivePowerACtot)</li>
                    <li>Three-phase devices without measurement of the total active power use the data points per phase (ActivePowerACL1, ActivePowerACL2, ActivePowerACL3)</li>
                    <li>Three-phase devices with measurement of the total active power use all data points</li>
                  </ul>
                  </p>

                  <p>The generic attribute <i>MeteringDirection</i> defines the direction of measurement:
                  <ul>
                    <li><i>Net</i> is a net value (default), positive (import) or negative (export)</li>
                    <li><i>Import</i> is the import from grid, a positive value</li>
                    <li><i>Export</i> is the export to grid, a positive value</li>
                  </ul>
                  </p>

                  <p>The generic attribute <i>MeteringTariffNr</i> defines the tariff register number.
                  A value of 0 means tariff-less or total, a positive number a specific tariff register.
                  </p>
                ]]>
              </textElement>
              <language>en</language>
            </legibleDescription>
          </functionalProfile>
          <genericAttributeList>
            <genericAttributeListElement>
              <name>MeteringDirection</name>
              <dataType>
                <enum>
                  <enumEntry>
                    <literal>Net</literal>
                    <description>Net or balance value</description>
                  </enumEntry>
                  <enumEntry>
                    <literal>Import</literal>
                    <description>Import from grid</description>
                  </enumEntry>
                  <enumEntry>
                    <literal>Export</literal>
                    <description>Export to grid</description>
                  </enumEntry>
                </enum>
              </dataType>
              <value>Export</value>
              <unit>NONE</unit>
            </genericAttributeListElement>
            <genericAttributeListElement>
              <name>MeteringTariffNr</name>
              <dataType>
                <int32 />
              </dataType>
              <value>0</value>
              <unit>NONE</unit>
            </genericAttributeListElement>
          </genericAttributeList>
          <dataPointList>
            <dataPointListElement>
              <dataPoint>
                <dataPointName>ActivePowerACtot</dataPointName>
                <dataDirection>R</dataDirection>
                <dataType>
                  <float64 />
                </dataType>
                <unit>KILOWATTS</unit>
                <legibleDescription>
                  <textElement>Erfassung der gesamten Wirkleistung</textElement>
                  <language>de</language>
                </legibleDescription>
                <legibleDescription>
                  <textElement>Total active power measurement</textElement>
                  <language>en</language>
                </legibleDescription>
              </dataPoint>
              <restApiDataPointConfiguration>
                <dataType>JSON_number</dataType>
                <restApiReadServiceCall>
                  <requestHeader>
                    <header>
                      <headerName>Accept</headerName>
                      <value>application/json</value>
                    </header>
                  </requestHeader>
                  <requestMethod>GET</requestMethod>
                  <requestPath>/EM/EvMCom/getDataVirtualSum</requestPath>
                  <requestQuery>
                    <parameter>
                      <name>VirtualSum</name>
                      <value>produktiontot</value>
                    </parameter>
                  </requestQuery>
                  <responseQuery>
                    <queryType>JMESPathExpression</queryType>
                    <query>[0].dataTimeArray[0].dataArray[?discription=='power' &amp;&amp; unit=='kW'].val | `0`</query>
                  </responseQuery>
                </restApiReadServiceCall>
              </restApiDataPointConfiguration>
            </dataPointListElement>
          </dataPointList>
        </functionalProfileListElement>
        <functionalProfileListElement>
          <functionalProfile>
            <functionalProfileName>ActiveEnergyAC_Consumption</functionalProfileName>
            <functionalProfileIdentification>
              <specificationOwnerIdentification>0</specificationOwnerIdentification>
              <functionalProfileCategory>Metering</functionalProfileCategory>
              <functionalProfileType>ActiveEnergyAC</functionalProfileType>
              <levelOfOperation>m</levelOfOperation>
              <versionNumber>
                <primaryVersionNumber>1</primaryVersionNumber>
                <secondaryVersionNumber>1</secondaryVersionNumber>
                <subReleaseVersionNumber>0</subReleaseVersionNumber>
              </versionNumber>
            </functionalProfileIdentification>
            <legibleDescription>
              <textElement>
                <![CDATA[
                  <img src="ressources/fp_product_to_ems.svg" style="float:left; padding:0.3em;"/>
                  <strong>Energy measurement</strong><br>
                  Monitoring functional profile for power generators and consumers for measuring the active energy.

                  <p>Data is typically recorded by an energy manager (or a billing software).</p>

                  <p>With this functional profile you can measure the total energy as well as the energy of the three
                    individual phases. One of the following options must be implemented for fulfilling the functional profile:
                  <ul>
                    <li>Single-phase devices use the total energy data point (ActiveEnergyACtot)</li>
                    <li>Three-phase devices without measurement of the total energy use the data points per (ActiveEnergyACL1, ActiveEnergyACL2, ActiveEnergyACL3)</li>
                    <li>Three-phase devices with measurement of the total energy all data points</li>
                  </ul>
                  </p>

                  <p>The generic attribute <i>MeteringDirection</i> defines the direction of measurement:
                  <ul>
                    <li><i>Net</i> is a net value (default), positive (import) or negative (export)</li>
                    <li><i>Import</i> is the import from grid, a positive value</li>
                    <li><i>Export</i> is the export to grid, a positive value</li>
                  </ul>
                  </p>

                  <p>The generic attribute <i>MeteringTariffNr</i> defines the tariff register number.
                  A value of 0 means tariff-less or total, a positive number a specific tariff register.
                  </p>
                ]]>
              </textElement>
              <language>en</language>
            </legibleDescription>
            <legibleDescription>
              <textElement>
                <![CDATA[
                  <img src="ressources/fp_product_to_ems.svg" style="float:left; padding:0.3em;"/>
                  <strong>Messung der Wirkenergie</strong><br>
                  Monitoring-Funktionsprofil für Stromerzeuger und Stromverbraucher zur Messung der Wirkenergie.

                  <p>Die Datenaufnahme erfolgt typischerweise durch einen Energiemanager (oder eine Abrechnungssoftware).</p>

                  <p>Dieses Funktionsprofil erlaubt sowohl die Messung der Gesamtenergie wie auch die Messung der Energie
                    der drei einzelnen Phasen. Eine der folgenden Varianten muss bei der Implementierung des Funktionsprofiles
                    umgesetzt werden:
                  <ul>
                    <li>1-phasige Geräte geben die Gesamtenergie an (ActiveEnergyACtot)</li>
                    <li>3-phasige Geräte ohne Gesamtenergiemessung geben die Energiemenge pro Phase an (ActiveEnergyACL1, ActiveEnergyACL2, ActiveEnergyACL3)</li>
                    <li>3-phasige Geräte mit Einzelphasen- und Gesamtenergiemessung geben alle Datenpunkte an</li>
                  </ul>
                  </p>

                  <p>Das generische Attribut <i>MeteringDirection</i> gibt die Messrichtung an:
                  <ul>
                    <li><i>Net</i> ist ein bilanzierter Wert (Standard), positiv (Bezug) oder negativ (Einspeisung)</li>
                    <li><i>Import</i> ist der Bezug vom Verteilnetz, positiv</li>
                    <li><i>Export</i> ist die Einspeisung ins Verteilnetz, positiv</li>
                  </ul>
                  </p>

                  <p>Das generische Attribut <i>MeteringTariffNr</i> gibt die Nummer des Tarifregisters an.
                  Der Wert 0 bedeutet tariflos bzw. gesamt, ein positiver Wert ist ein spezifisches Tarifregister.
                  </p>
                ]]>
              </textElement>
              <language>de</language>
            </legibleDescription>
          </functionalProfile>
          <genericAttributeList>
            <genericAttributeListElement>
              <name>MeteringDirection</name>
              <dataType>
                <enum>
                  <enumEntry>
                    <literal>Net</literal>
                    <description>Net or balance value</description>
                  </enumEntry>
                  <enumEntry>
                    <literal>Import</literal>
                    <description>Import from grid</description>
                  </enumEntry>
                  <enumEntry>
                    <literal>Export</literal>
                    <description>Export to grid</description>
                  </enumEntry>
                </enum>
              </dataType>
              <value>Import</value>
              <unit>NONE</unit>
            </genericAttributeListElement>
            <genericAttributeListElement>
              <name>MeteringTariffNr</name>
              <dataType>
                <int32 />
              </dataType>
              <value>0</value>
              <unit>NONE</unit>
            </genericAttributeListElement>
          </genericAttributeList>
          <dataPointList>
            <dataPointListElement>
              <dataPoint>
                <dataPointName>ActiveEnergyACtot</dataPointName>
                <dataDirection>R</dataDirection>
                <dataType>
                  <float64 />
                </dataType>
                <unit>KILOWATT_HOURS</unit>
                <minimumValue>0</minimumValue>
                <legibleDescription>
                  <textElement>Total energy measurement</textElement>
                  <language>en</language>
                </legibleDescription>
                <legibleDescription>
                  <textElement>Erfassung der gesamten Wirkenergie</textElement>
                  <language>de</language>
                </legibleDescription>
              </dataPoint>
              <restApiDataPointConfiguration>
                <dataType>JSON_number</dataType>
                <restApiReadServiceCall>
                  <requestHeader>
                    <header>
                      <headerName>Accept</headerName>
                      <value>application/json</value>
                    </header>
                  </requestHeader>
                  <requestMethod>GET</requestMethod>
                  <requestPath>/EM/EvMCom/getDataVirtualSum</requestPath>
                  <requestQuery>
                    <parameter>
                      <name>VirtualSum</name>
                      <value>verbrauchtot</value>
                    </parameter>
                  </requestQuery>
                  <responseQuery>
                    <queryType>JMESPathExpression</queryType>
                    <query>[0].dataTimeArray[0].dataArray[?discription=='energy' &amp;&amp; unit=='kWh'].val | `0`</query>
                  </responseQuery>
                </restApiReadServiceCall>
              </restApiDataPointConfiguration>
            </dataPointListElement>
          </dataPointList>
        </functionalProfileListElement>
        <functionalProfileListElement>
          <functionalProfile>
            <functionalProfileName>ActiveEnergyAC_Production</functionalProfileName>
            <functionalProfileIdentification>
              <specificationOwnerIdentification>0</specificationOwnerIdentification>
              <functionalProfileCategory>Metering</functionalProfileCategory>
              <functionalProfileType>ActiveEnergyAC</functionalProfileType>
              <levelOfOperation>m</levelOfOperation>
              <versionNumber>
                <primaryVersionNumber>1</primaryVersionNumber>
                <secondaryVersionNumber>1</secondaryVersionNumber>
                <subReleaseVersionNumber>0</subReleaseVersionNumber>
              </versionNumber>
            </functionalProfileIdentification>
            <legibleDescription>
              <textElement>
                <![CDATA[
                  <img src="ressources/fp_product_to_ems.svg" style="float:left; padding:0.3em;"/>
                  <strong>Energy measurement</strong><br>
                  Monitoring functional profile for power generators and consumers for measuring the active energy.

                  <p>Data is typically recorded by an energy manager (or a billing software).</p>

                  <p>With this functional profile you can measure the total energy as well as the energy of the three
                    individual phases. One of the following options must be implemented for fulfilling the functional profile:
                  <ul>
                    <li>Single-phase devices use the total energy data point (ActiveEnergyACtot)</li>
                    <li>Three-phase devices without measurement of the total energy use the data points per (ActiveEnergyACL1, ActiveEnergyACL2, ActiveEnergyACL3)</li>
                    <li>Three-phase devices with measurement of the total energy all data points</li>
                  </ul>
                  </p>

                  <p>The generic attribute <i>MeteringDirection</i> defines the direction of measurement:
                  <ul>
                    <li><i>Net</i> is a net value (default), positive (import) or negative (export)</li>
                    <li><i>Import</i> is the import from grid, a positive value</li>
                    <li><i>Export</i> is the export to grid, a positive value</li>
                  </ul>
                  </p>

                  <p>The generic attribute <i>MeteringTariffNr</i> defines the tariff register number.
                  A value of 0 means tariff-less or total, a positive number a specific tariff register.
                  </p>
                ]]>
              </textElement>
              <language>en</language>
            </legibleDescription>
            <legibleDescription>
              <textElement>
                <![CDATA[
                  <img src="ressources/fp_product_to_ems.svg" style="float:left; padding:0.3em;"/>
                  <strong>Messung der Wirkenergie</strong><br>
                  Monitoring-Funktionsprofil für Stromerzeuger und Stromverbraucher zur Messung der Wirkenergie.

                  <p>Die Datenaufnahme erfolgt typischerweise durch einen Energiemanager (oder eine Abrechnungssoftware).</p>

                  <p>Dieses Funktionsprofil erlaubt sowohl die Messung der Gesamtenergie wie auch die Messung der Energie
                    der drei einzelnen Phasen. Eine der folgenden Varianten muss bei der Implementierung des Funktionsprofiles
                    umgesetzt werden:
                  <ul>
                    <li>1-phasige Geräte geben die Gesamtenergie an (ActiveEnergyACtot)</li>
                    <li>3-phasige Geräte ohne Gesamtenergiemessung geben die Energiemenge pro Phase an (ActiveEnergyACL1, ActiveEnergyACL2, ActiveEnergyACL3)</li>
                    <li>3-phasige Geräte mit Einzelphasen- und Gesamtenergiemessung geben alle Datenpunkte an</li>
                  </ul>
                  </p>

                  <p>Das generische Attribut <i>MeteringDirection</i> gibt die Messrichtung an:
                  <ul>
                    <li><i>Net</i> ist ein bilanzierter Wert (Standard), positiv (Bezug) oder negativ (Einspeisung)</li>
                    <li><i>Import</i> ist der Bezug vom Verteilnetz, positiv</li>
                    <li><i>Export</i> ist die Einspeisung ins Verteilnetz, positiv</li>
                  </ul>
                  </p>

                  <p>Das generische Attribut <i>MeteringTariffNr</i> gibt die Nummer des Tarifregisters an.
                  Der Wert 0 bedeutet tariflos bzw. gesamt, ein positiver Wert ist ein spezifisches Tarifregister.
                  </p>
                ]]>
              </textElement>
              <language>de</language>
            </legibleDescription>
          </functionalProfile>
          <genericAttributeList>
            <genericAttributeListElement>
              <name>MeteringDirection</name>
              <dataType>
                <enum>
                  <enumEntry>
                    <literal>Net</literal>
                    <description>Net or balance value</description>
                  </enumEntry>
                  <enumEntry>
                    <literal>Import</literal>
                    <description>Import from grid</description>
                  </enumEntry>
                  <enumEntry>
                    <literal>Export</literal>
                    <description>Export to grid</description>
                  </enumEntry>
                </enum>
              </dataType>
              <value>Import</value>
              <unit>NONE</unit>
            </genericAttributeListElement>
            <genericAttributeListElement>
              <name>MeteringTariffNr</name>
              <dataType>
                <int32 />
              </dataType>
              <value>0</value>
              <unit>NONE</unit>
            </genericAttributeListElement>
          </genericAttributeList>
          <dataPointList>
            <dataPointListElement>
              <dataPoint>
                <dataPointName>ActiveEnergyACtot</dataPointName>
                <dataDirection>R</dataDirection>
                <dataType>
                  <float64 />
                </dataType>
                <unit>KILOWATT_HOURS</unit>
                <minimumValue>0</minimumValue>
                <legibleDescription>
                  <textElement>Total energy measurement</textElement>
                  <language>en</language>
                </legibleDescription>
                <legibleDescription>
                  <textElement>Erfassung der gesamten Wirkenergie</textElement>
                  <language>de</language>
                </legibleDescription>
              </dataPoint>
              <restApiDataPointConfiguration>
                <dataType>JSON_number</dataType>
                <restApiReadServiceCall>
                  <requestHeader>
                    <header>
                      <headerName>Accept</headerName>
                      <value>application/json</value>
                    </header>
                  </requestHeader>
                  <requestMethod>GET</requestMethod>
                  <requestPath>/EM/EvMCom/getDataVirtualSum</requestPath>
                  <requestQuery>
                    <parameter>
                      <name>VirtualSum</name>
                      <value>produktiontot</value>
                    </parameter>
                  </requestQuery>
                  <responseQuery>
                    <queryType>JMESPathExpression</queryType>
                    <query>[0].dataTimeArray[0].dataArray[?discription=='energy' &amp;&amp; unit=='kWh'].val | `0`</query>
                  </responseQuery>
                </restApiReadServiceCall>
              </restApiDataPointConfiguration>
            </dataPointListElement>
          </dataPointList>
        </functionalProfileListElement>
      </functionalProfileList>
    </restApiInterface>
  </interfaceList>
</DeviceFrame>