24. Juli 2026 10 Min. Lesezeit

Midea PortaSplit in Home Assistant: Einrichtung und Dashboard

Schritt für Schritt von der MSmartHome-Kopplung über die Integration Midea AC LAN bis zum fertigen Dashboard mit Kennzahlen, Steuerung und Verlaufsdiagrammen.

Die Midea PortaSplit lässt sich mit einer Community-Integration direkt im lokalen Netz über Home Assistant steuern. In sieben Schritten entsteht von der App-Kopplung bis zum Dashboard eine lokale Steuerung mit Kennzahlen und Verlaufsdiagrammen. Dashboard, Hilfssensoren und Theme stehen im Repository GitHubpfstr/ha-portasplit-dashboard.

Home-Assistant-Dashboard der Midea PortaSplit im Kühlbetrieb: Kennzahlen oben, Thermostat auf 22 °C, Verläufe von Raumtemperatur, Leistungsaufnahme, Tagesenergie, Kompressorfrequenz, Kompressorbetrieb und Lüfterstufe, darunter technische Werte und Status.

Die Abbildung zeigt das fertige Dashboard im Kühlbetrieb mit Kennzahlen, Steuerung und den Verläufen der letzten 24 Stunden.

Die Serie hat drei Teile: Teil 1 beschreibt die Einrichtung, Teil 2 behandelt die Absicherung von Token, Key und Heimnetz, Teil 3 ordnet die Warnungen zur Midea-Cloud-API ein.

Wie die lokale Steuerung funktioniert

Steuerbefehle gehen nach der Einrichtung direkt von Home Assistant an die PortaSplit, ohne Umweg über einen Midea-Server. Bei Geräten mit dem V3-Protokoll akzeptiert die PortaSplit lokale Befehle aber nur mit zwei gerätespezifischen Werten, Token und Key. Die Integration holt beide einmalig bei der Einrichtung über die Midea-Cloud ab und speichert sie lokal:

Einrichtung:   Home Assistant → Midea-Cloud → Token und Key
Betrieb:       Home Assistant → lokales Netz (6444/TCP) → PortaSplit

Die beschriebenen Integrationen stammen aus der Community und werden weder von Midea noch von Home Assistant offiziell unterstützt. Firmware- oder Cloud-Änderungen können ihr Verhalten beeinflussen.

Welche Integration passt

Zwei Community-Integrationen unterstützen die PortaSplit:

IntegrationSchwerpunkt
GitHubwuwentao/midea_ac_lan (Midea AC LAN)viele Midea-Geräteklassen; stellt bei der PortaSplit 21 Sensoren bereit, darunter Kompressorfrequenz, -strom und -spannung sowie Verdampfer-, Kondensator- und Heissgastemperatur
GitHubmill1000/midea-ac-py (Midea Smart AC)auf Klimageräte (0xAC, 0xCC) zugeschnitten, fragt die Gerätefähigkeiten ab und unterstützt den Leisemodus des Aussengeräts

Für meine PortaSplit verwende ich Midea AC LAN; Anleitung und Dashboard bauen auf deren Entitäten auf. Mit Midea Smart AC heissen die Entitäten anders, das Dashboard lässt sich dann nur nach Anpassung verwenden. Beide Integrationen gleichzeitig mit demselben Gerät zu betreiben führt zu Statusproblemen und ist nicht sinnvoll.

Voraussetzungen

  • Midea PortaSplit mit WLAN-Funktion und ein 2,4-GHz-WLAN
  • MSmartHome-App mit Midea-Konto
  • Home Assistant ab Version 2024.10 (getestet mit 2026.7) mit Zugriff auf das Konfigurationsverzeichnis /config, etwa über das Add-on File editor, Samba oder SSH
  • HACS für die Diagrammkarte apexcharts-card
  • Netzwerkzugriff von Home Assistant zur PortaSplit auf Port 6444/TCP

Schritt 1: PortaSplit mit MSmartHome verbinden

  1. MSmartHome-App installieren und mit dem Midea-Konto anmelden.
  2. PortaSplit in den WLAN-Kopplungsmodus versetzen und mit dem 2,4-GHz-WLAN verbinden.
  3. Prüfen, ob sich die PortaSplit über die App steuern lässt.
  4. Im Router eine DHCP-Reservation für die PortaSplit anlegen, damit sie dauerhaft dieselbe IP-Adresse erhält.

