Jump to content

WARP in Home Assistant via MQTT und HTTP-API


Recommended Posts

  • 3 weeks later...
Posted

Hi, habe das gerade ausprobiert. Finde ich gut, spart etliche Einträge in der yaml und funktioniert. Außerdem wird das jetzt als ein Gerät in der Geräteübersicht angezeigt, sehr cool.

Was allerdings etwas unschön ist, ist die Tatsache, dass alle Warps das Gleiche bereitstellen. Bei einer Wallbox kein Thema, bei mehreren führt das dazu:

image.png.ae87032a7716f94564ef75e222097d16.png

 

 

 

 

 

Da wo man mit den Entitäten direkt arbeitet (z.B. hier in NodeRed) ist das etwas unübersichtlich. Etwas heikel ist auch: ich nehme an "_2" wird nur angehängt, wenn es den Wert schon gibt. Ist also ein Wert bei der ersten Wallbox nicht vorhanden (z.B. kein Zähler) hat die zweite den Entitätennamen wohl ohne "_2" und es wird inkonsistent. 

Das ist jetzt zwar eher eine Eigenschaft von HA und nicht das Problem der Wallbox. Dennoch wäre ein optimales Präfix für Variablen- und Entitätennamen (oder wird der automatisch von HA angelegt, dann nur Variablenname) toll. 

Also auf der Konfigurationsseite der Warp z.B. eine Textbox: 

          Variablennamen-Präfix (optional):          [ Warp1                                    ]

--> Warp1 Konfigurierter Ladestrom (number.warp1_konfigurierter_ladestrom)

Sonst (technisch) top. Danke!

Gruß, Florian

  • Like 1
Posted

Dem kann ich mich nur anschließen. Super Umsetzung und macht die Integration in Home Assistant um Einiges sauberer. Ich habe zwar nur eine Wallbox, aber mich stört die Namenskonvention der generierten Entitäten auch etwas. Ich würde hier auf jeden Fall auch den Gerätenamen mit erwarten. 

sensor.stromverbrauch_absolut

z.B. sagt mir wenig wenn ich wissen möchte, auf welches sich das bezieht. Ich habe mich jetzt erst einmal damit beholfen, dass ich bei allen Entitätsnamen manuell ein Prefix im Entitätseditor ergänzt habe.

 

 

Zitat
Zitat
Posted

Das Problem ist, dass die Namen der Entitäten aus der lesbaren Benennung generiert werden. Wenn der Button „Ladevorgang beenden“ heißt, macht HA daraus halt „button.ladevorgang_beenden“. Wenn man stattdessen „button.warp1_ladevorgang_beenden“ haben möchte, geht das nur, wenn man die Beschriftung des Buttons auf „WARP1 Ladevorgang beenden“ ändert. Das würde dann bedeuten, dass alle Buttons/Felder/etc ein „WARP1“ davor stehen hätten. Wenn das gewünscht ist, können wir das einbauen. Eine bessere Möglichkeit sehe ich aufgrund der Einschränkungen der Auto Discovery nicht. Wenn jemand weiß, wie man die Auto Discovery doch dazu überreden kann, dass HA bessere Entitätsnamen generiert, immer her damit. 🙂

Posted

Ja, genau so meinte ich das. Wer es nicht will kann das Feld dann ja leer lassen. Mir würde es helfen. Und in der Gui kann der Displayname ja unabhängig geändert werden. 
Vielen Dank.

Posted
Am 27.3.2023 um 11:10 schrieb MatzeTF:

