Modbus Sensoren und Geräte

Aktuell bastele ich viel an der AWARMA 290 Wärmepumpe und einem passenden Dashboard dafür. Nun habe ich im Grunde noch zwei grundsätzliche Fragen:

1) Komplikationen Sensor Name / uinque_id

Warum muss man einem jeden Sensor eine unique_id vergeben, wenn man die sonst nirgends einsetzen kann? Man könnte das Erstellen von templates so vereinfachen!

Beispiel:

Modbus Geräte haben Infos über das Gerät als S00 bis Sxx, Nur-Lesen Status als C00-Cxx und Einstellungen als Parameter P00-Pxxx.

Grundsätzlich sind das alles Sensoren, die in der modbus.yaml deklariert werden müssen:

    - name: "P02 Vorlauftemperatur Heizen"
      unique_id: wp_p02
      slave: 1
      address: 4098
      input_type: holding
      data_type: int16
      scale: 1
      unit_of_measurement: "°C"

Diesen Sensor kann man mit gauges oder was auch immer sichtbar machen, zum Einstellen braucht es nun noch ein template:

      - name: "P02 Vorlauftemperatur Heizen"
        unique_id: wp_number_p02
        state: "{{ states('sensor.p02_vorlauftemperatur_heizen') }}"
        availability: "{{ has_value('sensor.p02_vorlauftemperatur_heizen') }}"
        step: 1
        min: 10
        max: 75
        unit_of_measurement: "°C"
        optimistic: True
        set_value:
          - action: modbus.write_register
            data:
              hub: waermepumpe
              address: 4098
              value: "{{ value }}"

Man darf die beiden Zustände durchaus gleich nennen, denn der sensor wird als “sensor.p02_vorlauftemperatur_heizen” erzeugt, das template ergänzt dazu passend dann “number.p02_vorlauftemperatur_heizen”.

number kann man dann einfach als Slider oder Zahleneingabe auf ein Dashboard ablegen.

Meine Frage ist nun, warum man nicht einfach per unique_id auf den sensor referenzieren kann? Und warum reicht es nicht im template oder im sensor auf die unique_id zu referenzieren?

Warum muss man händisch entweder den sensor in den Entwicklerwerkzeugen suchen, oder ihn händisch von Space in Underscore umwandeln.

2) Modbus → Gerät

Der Modbus erzeugt schnell hunderte Entitäten, die man lose mit Labels spicken kann. Gibt es auch eine Möglichkeit, diese Entitäten zu einem Gerät zusammen zu fassen?

Klar eine Wärmepumpe ist ein eigenen Dashboard wert, aber da sind dann inzwischen auch viele Einstellparameter abgebildet, die eigentlich nur direkt im Gerät konfiguriert werden und nicht “öffentlich zugänglich” auf jedem Tablet erscheinen sollten.

Laut gedacht:
Ich habe den Eindruck, das wäre alles kein Akt, wenn ich ein Modbus2MQTT für diese Wärmepumpe gebaut hätte?

Zum Thema Devices und Entitäten zu einem ggf. virtuellen Device zusammenfassen:

Device tools .. ist das was du suchst und nein home assistant selbst kann das nicht, aber deshalb gibts ja den addon store.

Danke für den Tip!
Hast Du das mal ausprobiert, die Warnungen und die Veränderungen, die das Tool durchführt, sind ja nicht gerade ungefährlich?

Ne nicht ausprobierit, seit Jahren im Einsatz :slight_smile:

Ich glaub es war Ende letzten Jahres da liefs mal nicht nach einem Home Assistant Update. Hat der Entwickler direkt innerhalb von Tagen behoben.
Und das einzige daraus resultierende Problem, die in Devices zusammengefassten Entitäten waren dann halt temporär wieder wie ohne Device Tools vorhanden.

Du könntest das auch händisch machen, allerdings musst du dann an den core.* Files rumwerkeln an denen man eigentlich tunlichst nix ändern sollte weshalb sie auch im versteckten Ordner liegen. Dort werden neben den eigentlich Konfigurationen von Entitäten und Devices und Integration auch deren Verknüpfungen untereinander definiert.
Kann man händisch machen wenn man sicher ist das einem weder ein Logik- noch ein Tippfehler unterläuft, und das kann ich für mich beides nicht zu jeder Zeit zu 100% ausschliessen.

1 „Gefällt mir“