Hilfe bei 2. Automation: Urlaubsplan

Code:
alias: Warmwasser_Urlaub_40Grad
description: ""
trigger:
  - platform: numeric_state
    entity_id: sensor.export_power
    attribute: Watt
    above: 3000
condition: and
conditions:
  - condition: state
    entity_id: input_boolean.warmwasser_urlaubsschaltung
    state: "on"
  - condition: time
    after: input_datetime.urlaub_start
  - condition: time
    before: input_datetime.urlaub_ende
  - condition: numeric_state
    entity_id: sensor.hotwater_temp
    below: 40
action:
  - type: turn_on
    device_id: cf031dc3f595ef587da55c933313f4d4
    entity_id: 41d4fc51f898cd80831fd9c74880fd35
    domain: switch
mode: single

Ich denke, so sollte es funktionieren.
das "condition: and" leitet wohl ein, das die folgenden Bedingungen unter "conditions" (beachte das zusätziche s) UND Verknüpft werden. Also nur wenn alle 3 zutreffen, wird die Aktion ausgeführt.

Hier kannst Du auch nachlesen, wie man UND/ODER zusammen machen kann.
 
Hier kannst Du auch nachlesen, wie man UND/ODER zusammen machen kann.
Dort auch zu nachzulesen, dass UND nicht explizit angeben werden muss.;)
Ohne Angabe von UND müssen auch alle Aufgeführten Bedingungen erfüllt sein. Oder anders gesagt UND-Verknüpfung ist Standart, wenn nichts anders angegeben wird.
Der Trigger wird nicht ausgelöst. Und wie u5zzug schon geschrieben hat, löse den Trigger mal manuell aus, z.B. durch irgendwas anderes ersetzen und sei es ein selbst definierter Schalter. Dann bekommst Du auch ein Trace.
Kann man machen muss man nicht. Den Trigger kann man auch über Entwicklungswerkzeuge -> Status setzen simulieren.
In dem man einfach einen neuen Wert für die jeweilige Entität setzen tut. So lassen sich Automatisierungen auch einfach testeten, ohne dass man auf den Trigger warten muss.

@Fidibus Dein Auslöser
YAML:
trigger:
  - platform: numeric_state
    entity_id: sensor.export_power
    attribute: Watt
    above: 3000

Greift nur wenn der Wert von kleiner 3000 auf über 3000 steigt. Befindet er sich bereits über 3000 wird nichts ausgelöst.
Ich würde als zusätzlichen Trigger noch die Temperatur fällt unter 40°C verwenden. Sowie einen Zusätzliche Bedingung Watt > 3000.
 
Ohne Angabe von UND müssen auch alle Aufgeführten Bedingungen erfüllt sein.
Dann verstehe ich wieder nicht, warum es nicht funktioniert hat.
Greift nur wenn der Wert von kleiner 3000 auf über 3000 steigt.
Das ist mir klar, das wäre auch erst einmal kein Problem.
Sowie einen Zusätzliche Bedingung Watt > 3000.
Das verstehe ich gar nicht.
Ist:
Attribute: Watt
above: 3000
nicht das Selbe?
 
Das mit dem Attribut habe ich wohl überlesen.
Liefert der Sensor sensor.export_power bereits die Leistung in Watt oder das Attribut Watt des Sensors sensor.export_power?!
Wenn die Leistung in Watt ein Attribut ist, was liefert dann der Sensor sensor.export_power für einen Wert?

Das mit der Zusätzlichen Bedingung Watt > 3000 war so gemeint.
Wenn Du als Zusätzlichen Trigger Temperatur < 40°C hinzufügen tust. Dann soll der Switch nur eingeschaltet werden, wenn auch über 3000 W Überschuss da ist, richtig?

Je nach dem wie Deine Überschußleistung schwankt. Würde ich zum Ausschalten, den Trigger Watt sinkt unter 3000 W für x Minuten verwenden. Ansonsten Spielt bei jeder kleinen Wolke Dein Switch Ping-Pong.
 
Je nach dem wie Deine Überschußleistung schwankt. Würde ich zum Ausschalten, den Trigger Watt sinkt unter 3000 W für x Minuten verwenden. Ansonsten Spielt bei jeder kleinen Wolke Dein Switch Ping-Pong.
Da ich das nicht abfangen kann mangels Programmierkenntnissen, habe ich das ja mit einer dedizierten "Abschaltung" gelöst.
Also, mein Gedankengang kurz:
Bedingung: mehr als 3000W Einspeisung
Wenn Zeitabfragen ergeben "im Urlaub" und das Wasser weniger als 40° hat, dann einschalten.
----
Bedingung: Wenn Wasser 45°
Wenn Zeitabfragen ergeben "im Urlaub", dann abschalten.

Ich habe also eine 5K Hysterese, da die Isolierung echt gut ist und die Zirkulation im Urlaub aus ist, reicht das einmalige Einschalten.
 
Ich denke, es ist der Wert des Sensors.
So sehe ich das auch. Somit ist dieser Trigger falsch und wird nie Auslösen:
YAML:
trigger:
  - platform: numeric_state
    entity_id: sensor.export_power
    attribute: Watt
    above: 3000

Richtig wäre:

YAML:
trigger:
  - platform: numeric_state
    entity_id: sensor.export_power
    above: 3000

Welche Werte ein Sensor Liefert und Welche Attribute dieser Besitzt kannst Du in den Entwicklungswerkzeugen -> Zustände ermitteln.
 
Kann ich mehrere Bedingungen setzen?
Ich konnte auslösen, allerdings müsste ich ja die Bedingungen auch setzen.
 
Hallo Fidibus,

ich habe erst einmal nur eine kurze Frage. Funktioniert bei dir der Vergleich (in den conditions) mit before: und after: bzgl. des Datums? Ich versuche in einem Skript-Blueprint etwas vergleichbares:

Code:
- if:
    - condition: time
      after: !input last_day

Der last_day ist ein input_datetime vom Typ Datum.

Nur wird bei dem Vergleich immer der Uhrzeiten- und nicht Datumsvergleich im Trace angezeigt und liefert false (z.B. last_day ist 11.Dez.2023 und dennoch liefert am 12.Dez.2023 das after: ein false).

Gruß Dieter
 
Moin,
das sieht beispielhaft so aus:
Code:
condition:
  - condition: and
    conditions:
      - condition: state
        entity_id: input_boolean.warmwasser_urlaubsschaltung
        state: "on"
      - condition: time
        after: input_datetime.urlaub_start
      - condition: time
        before: input_datetime.urlaub_ende
      - condition: numeric_state
        entity_id: sensor.hotwater_temp
        below: 40
      - condition: device
        type: is_off
        device_id: cf031dc3f595ef587da55c933313f4d4
        entity_id: 41d4fc51f898cd80831fd9c74880fd35
        domain: switch
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
6.135
Beiträge
59.699
Mitglieder
6.206
Neuestes Mitglied
Snickerboy
Zurück
Oben