Konfiguration Anbindung WiM - MBSE
 

WiM -> MBSE Auto-Konfiguration

Ab der Version 1.11.10 ist es möglich, die Einrichtung der WiM für das MBSE über ein Konfigurations-File zu starten. Diese Datei soll eine Abstraktionsschicht für die interne Konfigurationslogik mit BIPs, Remote Systems, Extensions etc. darstellen. Sie enthält nur die notwendigsten Angaben, die für die Konfiguration zur Nutzung mit dem MBSE erforderlich sind. Die Date sieht folgendermaßen aus (die entsprechenden Werte für “module.url”, “module.user”, “module.password”, “client.name” und “client.url” müssen angepasst werden, die Modul-Namen müssen exakt den Werten aus der Template-Datei entsprechen):

{
    "modules": [
        {
            "name": "MBSE (NDM Adapter)",
            "url": "http://localhost/ndmAdapter",
            "user": "ndmAdapter",
            "password": "ndmAdapterpwd"
        },
        {
            "name": "MBSE (NDM)",
            "url": "http://localhost/ndm",
            "user": "ndm",
            "password": "ndmpwd"
        },
        {
            "name": "MBSE (MaToMa)",
            "url": "http://localhost/matoma",
            "user": "matoma",
            "password": "matomapwd"
        },
        {
            "name": "MBSE (WTM)",
            "url": "http://localhost/wtm",
            "user": "wtm",
            "password": "wtmpwd"
        },
        {
            "name": "MBSE (EMT/Bluebox)",
            "url": "http://localhost/myBusinessSmartEnergy",
            "user": "emt",
            "password": "emtpwd"
        }
    ],
    "clients": [
        {
            "name": "nli-upgrade-client",
            "iln": "1111111111111"
        },
        {
            "name": "wMSB",
            "iln": "9901234000005"
        }
    ],
    "startBusinessDataRequestInRollout": true,
    "globalProperties": {
        "B3P_SERVER_URI": "http://b2b:8080",
        "B3P_RELOAD_USER": "admin",
        "B3P_RELOAD_PASSW": "adminPw",
        "B2B_MESSAGE_SEARCH_URL": "http://b2b:8080/b2bbp-engine/messageSearch",
        "B2B_MESSAGE_SEARCH_USER": "admin",
        "B2B_MESSAGE_SEARCH_PASSWORD": "adminPw"
    }
}

Die Angabe von “clients” ist nur erforderlich, sofern mehrere Klienten auf einer Anwendung laufen.

Die Datei muss auf dem entsprechenden Server abgelegt werden, auf dem die Anwendung läuft. Sie muss dabei exakt folgenden Namen besitzen: wim-mbse-autoconfig.json

Außerdem muss der Pfad zu dem Ordner, in dem die Datei liegt, als Wert der Umgebungsvariable WIM_MBSE_CONFIG_PATH gesetzt werden.

Beim Start der Anwendung wird dann nach dieser Datei gesucht und, falls vorhanden, die Konfiguration entsprechend vorgenommen. Anschließend wird eine Global Property MBSE_AUTOCONFIG_DONE gesetzt. Dies verhindert, dass die Initialisierung beim nächsten Start der Anwendung erneut durchgeführt wird. Diese Art der Konfiguration sollte nur einmal angewendet werden und auch nur, wenn zuvor keine MBSE-Konfiguration eingerichtet war. Änderungen sollten anschließend über die “klassische Konfiguration” vorgenommen werden.

WiM -> MBSE “Klassische” Konfiguration

Im Folgenden sind zunächst die für die einzelnen Marktkommunikationsprozesse erforderlichen BIPs (Backend Integation Points) aufgelistet. Diese müssen unter dem Reiter “Stammdaten” -> “BackendIntegrationPoint” eingerichtet werden. Am einfachsten geht das, indem in der Dropdown-Liste oberhalb der Tabelle “Benötigt für MBSE” ausgewählt wird. Es wird dann dargstellt, welche BIPs bereits eingerichtet sind und welche nicht. Mit einem Doppelklick auf einen der Einträge wird die Eingabemaske zum Anlegen/Editieren vorbefüllt. Vereinzelt sind auch noch Global Properties oder Extensions einzurichten. Dies ist dann ebenfalls im Folgenden erwähnt.

