Skip to main content
Glama
kalmma

Solplanet MCP

by kalmma
README.md
# Solplanet MCP

Een [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server voor de **Solplanet ASW5-T** omvormer (en compatibele modellen). Hiermee kun je Claude vragen stellen over je zonne-energie systeem in gewone taal.

> **Voorbeeld:** *"Hoeveel heeft mijn omvormer vandaag geproduceerd?"* of *"Zet de accu op zelfverbruikmodus."*

---

## Vereisten

- Python 3.10 of hoger
- Claude Desktop
- Solplanet omvormer met Wi-Fi stick, bereikbaar op je lokale netwerk

---

## Installatie

### 1. Bestanden downloaden

Clone of download deze repository:

```bash
git clone https://github.com/kalmma/solplanet-mcp.git
cd solplanet-mcp
```

### 2. Python dependencies installeren

```bash
pip install -r requirements.txt
```

### 3. Setup uitvoeren

Voer het setup-script éénmalig uit. Het vraagt het IP-adres van je omvormer, test de verbinding en slaat de configuratie op.

```bash
python3 setup_solplanet.py
```

Het IP-adres van je omvormer vind je in je router (verbonden apparaten) of in de Solplanet app onder apparaatinformatie.

### 4. Claude Desktop configureren

Voeg de MCP server toe aan je Claude Desktop configuratie. Het configuratiebestand staat op:

- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`

Voeg het volgende toe (pas het pad aan naar waar je `solplanet_mcp.py` hebt opgeslagen):

```json
{
  "mcpServers": {
    "solplanet": {
      "command": "python3",
      "args": ["/absoluut/pad/naar/solplanet_mcp.py"]
    }
  }
}
```

Zie `claude_desktop_config.example.json` voor een voorbeeldbestand.

### 5. Claude Desktop herstarten

Herstart Claude Desktop. De Solplanet MCP is nu actief.

---

## Beschikbare tools

| Tool | Beschrijving |
|------|-------------|
| `get_solar_summary` | Snelle dagelijkse check: vermogen, energie, netuitwisseling en accustatus |
| `get_inverter_info` | Omvormerinformatie: serienummer, model, firmware |
| `get_inverter_data` | Actuele meetwaarden: vermogen, spanning, stroom, frequentie, temperatuur |
| `get_meter_data` | Netmeter: inkoop en teruglevering (actueel en totalen) |
| `get_meter_info` | Meetmeterconfiguratie |
| `get_battery_data` | Accustatus: laadniveau (SOC), vermogen, spanning, stroom, temperatuur |
| `get_battery_info` | Accuconfiguratie: werkingsmodus, min/max laadniveau |
| `set_battery_work_mode` | Werkingsmodus instellen: zelfverbruik, reservevermogen, tijdgebaseerd, off-grid |
| `set_battery_soc_limits` | Minimum en maximum laadniveau instellen |
| `get_battery_schedule` | Laadschema per dag bekijken |

---

## Voorbeeldvragen aan Claude

- *"Wat is het huidige zonnepanelenvermogen?"*
- *"Hoeveel energie heb ik vandaag geproduceerd?"*
- *"Koop ik nu stroom in of lever ik terug?"*
- *"Wat is de laadstatus van mijn accu?"*
- *"Zet de accu op tijdgebaseerd laden."*
- *"Stel het minimale accuniveau in op 15%."*
- *"Wat is het laadschema van de accu deze week?"*

---

## Technische achtergrond

De omvormer communiceert via HTTP op poort **8484**. De volgende endpoints worden gebruikt:

| Endpoint | Beschrijving |
|----------|-------------|
| `GET /getdev.cgi?device=2` | Omvormerinformatie |
| `GET /getdevdata.cgi?device=2&sn=<sn>` | Actuele omvormerdata |
| `GET /getdevdata.cgi?device=3` | Meterdata |
| `GET /getdev.cgi?device=3` | Meterinformatie |
| `GET /getdevdata.cgi?device=4&sn=<sn>` | Accudata |
| `GET /getdev.cgi?device=4&sn=<sn>` | Accuinformatie |
| `GET /getdefine.cgi` | Laadschema |
| `POST /setting.cgi` | Instellingen wijzigen |

Deze MCP is gebaseerd op de [Home Assistant Solplanet integratie](https://github.com/zbigniewmotyka/home-assistant-solplanet) door Zbigniew Motyka.

---

## Configuratie via omgevingsvariabele

In plaats van het setup-script kun je ook een omgevingsvariabele gebruiken:

```bash
SOLPLANET_HOST=192.168.1.100 python3 solplanet_mcp.py
```

Of in de Claude Desktop config:

```json
{
  "mcpServers": {
    "solplanet": {
      "command": "python3",
      "args": ["/pad/naar/solplanet_mcp.py"],
      "env": {
        "SOLPLANET_HOST": "192.168.1.100"
      }
    }
  }
}
```

---

## Compatibiliteit

Getest met de **Solplanet ASW5-T**. Waarschijnlijk ook compatibel met andere Solplanet/AISWEI omvormers die de Wi-Fi stick gebruiken. Accusysteemtools vereisen een gekoppeld batterijsysteem.

---

## Licentie

MIT