Nutzt der Router dieselbe SSID für 2,4 und 5 GHz, funktioniert die Kopplung meist trotzdem. Bei Problemen hilft vorübergehend ein separates 2,4-GHz-WLAN.

Schritt 2: Midea AC LAN installieren

Über HACS: HACS öffnen, nach Midea AC LAN suchen, die Integration herunterladen und Home Assistant neu starten.

Ohne HACS: Laden Sie das Release-Archiv direkt in das Verzeichnis custom_components. In einer Docker-Installation geht das mit docker exec -it homeassistant bash im Container, beim Home Assistant OS im Terminal-Add-on:

mkdir -p /config/custom_components
cd /config/custom_components
wget https://github.com/wuwentao/midea_ac_lan/releases/download/v2026.9.2/midea_ac_lan.zip
unzip midea_ac_lan.zip -d midea_ac_lan
rm midea_ac_lan.zip
Optionen erklärt
OptionWirkung
mkdir -plegt das Verzeichnis an, falls es fehlt, und meldet keinen Fehler, wenn es schon existiert
wget <url>lädt das Release-Archiv der angegebenen Version von GitHub herunter
unzip <archiv>entpackt das Archiv
-d midea_ac_lanZielverzeichnis; die Dateien liegen im Archiv ohne Unterordner und müssen in custom_components/midea_ac_lan/ landen

Die aktuelle Versionsnummer steht auf der Release-Seite des Projekts. Starten Sie Home Assistant danach über Einstellungen, System und Neu starten. Die Warnung We found a custom integration midea_ac_lan which has not been tested by Home Assistant im Protokoll ist bei jeder Custom Integration normal.

Schritt 3: PortaSplit hinzufügen

Unter Einstellungen, Geräte & Dienste, Integration hinzufügen nach Midea AC LAN suchen. Der Einrichtungsdialog fragt nacheinander:

  1. Aktion: Discover automatically.
  2. IP-Adresse: auto durchsucht das lokale Netz. Liegt die PortaSplit in einem anderen VLAN, tragen Sie ihre IP-Adresse ein, weil die Suche per Broadcast nicht über VLAN-Grenzen reicht.
  3. Gerät: Die PortaSplit erscheint als <Geräte-ID> (Air Conditioner).
  4. Login: Konto, Passwort und Server. Für ein Konto der MSmartHome-App wählen Sie SmartHome; scheitert die Anmeldung, NetHome Plus mit denselben Zugangsdaten. Die Integration holt damit einmalig Token und Key.

Danach erscheint das Gerät mit einer einzigen Entität climate.<geräte-id>_climate. Die Geräte-ID ist eine 15-stellige Zahl und wird im Folgenden als DEVICE_ID bezeichnet.

Schritt 4: Sensoren freischalten

Midea AC LAN legt standardmässig nur die Klima-Entität an. Unter Einstellungen, Geräte & Dienste, Midea AC LAN, Konfigurieren öffnet sich der Optionsdialog:

FeldEinstellung
IP-Adresseunverändert lassen
Refresh interval30 Sekunden (Standard)
Sensorsalle angebotenen Sensoren auswählen
Switchesmindestens Power, ECO Mode, Sleep Mode, Swing Vertical, Swing Horizontal, Screen Display, Prompt Tone und Fan Speed Percent
Customizeleer lassen

Nach dem Speichern legt die Integration die Entitäten ohne Neustart an, nach dem Muster sensor.DEVICE_ID_indoor_temperature. Eine PortaSplit (Gerätetyp 0xAC, Protokoll V3) lieferte mit Midea AC LAN v2026.9.2 im Standby diese Werte:

EntitätBedeutungWert im Standby
indoor_temperatureRaumtemperatur23,0 °C
outdoor_temperatureAussentemperatur am Aussengerät23,5 °C
realtime_poweraktuelle Leistungsaufnahme1,5 W
total_energy_consumptionEnergiezähler seit Inbetriebnahme90,54 kWh
compressor_frequency, target_compressor_frequencyKompressorfrequenz Ist und Soll0 Hz
compressor_voltage, compressor_current, compressor_powerSpannung, Strom und Leistung am Kompressor230 V, 1 A, 4 W
indoor_coil_temperature (T2), outdoor_coil_temperature (T3)Verdampfer, Kondensator23,5 °C
discharge_pipe_temperature (TP)Heissgasleitung23 °C
indoor_fan_speedLüfterdrehzahl0 rpm
error_code, full_dustFehlercode, Filter verschmutzt0, on
indoor_humidityLuftfeuchtigkeitunknown