Anschließend müssen für die eingerichteten BIPs noch RemoteSystem-Einträge angelegt werden. Diese definieren pro BIP, welcher Endpunkt von diesem aufzurufen ist. Dies geschieht ebenfalls über den Reiter “Stammdaten”, jedoch in dem Unter-Menü “RemoteSystem”. Auch hier gibt es die Funktion “Benötigt für MBSE”.

Konfiguration für Rollout (Ersteinbau mME/iMS)

Global Properties für Rollout

Falls im Rollout eine Geschäftsdatenanfrage durchgeführt werden soll um die Stammdaten im MBSE aufzubauen, muss folgende GlobalProperty eingerichtet werden:

SET_BDR_DECISION_ROLLOUT = declined

BIPs für Rollout

Übertragung der Stammdaten, inkl. der alten Gerätedaten, an das MBSE (NDM und MaToMa):

End_NLIROL020_Starte Einbau_1 (für wMSB) und/oder End_NLIROL030_Starte Einbau_1 (für gMSB)
com.nextlevel.bpm.level2.wim.smart.energy.BusinessDataRequestBIP

Anstoßen des Gerätewechels im MBSE (WTM-Modul):

End_NLIROL020_Starte Einbau_2 (für wMSB) und/oder End_NLIROL030_Starte Einbau_2 (für gMSB)
com.nextlevel.bpm.level2.wim.smart.energy.WfmTaskRequestBIP

Die Anfrage der neuen Gerätedaten aus dem MBSE, nachdem der Wechsel durchgeführt wurde:

Start_NLI020039_NDM-Anbindung
com.nextlevel.bpm.level2.wim.smart.energy.RequestMasterDataVoBIP

Überspringen des Formulars für die Antwort auf die Geschäftsdatenanfrage:

Start_NLI090030_Geschäftsdaten anzeigen
com.nextlevel.bpm.level1.wim.automation.BaseSkipFormular

Überspringen des Formulars für die Eingabe der Ausbauzählerstände:

End_NLI020032_Level2 erfolgreich (ab Version 1.10.0) bzw. Start_NLI020032_Level2 erfolgreich (bis Version 1.10.0)
com.nextlevel.bpm.level1.wim.automation.BaseSkipFormular

Optional: Unterdrückung der IFTSTA 21029 (Vorankündigung zum geplaten Rollout) an den Lieferanten:

Start_NLIROL030_LF eingeben
com.nextlevel.bpm.level1.wim.automation.BaseSkipFormular

Start_NLIROL030_Vorabinformation an LF
com.nextlevel.bpm.level1.wim.automation.BaseSkipServiceTask

Optional: Unterdrückung der IFTSTA 21029 (Vorankündigung zum geplanten Rollout) an den Netzbetreiber:

Start_NLIROL030_Vorabinformation an NB
com.nextlevel.bpm.level1.wim.automation.BaseSkipServiceTask

Konfiguration für Beginn Messstellenbetrieb (inkl. Gerätewechsel)

BIPs für Beginn Messstellenbetrieb beim MSBN

Übertragung der Stammdaten, inkl. der alten Gerätedaten, an das MBSE (NDM und MaToMa):

Start_NLI010030_Speichere Daten für den Meldepunkt
com.nextlevel.bpm.level2.wim.smart.energy.BusinessDataRequestBIP

Das Formular “Information zum Gerätewechsel” wird bei MBSE-Anbindung übersprungen, dazu muss der folgende Eintrag angelegt werden:

Start_NLI020030_Information zum Gerätewechsel_1
com.nextlevel.bpm.level1.wim.automation.BaseSkipFormular

Anstoßen des Gerätewechels im MBSE (WTM-Modul):

Start_NLI020030_Information zum Gerätewechsel_2
com.nextlevel.bpm.level2.wim.smart.energy.WfmTaskRequestBIP

Zusätzlich muss folgender BIP eingerichtet werden, um den Prozess so zu konfigurieren, dass auf eine Antwort aus dem MBSE gewartet wird:

Start_NLI020030_Information zum Gerätewechsel_3
com.nextlevel.bpm.level1.wim.automation.SetPropertyBip

Das Formular “Endablesung bei MSBN” wird bei MBSE-Anbindung ebenfalls übersprungen, dazu muss der folgende Eintrag angelegt werden:

