(gelöst) Automation - Bedingung an Bedingung knüpfen! Aber wie?

alexamend

Active member
Ich würde gerne den jeweilige Zeitraum und Temperatur als Bedingung an den zugehörigen Lux Sensor knüpfen,

somit soll
in der Zeit zwischen 04:00 Uhr und 14:00 Uhr der Lux Wert und die Temperatur für Richtung Osten berücksichtigt werden
und
in der Zeit zwischen 12:00 Uhr und 22:00 Uhr der Lux Wert und die Temperatur für Richtung Westen berücksichtigt werden

(lasst euch nicht daran stören das der Trigger aktuell Sonnenaufgang ist, dies ist nur zum Testen)
Ich komme hier leider nicht weiter... kann mir hier jemand weiterhelfen der sich in der Automation in HA auskennt.

YAML:
alias: Roto Rollo nach Sonnenaufgang zu wenn
description: |-
  # Rolle soll zu fahren wenn,
  # Trigger:
  # 1. 15 Minuten nach Sonnenaufgang
  # Bedingung:
  # 1. Raum Temp. <=21°C
  # 2. Außen Temp. <=20°C
  # 3. Helligkeit Ost, 5500 Lx übersteigt & Außen Temp. <=22°C
  #    --> und Mo. - So. Uhrzeit zwischen 04:00 Uhr bis 14:00 Uhr
  # 4. Helligkeit West, 5500 Lx übersteigt & Außen Temp. <=22°C
  #    --> und Mo. - So. Uhrzeit zwischen 12:00 Uhr bis 22:00 Uhr
  # Aktion:
  # 1. Rollo zu fahren
trigger:
  - platform: sun
    event: sunrise
    offset: 15
condition:
  - condition: and
    conditions:
      - type: is_temperature    # Raumtemperatur Speicher
        condition: device
        device_id: 5d474e413565ad7a64e05e4c602e8f99
        entity_id: sensor.lumi_lumi_weather_7d256508_temperature
        domain: sensor
        above: 21
      - type: is_temperature    # Außentemperatur Heizung
        condition: device
        device_id: 127ffdc1c800018393ac8d858b189002
        entity_id: sensor.thermostat_damped_outdoor_temperature
        domain: sensor
        above: 20
      - type: is_temperature    # Außentemperatur Osten
        condition: device
        device_id: c36602c5fb9517e3d9f449f9397b7ad8
        entity_id: sensor.signify_netherlands_b_v_sml004_b692d10b_illuminance
        domain: sensor
        above: 22
      - type: is_illuminance    # Lux Sensor Osten
        condition: device
        device_id: c36602c5fb9517e3d9f449f9397b7ad8
        entity_id: sensor.signify_netherlands_b_v_sml004_b692d10b_illuminance
        domain: sensor
        above: 5500
      - condition: time        # Zeitvorgabe für Osten
        after: "04:00:00"
        before: "14:00:00"
        weekday:
          - mon
          - tue
          - wed
          - thu
          - fri
          - sat
          - sun
      - type: is_temperature    # Außentemperatur Westen
        condition: device
        device_id: 99f7d14d97a53fa22c5fdfff5a33b6b2
        entity_id: sensor.signify_netherlands_b_v_sml004_d381d10b_temperature
        domain: sensor
        above: 22
      - type: is_illuminance    # Lux Sensor Westen
        condition: device
        device_id: 99f7d14d97a53fa22c5fdfff5a33b6b2
        entity_id: sensor.signify_netherlands_b_v_sml004_d381d10b_illuminance
        domain: sensor
        above: 5500
      - condition: time        # Zeitvorgabe für Westen
        after: "12:00:00"
        before: "22:00:00"
        weekday:
          - mon
          - tue
          - wed
          - thu
          - fri
          - sat
          - sun
action:
  - type: turn_on
    device_id: 67c51a14c8bf6370e9ecd7eee8264872
    entity_id: switch.sonoff_10015bce45_4
    domain: switch
mode: single
 

u5zzug

Member
Eine Oder-Bedingung, einfügen, die zeitabhängig die Ost/West Sache regelt?

- condition: or conditions: - condition: and conditions: - condition: time after: "04:00:00" before: "14:00:00" - condition: numeric_state entity_id: sensor.temperature above: "21" - condition: and conditions: - condition: time after: "14:00:00" before: "23:00:00" - condition: numeric_state entity_id: sensor.temperature above: "21"

