dann muss in der esphome für den sensor.yaml folgendes stehen
esp8266:
board: d1_mini
Und siehe dir das noch an → Bodenfeuchtesensoren ESP32 D1 mini ESPHome - #4 von Elektromat
dann muss in der esphome für den sensor.yaml folgendes stehen
esp8266:
board: d1_mini
Und siehe dir das noch an → Bodenfeuchtesensoren ESP32 D1 mini ESPHome - #4 von Elektromat
Ja, das habe auf Anraten im verlinkten Thread so geändert.
Danke Dir.
Habe nun als Auslöser für an und aus zwei Zeitangaben als ID benutzt, zum Testen.
So funktioniert die Automation. Um bestimmte Zeit hat der Shely ausgelöst, min Min. später ausgegangen.
Nur mit der jetzigen Bedingung für die Unterschreitung der Min. Feuchte und Überschreitung der max. Feuchte geht es nicht.
Irgendwo mache ich einen Denkfehler, nur sehen tur ich ihn nicht.
Vielleicht Ihr?
alias: Bewässerung Gewächshaus
description: >-
Steuert das Hunter-Magnetventil basierend auf Tageszeit, Saison und
Bodenfeuchtigkeit
triggers:
- entity_id:
- sensor.durchschnitt_bodenfeuchte_gewachshaus
below: 70
for:
hours: 0
minutes: 5
seconds: 0
trigger: numeric_state
id: Boden zu trocken
enabled: true
- entity_id:
- sensor.durchschnitt_bodenfeuchte_gewachshaus
above: 90
for:
hours: 0
minutes: 5
seconds: 0
trigger: numeric_state
id: Boden nass genug
enabled: true
conditions: #deaktiviert um ohne Conditions zu testen
- condition: or
conditions:
- condition: and
conditions:
- condition: sun
after: sunrise
before: sunset
- condition: template
value_template: "{{ now().month >= 5 and now().month <= 10 }}"
- condition: numeric_state
entity_id: sensor.durchschnitt_bodenfeuchte_gewachshaus
below: 50
- condition: numeric_state
entity_id: sensor.bodenfeuchte
above: 80
enabled: false
actions:
- if:
- condition: trigger
id:
- Boden zu trocken
then:
- action: switch.turn_on
metadata: {}
data: {}
target:
entity_id: switch.bewasserung_gewachshaus_switch_0
- if:
- condition: trigger
id:
- Boden nass genug
then:
- action: switch.turn_off
metadata: {}
data: {}
target:
entity_id: switch.bewasserung_gewachshaus_switch_0
Vielleicht ohne ID arbeiten und einfach über die Bedingung:
Wenn Feuchte <80% schalter an, ansonsten aus.
Dennoch würde mich brennend interessieren, warum die jetzige Aktion nicht läuft. Ich sehe keinen Wald vor lauter Bäume
Ich habe meine Automationen bisher meist durch viel Probieren und Kopieren aus Vorlagen erstellt und eher nicht durch Lesen der Spezifikationen.
Das Ganze sieht für mich eigentlich gut aus und sollte funktionieren. Mir fällt nur auf, dass ich if-Abfragen immer nur mit “condition: state” oder “condition: numeric_state” durchgefürt habe, aber nie mit “condition: trigger”.
Bei “condition: trigger” kommt bei mit immer die Choose-Struktur zum Einsatz:
alias: Bewässerung Gewächshaus
description: >-
Steuert das Hunter-Magnetventil basierend auf Tageszeit, Saison und
Bodenfeuchtigkeit
triggers:
- entity_id:
- sensor.durchschnitt_bodenfeuchte_gewachshaus
below: 70
for:
hours: 0
minutes: 5
seconds: 0
trigger: numeric_state
id: Boden_zu_trocken
enabled: true
- entity_id:
- sensor.durchschnitt_bodenfeuchte_gewachshaus
above: 90
for:
hours: 0
minutes: 5
seconds: 0
trigger: numeric_state
id: Boden_nass_genug
enabled: true
conditions: #deaktiviert um ohne Conditions zu testen
- condition: or
conditions:
- condition: and
conditions:
- condition: sun
after: sunrise
before: sunset
- condition: template
value_template: "{{ now().month >= 5 and now().month <= 10 }}"
- condition: numeric_state
entity_id: sensor.durchschnitt_bodenfeuchte_gewachshaus
below: 50
- condition: numeric_state
entity_id: sensor.bodenfeuchte
above: 80
enabled: false
actions:
- choose:
- conditions:
- condition: trigger
id:
- Boden_zu_trocken
sequence:
- action: switch.turn_on
metadata: {}
data: {}
target:
entity_id: switch.bewasserung_gewachshaus_switch_0
- conditions:
- condition: trigger
id:
- Boden_nass_genug
sequence:
- action: switch.turn_off:
metadata: {}
data: {}
target:
entity_id: switch.bewasserung_gewachshaus_switch_0
Vielleicht ist das nochmal einen Versuch Wert, obwohl es keinen Unterschied machen sollte.
Hier ist ein Tippfehler drin:
Was ich nicht verstehe: Wieso soll sensor.durchschnitt_bodenfeuchte_gewachshaus bei unter 70 triggern, aber in den Bedingungen unter 50 sein?
Und auch wenn ich wie eine Platte mit Sprung klinge: Ein Blick in die trace hilft in den meisten Fällen.
Der Teil mit dem Durchschnitt ist ja disabled, den habe ich nur aus der Vorlage kopiert.
Für einen weiteren Test würde ich den Teil wohl auch erst einmal löschen. Nicht das der “enabled: false” Befehl nur eine Teil der “and” condistion abschaltet und dieser eigentlich deaktivierte Code-Teil den Fehler produziert.
Mir gefällt die deaktivierte Condition nicht so richtig. Wenn der Boden vor Sonnenaufgang bereits zu tocken wäre, dann würde die “zu trocken” Automation nie auslösen.
Da steht leider nur nicht ausgeführt oder so.
Interessant finde ich, die Automatisierung stoppt definitiv den manuell gestarteten Bewässerungvorgang
Also es kann “nur” nicht ausgelöst werden
PS.
Jetzt, wo ich die Bilder des Trases gemacht habe,bhabe ich allerdings einen Eintrag gefunden, der zwischen dem gescheiterten Versuch und dem Ausschalten lag.
Zu der Zeit habe ich die Bewässerung manuell ausgelöst. Scheint als hätte die Automation doch den Shelly getriggert (obwohl er bereits an war)
Das ist ja nur die trace der funktionierenden Automation. Aktiviere doch noch mal den Bedingungsblock und schau dann noch mal in die trace.
Kitty, es geht nicht um die Bedingungen.
Es ging darum, dass due Automation nicht gestattet hat als der Sensorwert den unteren Schwellenwert unterschritten hat.
Nun sehe ich, dass nachdem die Automation nicht ausgeführt wurde und ich den Shelly manuell eingeschaltet habe, die Automation dann doch irgendwann losging. Kann ich mir nicht erklären, warum es mittendrin passiert ist als der Sensorwert bereits die untere Schwellw überschritten hat.