Start_NLI020030_Endablesung bei MSBN
com.nextlevel.bpm.level1.wim.automation.BaseSkipFormular

Die Anfrage der neuen Gerätedaten aus dem MBSE, nachdem der Wechsel durchgeführt wurde:

Start_NLI020039_NDM-Anbindung
com.nextlevel.bpm.level2.wim.smart.energy.RequestMasterDataVoBIP

BIPs für Beginn Messstellenbetrieb beim MSBA

Prüfung der Messlokation aus der eingehenden Anfrage zum Gerätewechsel:

Start_NLI020020_Meldepunkt akzeptieren/ablehnen
com.nextlevel.bpm.level2.wim.malotopology.MatomaMeterpointAcceptOrRejectBIP

Marktpartner für Verteilung der Ausbauzählerstände aus dem Matoma laden:

Start_NLIMALMSB_Lade Marktpartner
com.nextlevel.bpm.level2.wim.malotopology.GetMarketPartnersBIP

Extensions für Beginn Messstellenbetrieb

Weiterhin muss unter “Stammdaten” -> “Extensions” die Extension mit dem Namen BPM_SET_PROPERTY_BIPS vorhanden sein und den folgenden Eintrag enthalten:

Start_NLI020030_Information\ zum\ Gerätewechsel=waitForResponse:true

Konfiguration für eingehende Stammdatenänderungen

Eingehende Stammdatenänderung an die MBSE-Module propagieren:

Start_NLISDA021_Änderungsmitteilung
com.nextlevel.bpm.level2.wim.smart.energy.SendMasterDataUpdateBIP

Konfiguration für eingehende Anfragen zur Stammdatenänderung

Eingehende Stammdatenänderung an die MBSE-Module propagieren:

Start_NLIASD030_Stammdaten_1
com.nextlevel.bpm.level2.wim.smart.energy.SendMasterDataUpdateBIP

Konfiguration für Versand Stammdatenänderung (Standalone)

BIPs für Versand Stammdatenänderung (Standalone)

Marktpartner für Aufbereitung und Übermittlung von Werten aus dem Matoma laden:

Start_NLIMALMSB_Lade Marktpartner
com.nextlevel.bpm.level2.wim.malotopology.GetMarketPartnersBIP

Ggf. in der WiM korrigierte Ein- und Ausbauzählerstände wieder zurück an das MBSE übermitteln:

Start_NLISDA010_Beende Prozess
com.nextlevel.bpm.level2.wim.smart.energy.SendChangedMeterReadingBIP

Konfiguration für Ende Messstellenbetrieb (Stillegung)

BIPs für Ende Messstellenbetrieb (Stillegung)

Überspringen des Formulars für die Eingabe der Ausbauzählerstände:

Start_NLI020021_Endablesung bei MSBA
com.nextlevel.bpm.level1.wim.automation.BaseSkipFormular

Marktpartner für Übermittlung von Ausbauzählerständen aus dem Matoma laden:

Start_NLIMALMSB_Lade Marktpartner
com.nextlevel.bpm.level2.wim.malotopology.GetMarketPartnersBIP

Konfiguration für Änderung Gerätekonfiguration

BIPs für Änderung Gerätekonfiguration

Anfrage für Änderung Gerätekonfiguration an MBSE übermitteln:

Start_NLICDC020_Matoma-Anbindung
com.nextlevel.bpm.level2.wim.smart.energy.DeviceConfigChangeRequestBIP

Die Anfrage der neuen Gerätedaten aus dem MBSE, nachdem die Änderung der Konfiguration durchgeführt wurde:

Start_NLICDC020_Eingabe neue Gerätedaten_1
com.nextlevel.bpm.level2.wim.smart.energy.RequestMasterDataVoBIP

Überspringen des Formulars zur manuellen Eingabe der neuen Gerätedaten:

Start_NLICDC020_Eingabe neue Gerätedaten_2
com.nextlevel.bpm.level1.wim.automation.BaseSkipFormular

Konfiguration für Anforderung Zwischenablesewerte

BIPs für Anforderung Zwischenablesewerte (Anforderung Werte vom NB/LF/ÜNB)