Den Code Button muss man aber ganz schön suchen...
 

alexamend

Active member
oder/or würde in diesem Fall ja zu der Konstellation führen...
Ist der Sensor Außentemperatur über 20°C fährt der Rollo zu
oder
die anderen Bedingungen sind erfüllt und der Rollo fährt zu,
das kann so nicht funktionieren.
 
Zuletzt bearbeitet:

u5zzug

Member
Den oder Block kannst du doch irgendwo in deinen Bedingungen einfügen.

so richtig weiß ich nicht, was du machen willst.
1 und 2 und (3 oder 4) ?
Warum gibst du Mo-So, also immer, an?

Code:
  # Rolle soll zu fahren wenn,
  # Trigger:
  # 1. 15 Minuten nach Sonnenaufgang
  # Bedingung:
  # 1. Raum Temp. <=21°C
  # 2. Außen Temp. <=20°C
  # 3. Helligkeit Ost, 5500 Lx übersteigt & Außen Temp. <=22°C
  #    --> und Mo. - So. Uhrzeit zwischen 04:00 Uhr bis 14:00 Uhr
  # 4. Helligkeit West, 5500 Lx übersteigt & Außen Temp. <=22°C
  #    --> und Mo. - So. Uhrzeit zwischen 12:00 Uhr bis 22:00 Uhr
  # Aktion:
  # 1. Rollo zu fahren
 

blurrrr

Well-known member
Ja, von den Bedingungen her muss es in eine.
Sorry, stehe noch immer auf dem Schlauch, aber wenn wir reden doch "entweder" von "Ost", ODER von "West" und es sollen doch nicht "alle" Rollos runter, sondern vermutlich nur jene, welche in die jeweilige Richtung (Ost/West) zeigen, oder seh ich das falsch? Da würde für mich nichts gegen 2 Automatisierungen sprechen. Sollen aber "alle" Rollos runter, dann wäre das für mich auch einer etwas für eine "oder"-Verknüpfung. Halt irgendwas in diese Richtung:

YAML:
Rollos runter
- Bedingung
  - Lux + Ost + Zeit + Temperatur
  oder
  - Lux + West + Zeit + Temperatur

Aber weisst ja, ich hab keine Ahnung von HA, also von daher auch nur schwer geraten - ich weiss garnicht, ob man das einfach so gestalten kann 😅
 

alexamend

Active member
Lassen wir einmal die Sinnig-/Unsinnig-Keit außer Acht.
Ich versuche es einmal zu erklären,
Es handelt sich um ein großes Gästezimmer/Büro mit zwei Dachfenster mit Außenrollo, Ost-West Ausrichtung Hersteller Roto somit sind (Becker Centronic Funk Antriebe) verbaut.
An jedem Fenster selbst ist nochmal ein Funktaster für den zugehörigen Rollo und ein mehrkanal Handsender wenn man zu faul zum aufstehen ist.

- Becker centronic USB Stick kostet ca. 70€ (den habe ich leider nicht)

- Becker 1.Kanal centronic Handsender war im Lieferumfang noch mit dabei, 4Ch WLAN reley sonoff hatte ich noch da, somit habe ich aus beidem eine Kombination gebaut.
- Ich lasse das Zimmer auch nicht 100% Beschatten, diese liegt bei ca 75-80%

Kann aktuell damit leider nur beide Rollo zeitgleich auf oder zu fahren, bzw. stoppen.
Da es ein 1- Kanal Funksender ist.

Da der Sonnenstand wandert muss ich einmal Vormittag (Osten) und Nachmittag (Westrn) berücksichtigen da dies in den Sommer-/Winter- Monaten natürlich unterschiedlich ist müssen sich die Zeiten der Temperaturen und Helligkeit Sensoren Ost/West überschneiden. Wir hatten ja auch schon Wintermonate an denen es ungewöhnlich warm war. Dann sollen die Rollos natürlich auch zu fahren.

Somit ergibt sich Ost und West abhängig von der Tageszeit als Bedingung.

Wie bereits geschrieben ist Sonnenaufgang aktuell nur zum Testen eingesetzt, da sich dieser über "Entwicklertools -> Zustände" jederzeit schalten lässt, somit kann man gleich jegliche Änderungen testen ob die gewünschte Funktion gegeben ist.
 
