Wassercomputer bauen - ein paar Fragen zu Umsetzung Allgemein, Relais/ SSR Modul

Genau so möchte ich das ja auch machen - ich habe mich auf den Beitrag oben bezogen, dort wurde es meinem Verständnis nach anders umgesetzt. Da hatte ich Bedenken.

Ich kaufe ein “e” für das wider. :grimacing:

Na ich seh schon, es gibt also diverse Möglichkeiten einen WLAN Ausfall abzufangen.
Habe auch gesehen, dass man in der tasmotasoftware direkt Timer einrichten kann. Da kam mir schon der Gedanke, dass sich das abschalten so realisieren kann. LutzHB hat das ja dann beschrieben. Es geht also.
Tja und bei den Relais, wie gesagt ich hab bei den kleinen blauen noch keine Probleme gehabt, solange der steuerstrom stimmt! Bei vielen Relais auf einer Karte kann so ein kleines Steckernetzteil schnell überfordert sein. Wenn auf meiner MoBa Weichen mit einer Diodenmatrix schalten wollte, d.h. bis zu 8 Relais fast zeitgleich… hatte ich Anfangs Probleme selbst bei 3fach überdimensionierter Stromversorgung. Die neigen dann zum “kleben” bleiben, weil die einfach zu langsam anziehen. Dann habe ich den Tipp bekommen, die Stromversorgung am Ausgang mit großen Kondensatoren auszustatten, ich habe dann 2x 4700 microFarad Kondensatoren an die Stromversorgung gebracht, dann hat alles ordentlich mit Dampf durchgeschaltet. Bei Problemen mit diesen Relais würde ich das mal beachten.
P.S. Bei Gardena ab und zu die O-Ringe tauschen, nach 2, 3 Jahren haben die es meist erlebt.

1 „Gefällt mir“

Das mit den Kondensatoren ist eine gute Idee. Ich habe nur einen 1000 microFarad am 8-Fach Relais. Das war vielleicht zu geizig…(geht meistens und geht immer, da ist irgendwie noch ne Dimmension dazwischen)

Ja versuch das mal, ich nehme z.b. auch lieber 12V als 5V, denn die bei 5V geforderten Ströme sind höher und damit die Steckernetzteile bei 5V schneller am Limit.
Die zum schalten erforderliche Leistung ist ja bei allen Relais gleich, sagen wir mal 0,25W bei 12V sind es dann 0,021A, das gleiche Relais bei 5V zieht 0,05A.

Habe mal nachgesehen, die 5V Relais ziehen bei Spule angezogen 0,07A, da die Spulen induktive Lasten sind, wird gerade beim einschalten, kurzeitig der 3 bis 4fache Betrag gezogen. Da braucht es ein Versorgung die so schnell reagiert, nach meiner Erfahrung schafft man das nur mit Kondensatoren in der Versorgungsleitung.

Ich habe noch eine Frage zum ESP Sprinkler Controller Projekt - ich habe eine Pumpe, die bereits an einer existierenden Tasmota Steckdose hängt, kann ich diese auch in den Sprinkler Controller auf ESP Basis integrieren?
Die Beispiele in der Doku drehen sich ja immer um Pumpen, die direkt vom ESP gesteuert werden, das wäre bei mir aber ja nicht der Fall.

Ja, kannst machen.
Du musst eben die Entität in HA als “Ausgabe-Pin” angeben - siehe Link

Ich hab gerade kein Beispiel dazu, ich habe das schon mal gemacht, indem ein ESP die Relais an einem anderen EPS geschaltet hat, eben genau über den weg.

Okay cool, klingt super! Habe mir alles nochmal angesehen. Simon verwendet in seinem Video auch die Sprinkler control - ich werde das mal so umsetzen. Die Hardware hab ich soweit beisammen, heute Abend wird zusammengesetzt. 3D Druck Gehäuse ist auch fertig, kann also losgehen :slight_smile:

Wird ein schönes Projekt um etwas mehr in ESP Home einzutauchen. Noch weiß ich nicht was ich da genau tue, aber das war vor einem Jahr in HA auch noch so. Mittlerweile sind knapp 200 Geräte drin und alles läuft :slight_smile: wird also schon werden. Gut möglich, das ich hier nochmal mit einer Nachfrage aufschlage :wink:

Ja, das macht immer ne steile Lernkurve - geht mir heute noch so, das ich gerade bei ESPHome neue Sachen probieren, die ich nicht kannte.
Bin letzte Woche noch an einem Fehler verzweifelt, den ich hatte, stelle gerade die Struktur meine YAML-File komplett um, um da mehr Struktur reinzubekommen und die einheitlicher zu machen.

So da bin ich wieder :smiley:
Hab alles zusammengeklöppelt, funktioniert soweit!

Habe jetzt testweise einfach mal den Code von Simon analysiert. Es ist im wesentlichen gleich wie der auf der ESP seite, nur noch ein paar Sicherheitsfeatures eingebaut (check das alle Relais zum Start aus sind + max. offen dauer fest reingeschrieben) - beides so sinnvoll wie ich finde.