Das Problem ist, dass die Namen der Entitäten aus der lesbaren Benennung generiert werden. Wenn der Button „Ladevorgang beenden“ heißt, macht HA daraus halt „button.ladevorgang_beenden“. Wenn man stattdessen „button.warp1_ladevorgang_beenden“ haben möchte, geht das nur, wenn man die Beschriftung des Buttons auf „WARP1 Ladevorgang beenden“ ändert. Das würde dann bedeuten, dass alle Buttons/Felder/etc ein „WARP1“ davor stehen hätten. Wenn das gewünscht ist, können wir das einbauen. Eine bessere Möglichkeit sehe ich aufgrund der Einschränkungen der Auto Discovery nicht. Wenn jemand weiß, wie man die Auto Discovery doch dazu überreden kann, dass HA bessere Entitätsnamen generiert, immer her damit. 🙂

Laut Doku soll es möglich sein über object_id den Entitätsnamen beeinflussen zu können.

Posted (edited)
On 3/27/2023 at 1:26 PM, philipps said:

Laut Doku soll es möglich sein über object_id den Entitätsnamen beeinflussen zu können.

Die Bezeichnung „object_id“ wird auch schon als Komponente des MQTT-Topic verwendet, allerdings wird der Wert nicht zum Generieren der Entity ID verwendet.

<discovery_prefix>/<component>/[<node_id>/]<object_id>/config

Mit dem object_id-Feld im Payload kann man aber wie gewünscht die Entity ID setzen. Hätte man vielleicht eindeutiger benennen können.

Demnächst wird das Feld object_id gesetzt, und zwar auf genau den gleichen Wert wie die Unique ID. Warum Home Assistant nicht gleich die bereits vorhandene Unique ID verwendet, um die notwendigerweise eindeutige Entity ID zu generieren, sei mal dahingestellt.

Alt: button.ladevorgang_beenden

Neu: button.warp2_abc_stopcharge

Entweder wartet ihr auf das nächste Firmware-Release, kompiliert euch die Firmware von Github selbst, oder traut euch an die angehängte Firmware in Daily-Snapshot-Qualität. 😉

Edit: Gerade gesehen, dass floho anscheinend eine WARP1 hat und mit der WARP2-Firmware nichts anfangen kann.

warp2_firmware_2_1_1_6421ad85_599febcb6a60600_merged.bin

warp_firmware_2_1_1_6421b132_599febcb6a60600_merged.bin

Edited by MatzeTF
  • Like 1
Posted
Am 27.3.2023 um 17:03 schrieb MatzeTF:

Edit: Gerade gesehen, dass floho anscheinend eine WARP1 hat und mit der WARP2-Firmware nichts anfangen kann.

Danke. Habe eine 1 und eine 2. mit der 2 hatte ich es getestet. Probier bei Gelegenheit noch die 1. 

Posted
Am 27.3.2023 um 17:03 schrieb MatzeTF:

Die Bezeichnung „object_id“ wird auch schon als Komponente des MQTT-Topic verwendet, allerdings wird der Wert nicht zum Generieren der Entity ID verwendet.

<discovery_prefix>/<component>/[<node_id>/]<object_id>/config

Mit dem object_id-Feld im Payload kann man aber wie gewünscht die Entity ID setzen. Hätte man vielleicht eindeutiger benennen können.

Demnächst wird das Feld object_id gesetzt, und zwar auf genau den gleichen Wert wie die Unique ID. Warum Home Assistant nicht gleich die bereits vorhandene Unique ID verwendet, um die notwendigerweise eindeutige Entity ID zu generieren, sei mal dahingestellt.

Alt: button.ladevorgang_beenden

Neu: button.warp2_abc_stopcharge

Entweder wartet ihr auf das nächste Firmware-Release, kompiliert euch die Firmware von Github selbst, oder traut euch an die angehängte Firmware in Daily-Snapshot-Qualität. 😉

Edit: Gerade gesehen, dass floho anscheinend eine WARP1 hat und mit der WARP2-Firmware nichts anfangen kann.

warp2_firmware_2_1_1_6421ad85_599febcb6a60600_merged.bin 2.38 MB · 1 download

warp_firmware_2_1_1_6421b132_599febcb6a60600_merged.bin 2.09 MB · 0 downloads