Zuletzt bearbeitet:

alexamend

Active member
So Ich konnte es lösen indem ich nun and mit or verschachtelt habe, diesen weg gibte es über die Visuelle Konfiguration so nicht, geht nur über den code editor -> nachdem man den code angepasst hat -> lässt sich dieser dennoch Visuell darstellen und weiter bearbeiten.

hier mein code:

YAML:
alias: Roto Rollo zufahren wenn zu warm
description: |2-
    # Rolle soll zu fahren wenn,
    # Trigger:
    # 1. 10 Minuten nach Sonnenaufgang
    # Bedingung:
    # 1. Raum Temp. <=21°C
    # 2. Außen Temp. <=20°C
    # 3. Helligkeit Ost, 5500 Lx übersteigt & Außen Temp. <=22°C
    #    --> und Mo. - So. Uhrzeit zwischen 04:00 Uhr bis 14:00 Uhr
    # 4. Helligkeit West, 5500 Lx übersteigt & Außen Temp. <=22°C
    #    --> und Mo. - So. Uhrzeit zwischen 12:00 Uhr bis 22:00 Uhr
    # Aktion:
    # 1. Rollo zu fahren
trigger:
  - platform: state
    entity_id:
      - sun.sun
    attribute: rising
    from: below_horizon
    to: above_horizon
    for:
      hours: 0
      minutes: 10
      seconds: 0
  - type: temperature
    platform: device
    device_id: 5d474e413565ad7a64e05e4c602e8f99
    entity_id: sensor.lumi_lumi_weather_7d256508_temperature
    domain: sensor
    above: 21
    for:
      hours: 0
      minutes: 10
      seconds: 0
condition:
  - condition: and
    conditions:
      - type: is_temperature
        condition: device
        device_id: c36602c5fb9517e3d9f449f9397b7ad8
        entity_id: sensor.signify_netherlands_b_v_sml004_b692d10b_temperature
        domain: sensor
        above: 22
      - type: is_illuminance
        condition: device
        device_id: c36602c5fb9517e3d9f449f9397b7ad8
        entity_id: sensor.signify_netherlands_b_v_sml004_b692d10b_illuminance
        domain: sensor
        above: 5500
      - condition: time
        after: "04:00:00"
        before: "14:00:00"
        weekday:
          - mon
          - tue
          - wed
          - thu
          - fri
          - sat
          - sun
      - condition: or
        conditions:
          - type: is_temperature
            condition: device
            device_id: 99f7d14d97a53fa22c5fdfff5a33b6b2
            entity_id: sensor.signify_netherlands_b_v_sml004_d381d10b_temperature
            domain: sensor
            above: 22
          - type: is_illuminance
            condition: device
            device_id: 99f7d14d97a53fa22c5fdfff5a33b6b2
            entity_id: sensor.signify_netherlands_b_v_sml004_d381d10b_illuminance
            domain: sensor
            above: 5500
          - condition: time
            after: "12:00:00"
            before: "22:00:00"
action:
  - type: turn_on
    device_id: 67c51a14c8bf6370e9ecd7eee8264872
    entity_id: switch.sonoff_10015bce45_4
    domain: switch
mode: single

hier die VisuelleBearbeitung:

Screenshot_20220817-094537_Home Assistant.jpg

hier der Trace zur kontrolle:

Automation trace.JPG
 
Zuletzt bearbeitet:

u5zzug

Member
Doch, das kann man im UI zusammenklicken, habe ich extra so gemacht.
Man kann kein und/oder oben drüber einfügen, aber wenn man es zuerst auswählt, geht es.
Wenn du statt Gerät numerischer Zustand auswählst und ein markantes Stück vom Namen des Sensors eingibst, hast du den ganz schnell in einem Schritt ausgewählt, ohne den Umweg über Gerät und Auslöser.
Je nachdem, was dir besser/schneller/platzsparender ist.
Und die Wochentage musst du wie gesagt auch nicht angeben, wenn du da nichts selektierst.

Ich finde die grafischen Dialoge immer furchtbar lang. Mit den heutigen Designs sind alle Dialogfelder zwar Handytippgeeignet, aber am PC furchtbar groß mit erschreckend wenig Inhalt pro BIldschirmseite.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
968
Beiträge
14.033
Mitglieder
499
Neuestes Mitglied
John58
Oben