Nutzt du bereits Gen-AI Anwendung wie Anthropic Claude? Dann könnte der EMS-ESP MCP-Server für dich interessant sein. Der MCP-Server ermöglicht dem Large-Language-Model (LLM) auf eure Wärmepumpe zuzugreifen, um Fragen wie diese zu beantworten:

  • Wie warm ist unser Brauchwasser gerade?
  • Wie effizient wird Brauchwasser erzeugt?
  • Wie viel Leistung bezieht meine Wärmepumpe im Moment?

Neben diesen einfachen Abfragen von Entitäten, können auch komplexere Anfragen wie:

  • Zeige mir alle Warmwassereinstellungen (Start, Stop & Ladedelta) für die verschiedenen Betriebsmodi (Komfort, Eco, Eco+, Einmalladung & Desinfektion) als Tabelle!
  • Stelle die Heizkurve in einem Diagramm dar …

Heizkurve mit Claude Desktop visualisieren

Um euch die Schreibarbeit zu verkürzen, sind die letzten beiden Anfragen bereits als Prompts hinterlegt. In Claude Desktop findet ihr hinterlegte Prompts durch Drücken auf das +.

Installation

Die einfachste Installation bietet Claude Desktop - auch in der kostenlosen Version. Dazu ladet ihr euch diese DXT Desktop Extension herunter. Dann öffnet ihr in Claude Desktop die Einstellungen, klickt auf Extensions und zieht die heruntergeladene DXT-Datei in das Fenster. Dann auf Install klicken und in der Konfiguration die URL, unter der euer EMS-ESP Gateway im lokalen Netzwerk erreichbar ist, eintragen. Und schon kann’s losgehen!

In vielen anderen Gen-AI Anwendungen, wie z.B. Github Copilot, müsst ihr folgende Konfiguration in den Einstellungen hinzufügen:

"emsesp": {
  "type": "stdio",
  "command": "npx",
  "args": [
    "-y",
    "github:bosch-buderus-wp/emsesp-mcp-server"
  ],
  "env": {
    "EMS_ESP_URL": "http://ems-esp.local"
  }
}

Technische Details

Was ist ein MCP-Server?

MCP steht für das Model-Context-Protocol und wurde von Anthropic im November 2024 veröffentlicht, um Large-Language Models (LLMs) mit Kontextinformationen anreichern zu können. In diesem Fall sind der Kontext die Entitäten der Wärmepumpe. Auf die Anfrage wie “Wie warm ist das Brauchwasser gerade” ruft das LLM die Entität hptw1 ab und erstellt eine entsprechende Antwort in Textform. Das LLM kann aber nicht nur triviale Anfragen wie diese beantworten. Auf die Anfrage “Wie effizient wird Brauchwasser erzeugt?” dividiert das LLM die Entität dhw.nrg durch dhw.meter und liefert somit den COP/AZ zurück.

Kann das LLM ohne mein Zutun auf meine Wärmepumpe zugreifen und welche Daten werden dem LLM zur Verfügung gestellt?

Wenn das LLM auf eure Wärmepumpe via EMS-ESP zugreifen möchte, erscheint in der Gen-AI Anwendung eine Erlaubnisanfrage. Ihr könnt dann selbst entscheiden, ob ihr die Anfrage einmalig oder für immer erlauben wollt. Ich empfehle euch zumindest Steuerungszugriffe nicht dauerhaft zu erlauben.

Nur wenn ihr die Erlaubnisanfrage bestätigt, werden Daten an das LLM des Anbieters übertragen. Bei den Daten handelt es sich um ausgewählte Entitäten eurer Wärmepumpe. Es werden keine weiteren Daten, also auch keinen personenbezogenen Daten, übertragen.

architecture-beta
    group cloud(cloud)[Cloud]
    service llm(cloud)[LLM] in cloud

    group home(server)[Zuhause]
    service hp(disk)[Waermepumpe] in home
    service emsesp(server)[EMS ESP] in home
    group notebook(server)[Euer Computer] in home
    service app(server)[GenAI Anwendung] in notebook
    service mcp(server)[MCP Server] in notebook

    llm:T -- B:app
    app:R -- L:mcp
    mcp:R -- L:emsesp
    emsesp:R -- L:hp

Welche anderen Gen-AI Applikation kann ich nutzen?

Hier findest du eine Übersicht aller Gen-AI Anwendungen, die MCP unterstützen: MCP Clients. Der MCP-Server für EMS-ESP sollte mit allen MCP Clients, die Tools unterstützen, kompatibel sein. Falls nicht, macht gerne ein Issue auf.