Allerdings gibt es dennoch ein Problem, bei dem ich nicht durchsteige:

Alle Relais direkt durchschalten → Funktioniert bestens
Alle Relais über die UI Schalter für die Flächen schalten → Funktioniert bestens

Was nicht geht: Den Automatischen Ablauf sauber durchlaufen lassen… Folgendes passiert:

  1. Relais wird richtig angesteuert
  2. Relais wird richtig angesteuert (1. Relais bleibt durch den Overlap noch 5s an)
  3. Wenn das dritte Relais angesteuert werden sollte, gehen allerdings Relais 3 und 4 an und der D1 Mini Pro steigt aus, alle Entitäten kurz nicht verfügbar und dann läufts wieder.

Habe dann mal die Abfolge der Flächen getauscht, es funktioniert auch dann vom 1. zum 2. Relais, aber nicht weiter.

an den Relais selber kann es somit nicht liegen. Habe auch mal die Pins am ESP durchgetauscht → Selbes Spiel…

Was ist hier falsch?

Hier der ESP Yaml Code:

  name: wassercomputer
  friendly_name: Wassercomputer

esp8266:
  board: d1_mini_pro

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: xxx

ota:
  - platform: esphome
    password: xxx

wifi:
  ssid: xxx
  password: xxx

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Wassercomputer Fallback Hotspot"
    password: xxx

captive_portal:

    
switch:
  - platform: gpio
    name: "Relay 1"
    pin: D1
    # Stellt sicher, dass die Relais beim neustart des ESPs ausgeschaltet sind
    restore_mode: ALWAYS_OFF
    id: rasen_sprinkler_valve
    # Schaltet sicherheitshalber den GPIO-Switch nach 10 Minuten aus. Im Bearfsfall die Dauer anpassen ;)
    on_turn_on:
    - delay: 600s
    - switch.turn_off: rasen_sprinkler_valve
  - platform: gpio
    name: "Relay 2"
    pin: D2
    restore_mode: ALWAYS_OFF
    id: blumenwiese_sprinkler_valve
    on_turn_on:
    - delay: 600s
    - switch.turn_off: blumenwiese_sprinkler_valve
  - platform: gpio
    name: "Relay 3"
    pin: D5
    restore_mode: ALWAYS_OFF
    id: gemuese_sprinkler_valve
    on_turn_on:
    - delay: 600s
    - switch.turn_off: gemuese_sprinkler_valve
  - platform: gpio
    name: "Relay 4"
    pin: D6
    restore_mode: ALWAYS_OFF
    id: himbeeren_sprinkler_valve
    on_turn_on:
    - delay: 600s
    - switch.turn_off: gemuese_sprinkler_valve
sensor:
  - platform: wifi_signal # Reports the WiFi signal strength/RSSI in dB
    name: "WiFi Signal dB"
    id: wifi_signal_db
    update_interval: 60s
    entity_category: "diagnostic"
  - platform: copy # Reports the WiFi signal strength in %
    source_id: wifi_signal_db
    name: "WiFi Signal Percent"
    filters:
      - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
    unit_of_measurement: "Signal %"
    entity_category: "diagnostic"
sprinkler:
  - id: garden_sprinkler_ctrlr
    main_switch: "Garten Sprinkler"
    auto_advance_switch: "Garten Sprinkler Auto Advance"
    reverse_switch: "Garten Sprinkler Reverse"
    multiplier_number: "Garten Sprinkler Multiplier"
    repeat_number: "Garten Sprinkler Repeat"
    valve_overlap: 5s
    valves:
      - valve_switch: "Rasen Oben"
        enable_switch: "Aktiviere Rasen oben"
        run_duration_number: "Rasen oben Laufzeit"
        valve_switch_id: rasen_sprinkler_valve
      - valve_switch: "Blumenwiese"
        enable_switch: "Aktiviere Blumenwiese"
        run_duration_number: "Blumenwiese Laufzeit"
        valve_switch_id: blumenwiese_sprinkler_valve
      - valve_switch: "Gemüse"
        enable_switch: "Aktiviere Gemüse"
        run_duration_number: "Gemüse Laufzeit"
        valve_switch_id: gemuese_sprinkler_valve
      - valve_switch: "Himbeeren"
        enable_switch: "Aktiviere Himbeeren"
        run_duration_number: "Himbeeren Laufzeit"
        valve_switch_id: himbeeren_sprinkler_valve        
button:
  - platform: restart
    name: "Garten Sprinkler neu starten"
tippe oder füge den Code hier ein

Auf den ersten Blick sehen ich keinen Fehler.

Sind die einzelnen Ventile im HA auch aktiviert ?

EDIT: vergiss das was ich geschrieben habe, das kanns eigentlich nicht sein, würde ein anderes Verhalten bringen.