Anfrage für Anforderung Zwischenablesewerte an MaToMa übermitteln. MaToMa liefert eine Liste von im Zeitraum der Anfrage zugeordneten Marktpartnern für die Markt-/Messlokation. Anhand dieser Liste wird entschieden, ob der anfragende Marktpartner berechtigt ist, die Werte zu erhalten:

Start_NLIAMA020_Meldepunkt akzeptieren/ablehnen
com.nextlevel.bpm.level2.wim.malotopology.GetAuthForMeterReadingRequestBIP

Start_NLIAME020_Meldepunkt akzeptieren/ablehnen
com.nextlevel.bpm.level2.wim.malotopology.GetAuthForMeterReadingRequestBIP

Abholen der entsprechenden Messwerte aus dem MBSE:

Start_NLIUMA010_Anzeige und Aufbereitung von Werten
com.nextlevel.bpm.level2.wim.smart.energy.MeterReadingRequestBIP

Start_NLIUME010_Eingabe der Werte
com.nextlevel.bpm.level2.wim.smart.energy.MeterReadingRequestBIP

Die Global Property MBSE_ADHOC_READOUT_OBIS_CH_65 kann hierbei steuern, ob in den OBIS-Nummern der übermittelten Messwerte der Kanal standardmäßig durch 65 ausgetauscht werden soll.

Beschreibung und Konfiguration von RemoteSystem-Einträgen für die einzelnen BIPs

WfmTaskRequestBIP

  • Wird verwendet in: Rollout, Beginn Messstellenbetrieb (Gerätewechsel)
  • Beschreibung: Stößt den Einbau eines neuen Zählers im MBSE an (HTTP POST)

RemoteSystem -> Webservice:

WfmTaskRequestBIP
http://<server>:<port>/api/wfm-task/{endpoint}?client-name=<client>
Benutzer
Passwort Base64 verschlüsselt

BusinessDataRequestBIP und SendMasterDataUpdateBIP

  • Werden verwendet in: Stammdatenanfrage, Beginn Messstellenbetrieb (Gerätewechsel), Rollout (Gerätewechsel), eingehende Stammdatenänderungen
  • Sendet UTILMD/MasterdataVo an das MBSE (BusinessDataRequestBIP: HTTP POST, SendMasterDataUpdateBIP: HTTP PATCH)
  • bei Rückmeldung mit Code “200” wird das folgende Formular übersprungen. Bei Fehlercode wird es angezeigt.

RemoteSystem -> Webservice:

BusinessDataRequestBIP bzw. SendMasterDataUpdateBIP
http://<server>:<port>/malotopology/api/backend/v1/utilmd-masterdata und/oder http://<server>:<port>/v2/masterdata
Benutzer
Passwort Base64 verschlüsselt

RequestMasterDataVoBIP

  • Wird verwendet in: Stammdatenanfrage, Beginn Messstellenbetrieb (Gerätewechsel), Rollout (Gerätewechsel)
  • Anfrage eines MasterdataVo/UTILMD-Objektes mit Markt- oder Messlokations-ID und eigener ILN (HTTP GET).

RemoteSystem -> Webservice:

RequestMasterDataVoBIP
http://<server>:<port>/v2/masterdata
Benutzer
Passwort Base64 verschlüsselt

DeinstallSmartMeterRequestBIP

BackendIntegrationPoint

Start_NLI020020_Ausbau bei MSBA
com.nextlevel.bpm.level2.wim.smart.energy.DeinstallSmartMeterRequestBIP

RemoteSystem -> Webservice:

DeinstallSmartMeterRequest
http://<server>:<port>/???
Benutzer
Passwort Base64 verschlüsselt

MeterReadingRequestBIP

  • Wird verwendet in: Aufbereitung und Übermittlung von Werten vom MSB der Mess-/Marktlokation
  • Fragt Messwerte für eine Messlokations-ID und ein Ablesedatum aus dem MBSE ab (HTTP POST)
  • Asynchron, MBSE antwortet an fastlane-backend/interface/meterReadingResponse

RemoteSystem -> Webservice:

MeterReadingRequestBIP
http://<server>:<port>/myBusinessSmartEnergy/interface/<clientId>/msb/v1.0/processes/adHocReadoutForMeLo
Benutzer
Passwort Base64 verschlüsselt