Die PortaSplit besitzt keinen Feuchtesensor, indoor_humidity bleibt deshalb leer. Die Klima-Entität kennt die Modi Aus, Auto, Kühlen, Entfeuchten, Heizen und Lüften, Solltemperaturen von 16 bis 30 °C in Schritten von 0,5 °C sowie die Lüfterstufen Silent, Low, Medium, High, Full und Auto.

Schritt 5: Diagrammkarte installieren

Die Verlaufsdiagramme verwenden apexcharts-card. In HACS nach apexcharts-card suchen und herunterladen. HACS registriert die Karte als Dashboard-Ressource; danach den Browser einmal neu laden.

Schritt 6: Hilfssensoren und Theme einrichten

Das Dashboard benötigt fünf Hilfssensoren: Kompressor an/aus, Lüfterstufe als Zahl für das Stufendiagramm, Laufzeit und Energie seit Mitternacht sowie den Zeitpunkt der letzten Meldung. Aktivieren Sie zuerst Pakete und Themes in der configuration.yaml, sofern noch nicht geschehen:

homeassistant:
  packages: !include_dir_named packages

frontend:
  themes: !include_dir_merge_named themes

Kopieren Sie dann aus dem Repository packages/portasplit.yaml nach /config/packages/ und themes/portasplit.yaml nach /config/themes/ und ersetzen Sie in der Paketdatei jedes DEVICE_ID durch die eigene Geräte-ID. Das Paket enthält:

template:
  - binary_sensor:
      - name: "PortaSplit Kompressor"
        unique_id: portasplit_kompressor
        icon: mdi:heat-pump-outline
        device_class: running
        state: >
          {% set f = states('sensor.DEVICE_ID_compressor_frequency') %}
          {% if f | is_number %}{{ f | float > 0 }}
          {% else %}{{ states('sensor.DEVICE_ID_realtime_power') | float(0) > 150 }}{% endif %}
  - sensor:
      - name: "PortaSplit Lüfterstufe"
        unique_id: portasplit_luefterstufe_num
        icon: mdi:fan
        state: >
          {% set m = state_attr('climate.DEVICE_ID_climate', 'fan_mode') %}
          {{ {'silent': 1, 'low': 2, 'medium': 3, 'high': 4,
              'full': 5, 'auto': 6}.get(m, none) }}
      - name: "PortaSplit letzte Meldung"
        unique_id: portasplit_letzte_meldung
        icon: mdi:sync
        device_class: timestamp
        state: "{{ states.climate['DEVICE_ID_climate'].last_reported }}"

sensor:
  - platform: history_stats
    name: "PortaSplit Laufzeit heute"
    unique_id: portasplit_laufzeit_heute
    entity_id: binary_sensor.portasplit_kompressor
    state: "on"
    type: time
    start: "{{ today_at() }}"
    end: "{{ now() }}"

utility_meter:
  portasplit_energie_heute:
    name: "PortaSplit Energie heute"
    unique_id: portasplit_energie_heute
    source: sensor.DEVICE_ID_total_energy_consumption
    cycle: daily
Optionen erklärt
OptionWirkung
template: binary_sensorKompressor gilt als laufend, wenn die Kompressorfrequenz über 0 Hz liegt; meldet ein Gerät keine Frequenz, gilt eine Leistung über 150 W als Kriterium
template: sensor (Lüfterstufe)übersetzt den Lüftermodus in eine Zahl von 1 (Silent) bis 6 (Auto), damit das Diagramm Stufen zeichnen kann
states.climate['…']Klammerschreibweise ist nötig, weil die Objekt-ID mit Ziffern beginnt; states.climate.123… ist für Jinja ungültig
last_reportedZeitpunkt der letzten Meldung des Geräts, auch wenn sich kein Wert geändert hat
history_stats mit type: timesummiert die Zeit, in der der Kompressor-Sensor on war
start / endZeitraum von Mitternacht bis jetzt
utility_meter mit cycle: dailybildet aus dem Gesamtzähler einen Tageszähler, der um Mitternacht auf 0 zurückgesetzt wird