Wird das MQTT Discovery auch beim WEM integriert?

  • 1 year later...
Posted

Hallo zusammen,

 

ich versuche aktuell den WARP Energy Manager per mqtt in HomeAssistant zu integrieren und scheitere an der Benennung der verschiedenen Lademodi.

 

Mein YAML:

mqtt:
  sensor:
    - name: "WARP Energy Manager"
      unique_id: "warp_energy_manager"
      state_topic: "wem/26JT/energy_manager/config"
      value_template: "{{ value_json.enabled }}"
      device:
        identifiers: ["warp_energy_manager"]
        name: "WARP Energy Manager"
        manufacturer: "WARP"
        model: "Energy Manager"
        sw_version: "1.0"
    - name: "Lademodus"
      unique_id: "warp_lademous_state"
      state_topic: "wem/26JT/power_manager/charge_mode"
      value_template: "{{ value_json.mode }}"

  select:
    - name: "Lademodus"
      unique_id: "warp_lademodus_steuerung"
      state_topic: "wem/26JT/power_manager/charge_mode"
      command_topic: "wem/26JT/power_manager/charge_mode_update"
      options:
        - "0"
        - "1"
        - "2"
        - "3"
      value_template: >
        {% set mode = value_json.mode %}
        {% if mode == 0 %} Schnellladen 
        {% elif mode == 1 %} Aus 
        {% elif mode == 2 %} PV-Überschussladen 
        {% elif mode == 3 %} Min + PV 
        {% else %} Unbekannt 
        {% endif %}
      device:
        identifiers: ["warp_lademodus"]


image.thumb.png.db52781e0e7152e08b016504ab7f76f8.png
Der Sensor funktioniert und auch das Schalten über 0,1,2,3

Ich möchte aber auswählen können: Aus, PV, PV-Min, Schnell

Hat jemand eine Idee?

Posted

Hallo,

ich konnte es fixen. Der folgende Code funktioniert, falls jemand das gleiche haben möchte:

 

# MQTT Sensoren: Informationen zum Power Manager
mqtt:
  sensor:
    - name: "WARP Energy Manager"
      unique_id: "warp_energy_manager"
      state_topic: "wem/26JT/energy_manager/config"
      value_template: "{{ value_json.enabled }}"
      device:
        identifiers: ["warp_energy_manager"]
        name: "WARP Energy Manager"
        manufacturer: "WARP"
        model: "Energy Manager"
        sw_version: "1.0"
    - name: "Lademodus"
      icon: "mdi:ev-station"
      unique_id: "warp_lademodus_state"
      state_topic: "wem/26JT/power_manager/charge_mode"
      value_template: >
        {% set mode = value_json.mode %}
        {% if mode == 0 %}
          Schnellladen
        {% elif  mode == 1 %}
          Aus
        {% elif  mode == 2 %}
          PV
        {% elif  mode == 3 %}
          Min + PV
        {% else %}
          Unbekannt
        {% endif %}
      device:
        identifiers: "warp_lademodus"

  select:
    - name: "Lademodus"
      unique_id: "warp_modus_select"
      state_topic: "wem/26JT/power_manager/charge_mode"
      command_topic: "wem/26JT/power_manager/charge_mode_update"
      command_template: >
        {% if value == "Aus" %}
          1
        {% elif value == "PV" %}
          2
        {% elif value == "Min + PV" %}
          3
        {% elif value == "Schnellladen" %}
          0
        {% endif %}
      icon: "mdi:ev-station"
      value_template: >
        {% set mode = value_json.mode %}
        {% if mode == 0 %} Schnellladen 
        {% elif mode == 1 %} Aus 
        {% elif mode == 2 %} PV 
        {% elif mode == 3 %} Min + PV 
        {% else %} Unbekannt 
        {% endif %}
      options:
        - "Aus"
        - "PV"
        - "Min + PV"
        - "Schnellladen"
      device:
        identifiers: ["warp_lademodus"]

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...