Nur ne blöde Idee, aber nehme mal die Sonderzeichen raus:

    - valve_switch: "Gemüse"
        enable_switch: "Aktiviere Gemüse"
        run_duration_number: "Gemüse Laufzeit"
        valve_switch_id: gemuese_sprinkler_valve

Sieht für mich auch OK aus allerdings kenne ich die sprinkler Komponente nicht. Irgendwo dran muss es ja liegen (Hardware-Defekt und Software Bug kommen ja meist seltener vor als Programmiererfehler). Ich würde wohl als nächstes die on_turn_on Aktionen in Scripte im single mode auslagern und mit if condition script.is_running loggen, ob ein Aufruf vielleich ganz häufig hintereinander aufgerufen wird etc. Vielleicht gibt es noch Regeln/Einschränkungen, die uns nicht bewusst sind.

Bei mir sieht es dann so aus:

Einstellen der Laufzeit für die einzelnen Beregnungszonen

Anzeige der (Rest)laufzeit insgesamt und der aktuellen Zone

Ist der aktuelle Strang abgearbeitet, kommt automatisch der nächste dran.
Soll ein Strang nicht bewässert werden, einfach als Laufzeit 0 auswählen, auf der rechten Seite können die Ventile händisch geöffnet und geschlossen werden.

Danke für die Rückmeldungen, habe noch weiter getestet, scheinbar habe ich eine zu kurze Bewässerungszeit verwendet - zum Testen der Schaltabläufe, hatte ich nur 10s Öffnungsdauer. Dabei scheint sich etwas verschluckt zu haben. Bei 20s Öffnungsdauer läuft alles ab wie gewünscht.

Soweit super. Jetzt muss ich noch die Pumpe integrieren und dann kann ich das ganze mit den Ventilen testen.

Interessantes Verhalten , das der dann restartet.

Gut zu wissen

Ja fand ich auch. Aber scheint soweit alles zu klappen.

Noch eine Frage, an die Bewässerungsprofis hier - hängt nicht direkt mit dem Computer zusammen:

Ich nutze zum ersten mal Magnetventile, ich habe hier die Rainbird HV Verwendet und jetzt erstmalig angeschlossen. Diese Brummen (im Trockenen Zustand) recht laut im Eingeschalteten Zustand, ist das normal?

Sind das AC-Ventile ? Dann ist das normal, Verhalten ist wie eine Trafo, der brummt eben auch beim Wechselspannung

1 „Gefällt mir“

Ja genau, sind 24 AC. Okay dann bin ich beruhigt, scheint soweit alles zu klappen.

Sieht gut aus.

Könntest du mal den Code-Snipsel für die Restlaufzeiten teilen - irgentwie bin ich blind das in der Doku zu finden.

Man könnte auch im Dashboard die Schalter pro Ventil anlegen, womit diese dann abgeschaltet werden und dann eben beim Programmlauf übersprungen werden. ( z.b. switch.bewaesserungscomputer_aktiviere_ventil_01 ).

Ich bastel gerade daran, die Laufzeit automatisch berechnen zu lassen und dann in die Steuerung einzubinden - will aber noch nicht. ( Smart Irrigation Integration aus HACS )

Hier aus meinem Test-Dashboard:

Das sind eben die 50Hz Netzbrummen, hast bei allen Geräte, die eine Spule haben mehr oder weniger stark.
Die Ventile beim Bekannten brummen auch, hört man aber nur wenn die Ventilbox im Boden offen ist und man den Kopf reinhält ( der hat Hunter-Ventile )

@Tuxtom007

Ich mache das ja nicht mit einem ESP32, sondern mit 3 Tyua 4-fach Aktoren, zwei vorne am Haus, einer hinten. Insofern wirst du da auch nichts in der DOKU finden.

Ich habe pro Strang einen Helfer (input_number) für den Grundwert, einen Helfer (input_number) für die tatsächliche Beregnungsdauer des Stranges (Grundwert * Multiplikator) und einen Helfer (timer) für den Ablauf.

Zusätzlich einen Helfer (input_number) für die Gesamtberegnungsdauer und einen für den Multiplikator (input_number) .

Ein Scrpit, welches die Beregnungsdauern der einzelnen Stränge berechnet und dann die Gesamtberegnungsdauer. Das script wird durch eine Automatisation gestartet, die auf die Änderung eines beliebigen Grundwerte-Helfers oder des Multiplicators triggert.

Beim Start der Bewässerung wird nur der Timer für den ersten Strang gestartet.

Pro Timer (also pro Strang) gibt es eine Automatisation, die beim Start des Timers die Öffnungszeit für das Hauptventil einstellt und die erforderlichen Ventile - Hauptventil und Strang - öffnet und bei Ablauf des Timers die Ventile schließt und den nächsten Timer startet.


Ich habe das abichtlich so “zerklüftet” angelegt, finde das übersichtlicher und bei Bedarf leichter zu ändern.