Home Assistant und Shelly TRV Automatisierung

greelanx

New member
Hallo zusammen,

ich habe einige Shelly Plus und Shelly TRVs in Betrieb. Da die Steuerung der TVRs sehr unzuverlässig ist, mache ich das via Home Assistant. Nun bin ich auf ein Problem gestossen und mir fällt keine Lösung dazu ein.

Folgendes Beispiel:

Wenn die gemessene Temperatur vom externen Shelly Plus unter 22 Grad ist und wenn das Shelly TRV Heizkörper Ventil einen Wert unter 100 hat, dann soll das Ventil vollständig (Wert 100) geöffnet werden. Die Automatisierung dazu sieht so aus:

Code:
alias: shelly unter 22 Grad
description: ""
trigger:
  - platform: time_pattern
    minutes: /1
condition:
  - condition: and
    conditions:
      - type: is_temperature
        condition: device
        device_id: bfffb30a5361a82833c4078a2ba4e98b
        entity_id: 294ac34c0a94795c7f752f20bfaf003e
        domain: sensor
        below: 22
      - condition: numeric_state
        entity_id: number.shelly_valve_position
        below: 100
action:
  - device_id: 455ed94aa8f52879039b11d3c4cd41d6
    continue_on_error: true
    domain: number
    entity_id: 8b2036c273a71b0285b849090d3d2f02
    type: set_value
    value: 100
mode: single

Die Automatisierung funktioniert und im Logbuch gibt es nur dann einen Eintrag, wenn die Bedingungen erfüllt sind und die Aktion ausgeführt wurde.

Nun ist folgender Fall eingetreten:

Die Automatisierung wurde ausgelöst und die Aktion hat den Wert auf 100 gesetzt. Eine Minute später hat die Automatisierung wieder ausgelöst, weil das Ventil den Wert 99,89 hatte, also unter 100 war.

Die Automatisierung triggert daraufhin jede Minute, incl. Eintrag im Logbuch. Das ist auch völlig korrekt, aber das Problem ist: die Aktion wird nicht mehr ausgeführt. Ich hätte erwartet, dass die Aktion erneut ausgeführt wird, da ja der Wert des Ventils unter 100 ist. Es passiert aber nichts :(

Gibt es eine Möglichkeit die Aktion zu erzwingen?
 
Zuletzt bearbeitet:
Und bitte auch KEINE Geräte nutzen, sondern ENTITÄTEN, dann bleibt uns sowas nichtssagendes wie "- device_id: 455ed94aa8f52879039b11d3c4cd41d6" erspart. Wir wissen ja nicht, um welches Device es sich da bei Dir handelt.
 
@Nival danke für den Hinweis, habe den Beitrag editiert und als Code eingefügt.

@RudiP das Device ist das Shelly TRV.

Das mit der Nutzung von Gerät vs. Entität ist mir nicht so ganz klar, besser gesagt: ich kann in der GUI bei einer Bedingung ein Gerät oder eine Entität auswählen, aber die Felder sind völlig unterschiedlich.

Wenn ich das Gerät nehme, sieht das so aus:

Gerät: shelly
Bedingung: Aktuelle shelly temperature
Über:
Unter: 22


Wenn ich die Entität nehme, sieht es so aus:

Entität: shelly temperature
Attribut: (mögliche Werte: Unit of measurement, Device class)
Zustand: (mögliche Werte: Nicht verfügbar, unbekannt)
Für: hh mm ss

Ich kann bei der Entität keine Temperatur angeben/auswählen.


Der obige Beispiel Code sieht im GUI Editor so aus:

1711026780115.png
1711026843303.png
1711026869044.png
1711026894117.png
 
Die Automatisierung wurde ausgelöst und die Aktion hat den Wert auf 100 gesetzt. Eine Minute später hat die Automatisierung wieder ausgelöst, weil das Ventil den Wert 99,89 hatte, also unter 100 war.
Nein, ist nicht unter 100, sondern genau 100. Kommt eben drauf an, welchen Datentyp man verwendet.
Nimmt man FLOAT, ja, dann war der Wert unter 100. Nimmt man aber INT, dann wird nach meinem dafürhalten der Wert aufgerundet und ist damit 100.
Gibt es eine Möglichkeit die Aktion zu erzwingen?
Naja, ob das Ventil nun 99.89 geöffnet ist oder 100, ich denke, so groß dürfte der Unterschied nicht sein.
Du könntest eventuell versuchen, bei der Entität für den Thermostat die Anzeigegenauigkeit zu ändern, also z.B. von xx,xx auf XX. Dann werden die Nachkommastellen gestrichen und aufgerundet. Also 99,49 wird als 100 dargestellt, alles darunter dann als 99.

Was die Unterschiedlichen Auswahlmöglichkeiten bei Gerät und/oder Entität angeht. Ja, habe ich auch schon gehört, das es da manchmal Unterschiede geben soll, aber bei mir habe ich da bisher eigentlich immer was passendes gefunden.
Aber wenns nicht geht, muß man damit leben, das ist klar. Aber wann immer möglich, sollte man ENTITÄT vor GERÄT wählen.
 
Zurück
Oben