PROKlima Klimagerät (Ewpe) in Homeassistant

Um ein Klimagerät der Marke PROKlima (Bauhaus) mit der Ewpe APP in Homeassistant einzubinden muss man einige Dinge beachten. Zum einen muss die Klimaanlage schon mit dem WLAN verbunden sein. Hat man dies noch nicht erledigt ist dies der erste Schritt.

Schritt 1: Einbinden der Klima ins WLAN

Die Klimaanlage muss über die Ewpe App in das WLAN eingebunden werden. Dazu muss man die Schritte entsprechend in der App abarbeiten. Wenn die Klimaanlage im WLAN eingebunden ist und über die APP gesteuert werden kann, dann ist das wichtigste schon einmal geschafft.

Schritt 2: Herausfinden der IP Adresse

Damit man die Klimaanlage in Homeassistant integrieren kann muss man deren IP Adresse ausfindig machen. Dazu gibt es zwei Möglichkiten

  1. Möglichkeit: Router. Hat man Zugriff auf den WLAN Router, so kann man sich dort einloggen und im Netzwerkbereich nachschauen ob man das Gerät finden kann.
  2. Möglichkeit: App. Hat man keinen Zugriff auf den WLAN Router kann man auf dem Smartphone eine App installieren die das Netzwerk durchsucht. Bewährt hat sich z.B. Fing.

Schritt 3: ewpe-smart-mqtt

Um eine erfolgreiche Verbindung der beiden Systeme zu bekommen muss man den Docker Container „ewpe-smart-mqtt“ auf einem im Netzwerk verfügbaren System installieren. Dafür geeignet sind verschiedene Systeme wie z.B. ein NAS oder ein Raspberry Pi im Netzwerk.

Schritt 4: Konfiguration von ewpe-smart-mqtt

Für ein erfolgreiches Gelingen trägt man am Docker container die IP Adresse des Klimageräts ein das gefunden werden soll. Hat man mehrere Geräte kann man die IP Adressen mit einem Komma trennen. Die entsprechende Variable für den Docker container lautet: NETWORK.

Schritt 5: Homeassistant

Wenn man es bis hier hin geschafft hat, kann man sich schon einmal auf die Schulter klopfen. Das Meiste hat man bis hier bereits erledigt. Wichtig zu erwähnen ist: es muss ein MQTT Server im Netzwerk verfügbar sein. Am einfachsten ist das erledigt wenn Homeassistant auf einem RaspberryPi 4/5 als HAOS läuft. Dann kann man nämlich über die Addons den mosquitto MQTT Server installieren. Hat man die Voraussetzungen geschaffen geht es ans eingemachte: configuration.yaml

mqtt:
  - climate:
        name: "<NAME DES GERÄTS>"
        modes:
          - "off"
          - "auto"
          - "cool"
          - "dry"
          - "fan_only"
        mode_command_topic: "ewpe-smart/<id>/set"
        mode_state_topic: "ewpe-smart/<id>/status"
        mode_state_template: >
          {% if value_json.Pow == 0 %}
            off
          {% elif value_json.Pow == 1 and value_json.Mod == 0 %}
            auto
          {% elif value_json.Pow == 1 and value_json.Mod == 1 %}
            cool
          {% elif value_json.Pow == 1 and value_json.Mod == 2 %}
            dry
          {% elif value_json.Pow == 1 and value_json.Mod == 3 %}
            fan_only
          {% endif %}
        mode_command_template: >
          {% if value == 'off' %}
            {"Pow": 0}
          {% elif value == 'auto' %}
            {"Pow": 1, "Mod": 0}
          {% elif value == 'cool' %}
            {"Pow": 1, "Mod": 1}
          {% elif value == 'dry' %}
            {"Pow": 1, "Mod": 2}
          {% elif value == 'fan_only' %}
            {"Pow": 1, "Mod": 3}
          {% endif %}
        
        temperature_command_topic: "ewpe-smart/<id>/set"
        temperature_state_topic: "ewpe-smart/<id>/status"
        temperature_state_template: "{{ value_json.SetTem }}"
        temperature_command_template: '{ "Pow": 1, "SetTem": {{ value }} }'
        current_temperature_topic: "ewpe-smart/<id>/status"
        current_temperature_template: "{{ value_json.TemSen }}"
        
        fan_modes:
          - "auto"
          - "low"
          - "medium"
          - "high"
        fan_mode_command_topic: "ewpe-smart/<id>/set"
        fan_mode_state_topic: "ewpe-smart/<id>/status"
        fan_mode_state_template: >
          {% set values = {'0': 'auto', '1': 'low', '3': 'medium', '5': 'high'} %}
          {{ values[value_json.WdSpd] }}
        fan_mode_command_template: >
          {% set values = {'auto': '0', 'low': '1', 'medium': '3', 'high': '5'} %}
          { "Pow": 1, "WdSpd": {{ values[value] }} }
        json_attributes_topic: "ewpe-smart/<id>/status"
        json_attributes_template: >
            {
                "AirValve": {{ value_json.Air }},
                "X-Fan": {{ value_json.Blo }},
                "Health": {{ value_json.Health }},
                "SleepMode": {{ value_json.SwhSlp }},
                "Light": {{ value_json.Lig }},
                "SwingLfRig": {{ value_json.SwingLfRig }},
                "SwingUpDn": {{ value_json.SwUpDn }},
                "Quiet": {{ value_json.Quiet }},
                "Turbo": {{ value_json.Tur }},
                "SteadyMinTemp": {{ value_json.StHt }},
                "TempUnit": {{ value_json.TemUn }},
                "HeatCoolType": {{ value_json.HeatCoolType }},
                "TemRec": {{ value_json.TemRec }},
                "EnergySave": {{ value_json.SvSt }}
            }
        temperature_unit: C
        min_temp: 16
        max_temp: 30
        precision: 1.0

Zu ersetzen:
– <ID> = Die device Id die von ewpe-smart-mqtt ausgegeben wurde
– <NAME DES GERÄTS> = Der Name wie das Gerät in Homeassistant angezeigt wird

Hat man diesen Abschnitt richtig konfiguriert, kann man Homeassistant die config neu laden lassen und ab da sollte eine neue entity verfügbar sein mit der man das Gerät steuern kann.