Prüfen Sie die Konfiguration unter Entwicklerwerkzeuge, YAML, Konfiguration prüfen und starten Sie Home Assistant neu; utility_meter lässt sich nicht per Reload laden. Danach existieren binary_sensor.portasplit_kompressor, sensor.portasplit_lufterstufe, sensor.portasplit_laufzeit_heute, sensor.portasplit_energie_heute und sensor.portasplit_letzte_meldung. Home Assistant lässt beim Bilden der Entitäts-ID den Umlaut weg, daher lufterstufe.

Schritt 7: Dashboard anlegen

  1. Einstellungen, Dashboards, Dashboard hinzufügen, Neues Dashboard von Grund auf, Name PortaSplit.
  2. Das neue Dashboard öffnen und über den Stift in den Bearbeitungsmodus wechseln.
  3. Über das Drei-Punkte-Menü den Raw-Konfigurationseditor öffnen.
  4. Den Inhalt vollständig durch dashboard.yaml aus dem Repository ersetzen, vorher jedes DEVICE_ID durch die eigene Geräte-ID ersetzen.
  5. Speichern und den Bearbeitungsmodus schliessen.

Das Dashboard verwendet die Ansicht «Abschnitte» mit vier Spalten und das Theme PortaSplit Dark. Oben stehen acht Kennzahlen, links die Steuerung mit Thermostat, Betriebsmodus und Lüfterstufe, rechts die Verläufe der letzten 24 Stunden. Darunter folgen die technischen Werte des Kältekreislaufs und ein Statusblock mit Fehlercode, Filterzustand und letzter Meldung.

Direkt nach der Einrichtung sind die Diagramme leer und füllen sich mit der Laufzeit. Energie heute zeigt Unbekannt, bis der Energiezähler zum ersten Mal steigt.

Nach der Einrichtung

Token und Key liegen jetzt in Home Assistant. Lassen sie sich später nicht mehr über die Cloud beziehen, ist ein Backup der einzige Weg zu einer Neueinrichtung. Wie Sie Token, Key und Konfiguration sichern und die PortaSplit im Heimnetz abschotten, beschreibt Teil 2: PortaSplit absichern.

Quellen

  1. GitHub wuwentao/midea_ac_lan

    Integration Midea AC LAN: unterstützte Geräteklassen, Installation über HACS, Mindestversion Home Assistant 2024.4.1.

    https://github.com/wuwentao/midea_ac_lan
  2. midea_ac_lan: Releases

    Release-Archive für die Installation ohne HACS, getestet mit v2026.9.2.

    https://github.com/wuwentao/midea_ac_lan/releases
  3. midea_ac_lan: Dokumentation der Klimaentitäten

    Entitäten und Attribute für Klimageräte, darunter Leistung, Gesamtenergie und Kompressorfrequenz.

    https://github.com/wuwentao/midea_ac_lan/blob/main/doc/AC.md
  4. GitHub mill1000/midea-ac-py

    Integration Midea Smart AC: unterstützte Gerätetypen 0xAC und 0xCC, PortaSplit mit „Out Silent Mode”, Cloud-Nutzung zur Token- und Key-Beschaffung bei V3-Geräten und Standardport 6444.

    https://github.com/mill1000/midea-ac-py
  5. GitHub pfstr/ha-portasplit-dashboard

    Dashboard, Hilfssensoren-Paket und Theme aus dieser Anleitung, mit der Liste der Entitäten, die eine PortaSplit mit Midea AC LAN v2026.9.2 meldet.

    https://github.com/pfstr/ha-portasplit-dashboard
  6. apexcharts-card

    Diagrammkarte für die Verlaufsdiagramme.

    https://github.com/RomRider/apexcharts-card
  7. Home Assistant Community Store (HACS)

    Installation von Custom Integrations und Frontend-Karten.

    https://www.hacs.xyz/
  8. Home Assistant: Packages

    Bündeln von Template-, Sensor- und Utility-Meter-Konfiguration in einer Datei unter /config/packages/.

    https://www.home-assistant.io/docs/configuration/packages/
  9. Home Assistant: History Stats

    Sensor-Plattform für die Laufzeit des Kompressors seit Mitternacht.

    https://www.home-assistant.io/integrations/history_stats/
  10. Home Assistant: Utility Meter

    Tageszähler auf Basis des Gesamtenergiezählers.

    https://www.home-assistant.io/integrations/utility_meter/

Kommentare

Die Kommentare werden von GitHub / Giscus geladen.