GetMarketPartnersBIP

  • Wird verwendet in:
    Versand Stammdatenänderung (Turnuswechsel, zum Versand der Ein- und Ausbauzählerstände an alle berechtigten Marktpartner),
    Ende Messstellenbetrieb (bei Stilllegung, Bestimmung des Malo-MSB bzw. der berechtigten Marktpartner für den Versand der Ausbauzählerstände), Beginn Messstellenbetrieb (Gerätewechsel beim alten MSB zur Verteilung der Ausbauzählerstände an Netzbetreiber und Lieferant)
  • Holt vom Malotopology-Manager eine Liste von berechtigten Marktpartnern für einen Meldepunkt und einen Zeitpunkt.

RemoteSystem -> Webservice:

GetMarketPartnersBIP
http://<server>:<port>/malotopology/api/backend/v1/metering-point/market-partners
Benutzer
Passwort Base64 verschlüsselt

MatomaMeterpointAcceptOrRejectBIP

  • Wird verwendet in: Gerätewechsel beim alten/bisherigen Messstellenbetreiber
  • Prüft die eigene Zuordnung zur Messlokation einer angehenden Anfrage und kann so das Formular “Meldepunk akzeptieren/ablehnen” automatisieren

RemoteSystem -> Webservice:

MatomaMeterpointAcceptOrRejectBIP
http://<server>:<port>/malotopology/api/backend/v1/metering-point/market-partners
Benutzer
Passwort Base64 verschlüsselt

GetAuthForMeterReadingRequestBIP

  • Wird verwendet in: Anforderung von Zwischenablesungswerten
  • Holt vom Malotopology-Manager eine Liste von berechtigten Marktpartnern für einen Meldepunkt und einen Zeitpunkt und entscheidet damit darüber, ob die Anfrage von Werten abgelehnt oder akzeptiert wird. Außerdem wird ermittelt, ob man selbst MSB der Markt- und Messlokation ist und die Anfrage sofort bearbeiten kann oder ob diese ggf. weitergeleitet werden muss.

RemoteSystem -> Webservice:

GetAuthForMeterReadingRequestBIP
http://<server>:<port>/malotopology/api/backend/v1/metering-point/market-partners
Benutzer
Passwort Base64 verschlüsselt

DeviceConfigChangeRequestBIP

  • Wird verwendet in: Änderung Gerätekonfiguration
  • Sendet Anforderung zur Änderung der Gerätekonfiguration an das MBSE
  • Antwort erfolgt asynchron per Aufruf der WiM-Schnittstelle (siehe MBSE -> WiM)

RemoteSystem -> Webservice:

DeviceConfigChangeRequestBIP
http://<server>:<port>/malotopology/api/backend/v1/device-config
Benutzer
Passwort Base64 verschlüsselt

SendUtiltsBIP

  • Wird verwendet in: Berechnungsformel versenden
  • Routet eine UTILTS weiter in den MaloTopology-Adapter. Die Antwort der MaloTopology entscheidet darüber, ob die UTILTS automatisch akzeptiert wird (25003). Wenn nicht (Rückmeldung “bilaterale Klärung”, oder unbekannte Formel, interner Fehler), entscheidet weiterhin der Nutzer über Zustimmung oder Ablehnung.

RemoteSystem -> Webservice:

SendUtiltsBIP
http://<server>:<port>/malotopology/api/v1/utilts
Benutzer
Passwort Base64 verschlüsselt

SendChangedMeterReadingBIP

  • Wird verwendet in: Versand Stammdatenänderung (Turnuswechsel, zum Versand korrigierter Ein- und Ausbauzählerstände an das MBSE)
  • Sendet, sofern notwendig, die in der WiM korrigierten Ein- und Ausbauzählerstände an das MBSE.

RemoteSystem -> Webservice:

SendChangedMeterReadingBIP
http://<server>:<port>/api/v1/meters/{meter-number}/meter-readings?client-name=<clientId>
Benutzer
Passwort Base64 verschlüsselt

MBSE -> WiM

Alle Web-Schnittstellen der WiM sind über die Swagger-UI ersichtlich: fastlane-backend/interface/swagger-ui.html

Die von der WiM zur Verfügung gestellten Web-Schnittstellen für das MBSE sind hier noch einmal explizit beschrieben:

InstallNewSmartMeterFailed

Triggert für den Fall, dass der Einbau eines SMGW fehlgeschlagen ist, den Versand der entsprechenden Scheitermeldungen (IFTSTA-Nachrichten) und die Beendigung des Rollout-/Gerätewechselprozesses.

http://<server>:<port>/fastlane-backend/interface/installNewSmartMeterFailed

WimMasterDataUpdate

Enhält die Ein- und Ausbauzählerstände beim Einbau eines Zählers (Turnuswechsel, Gerätewechsel im Beginn MSB oder Rollout)

http://<server>:<port>/fastlane-backend/interface/startWimMasterDataUpdate

MeterReadingResponse (Aufbereitung und Übermittlung von Werten vom MSB der Messlokation)

Enthält die mit dem MeterReadingRequestBIP angefragten Messwerte

http://<server>:<port>/fastlane-backend/interface/meterReadingResponse

MeterReadingMaloResponse (Aufbereitung und Übermittlung von Werten vom MSB der Marktlokation)

Enthält die mit dem MeterReadingRequestMaloBIP angefragten Messwerte

http://<server>:<port>/fastlane-backend/interface/meterReadingMaloResponse

SendMasterData

Empfängt ein MasterDataVo/UTILMD-Objekt aus dem MBSE und startet den Versand einer Stammdatenänderung

http://<server>:<port>/fastlane-backend/interface/sendMasterdata

DeviceConfigChangeResponse

Empfängt die Antwort des MBSE auf die Anfrage zur Änderung der Gerätekonfiguration

http://<server>:<port>/fastlane-backend/interface/deviceConfigChangeResponse

ShutdownRequest

Empfängt eine Anfrage für die Stillegung einer Messlokation und startet für diese den Prozess Ende Messstellenbetrieb

http://<server>:<port>/fastlane-backend/interface/shutdownRequest

SendDefectNotification

Startet den Versand einer Störungsmeldung (INSRPT) vom MSB der Messlokation an den MSB der Marktlokation bzw.- falls man selbst MSB der Marktlokation ist - and die berechtigten Marktpartner.

http://<server>:<port>/fastlane-backend/interface/sendDefectNotification

SendDefectResultReport

Setzt einen über /sendDefectNotification gestarteten Prozess fort und sendet einen Störungsbericht nach Behebung/Klärung der Störung. Auch dieser wird vom MSB der Messlokation an den MSB der Marktlokation bzw.- falls man selbst MSB der Marktlokation ist - and die berechtigten Marktpartner versendet.

http://<server>:<port>/fastlane-backend/interface/sendDefectResultReport

DeinstallSmartMeterResponse

http://<server>:<port>/fastlane-backend/interface/deinstallSmartMeterResponse

Mapping von ILNs auf Client-IDs (WIM_NDM_CLIENTMAPPING)

Für die RemoteSystem-Einträge kann eine Ersetzung des Platzhalters {clientId} duch den für die jeweilige ILN korrekten Client-Namen konfiguriert werden. Bei jedem Aufruf wird also mit der eigenen ILN der entsprechende Name geladen und in die URL eingefügt. Dazu wird eine Extension angelegt mit dem Namen/Type WIM_NDM_CLIENTMAPPING. Diese Extension bekommt Einträge nach dem Schema:

ILN1=Client-Name1
ILN2=Client-Name2

MBSE Weiche

Die einzelnen BIPs kann man weiterhin so konfigurieren, dass diese nur ausgeführt werden, wenn die Lokation des Prozesses auch im Backend System vorhanden ist. Dazu ändert man die Bedingung des BIPs wie folgt:

com.nextlevel.bpm.level1.wim.execution.checker.CheckMeterpointInNdm("")

Hat man für diesen BIP bereits “normale” andere Bedingungen so kommen diese in die Anführungszeichen:

com.nextlevel.bpm.level1.wim.execution.checker.CheckMeterpointInNdm("ownILN != 9900000000001")

Mit dieser Bedingung wird der BIP nur ausgeführt, wenn die Lokation im Backend System vorhanden ist und die eigene ILN nicht die 9900000000001 ist.

Der Aufruf an das NDM benötigt außerdem einen Eintrag in den RemoteSystem:

CheckMeterpointInNdm
http://<server>:<port>/???
Benutzer
Passwort Base64 verschlüsselt