Neuling: Eine Netzteil für NUR 30 Minuten schalten (Timer)

Hallo.

Ich will in eine HA Automatisierung einen Timer einfügen, so einfach aber unmöglich für mich.
Eine Automatisierung sollte eine Netzteil für nur 30 Minuten schalten.
Ich habe es so versucht (neue Automatisierung):

  • “SOBALD” (Auslöser hinzufügen) “Entität” - Numerischer Zustand - unter 22 (V) geht, (bei mir DAC Wert von Shelly Uni Plus, am Akku gemessen),

  • “DANN” (Aktion hinzufügen) “Gerät” - Netzteil_160W/schalte Netzteil_160W ein.

Ganz simpel und funktioniert. Aber die Netzteil soll NUR auf definierte Zeitspanne eingeschaltet werden, zum Beispiel für 30 Minuten, und danach warten auf die nächste Spannungsabfall unter 22V.

Das kriege ich aber nicht. Meine Logik und Logik von Home Assistant , das zwei verschiedene Welten sind.
Ich habe in “Geräte und Dienste” unter “Helfer” einen Timer erstellt, genau für 30 Minuten (heißt "Timer_30). Aber wie kann ich den Timer Helfer für die Automaistation einfügen??? Ich finde es nicht.
Hilfe!

Grüße
toms61

actions:
  - action: timer.start
    metadata: {}
    data: {}
    target:
      entity_id: timer.timer_30

Danke, aber für mich nur Bahnhof :frowning:
Könnte man es irgendwie mit UI lösen? Für Anfänger viel einfacher.
Im UI gibt “Automatisierungen” und auch “Helfer” und einfache grafische Oberfläche.
Mit YAML werde ich gleich zwei Stolpersteine haben. Geht es nicht einfacher?

Grüße

Nachtrag:

Mit YAML habe ich nicht viel Erfahrungen.

Wo soll ich es rein kopieren, in welche stelle?
In automations.yaml steht bei mir am ende:

alias: Test TIMER
  description: ''
  triggers:
  - trigger: numeric_state
    entity_id:
    - sensor.batterie_spannung_voltmeter
    below: 23
  conditions: []
  actions:
  - type: turn_on
    device_id: 9cc07093e4e708088f69a1f21a615b45
    entity_id: f90eebc8e31b1d905fe7418555ffd8e1
    domain: switch
  mode: single

:crayon:by HarryP:
. Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)
. Codezeilen formatiert (bitte immer in </> einbinden)

Such doch bei den Aktionen einfach mal nach timer

So wie auf dem Bild funktioniert Timer nicht.


Netzteil bleibt eingeschaltet. Für Test habe ich im Timer (Hefer)
die Zeit auf 5 Sekunden eingestellt.

Du könntest auch einfach eine zweite Automatisierung bauen:
Wenn Netzteil ein
für 30 Minuten
dann Netzteil aus

Das Wichtigste ist, zu verstehen, daß HA nicht mit Pegeln arbeitet, wie man es erwarten würde, sondern mit Flanken.
Es wirt also nicht abgefragt, ob z.B. ein Eingang “ein” ist, sondern ob er zu “ein” wechselt.

Verstehe nicht so ganz. Wenn die Netzteil mit Timer für 30 Minuten startet, geht automatisch mach 30 Minuten aus.

Übrigens es sieht jetzt in automations.yaml so, aber funktioniert nicht:

- id: '1733850922756'
  alias: Test TIMER
  description: ''
  triggers:
  - trigger: numeric_state
    entity_id:
    - sensor.batterie_spannung_voltmeter
    below: 23
  conditions: []
  actions:
  - type: turn_on
    device_id: 9cc07093e4e708088f69a1f21a615b45
    entity_id: f90eebc8e31b1d905fe7418555ffd8e1
    domain: switch
  - action: timer.start
    metadata: {}
    data: {}
    target:
      entity_id: timer.timer_30min
  mode: single

Und, wenn ich das Code angucke (ich bin aber Laie!), meine Logik sagt mir:
senkt die Spannung unter 23V schalte ich eine Netzteil, UND einen Timer ein. Die Netzteil läuft ewig, den Timer (als selbständiges Gerät) geht nach 30 Minuten aus, Aber nur der Timer geht aus, weil er nichts von der Netzteil weiß.

Ich dachte, dass ein Gerät für definierte Zeit einschalten, einfacher wird.

Nach dem Timer fehlt doch auch die Ausschalt-Aktion … oder woher soll HA wissen, was danach passieren soll?

? Ich dachte, nach eingestellter Zeitspanne im Timer, upps.
Wie mache ich es?

Wie gesagt, meine Logik arbeitet anders.

Wie lässt du es einschalten? Überlege mal …

so:


Funktioniert trotzdem nicht.
Jetzt geht die Netzteil EIN und sofort AUS, ohne Verzögerung.

- id: '1733850922756'
  alias: Test TIMER
  description: ''
  triggers:
  - trigger: numeric_state
    entity_id:
    - sensor.batterie_spannung_voltmeter
    below: 23
  conditions: []
  actions:
  - type: turn_on
    device_id: 9cc07093e4e708088f69a1f21a615b45
    entity_id: f90eebc8e31b1d905fe7418555ffd8e1
    domain: switch
  - action: timer.start
    metadata: {}
    data: {}
    target:
      entity_id: timer.timer_30min
  - type: turn_off
    device_id: 9cc07093e4e708088f69a1f21a615b45
    entity_id: f90eebc8e31b1d905fe7418555ffd8e1
    domain: switch
  mode: single

Der Timer ist richtig konfiguriert?

Unter “Geräte”-“Helfer”:


Für Test auf 10 Sekunden eingestellt.

Und die Automatisierung starte ich für Test, per Befehl “Aktionen Ausführen” , warte nicht auf die Spannungsabfall.

Hast du eine andere Automatisierung, die vielleicht rein grätscht?
Ansonsten habe ich erst mal keine Idee mehr.

Wenn der Trigger (Spannung unter einem Wert) ausgelöst wird wird folgendes ausgelöst:

  • Schalte Netzteil ein
  • Starte Timer
  • Schalte Netzteil aus

Die Automation wartet nicht auf den Timer.
Schnell kannst du das Problem lösen, wenn du statt dem Timer eine Verzögerung einfügst. Findest du unter „Bausteine“.
Hat aber den Nachteil, wenn die Automation unterbrochen wird, dass das Netzteil ewig läuft.
Mit deinem Timer brauchst du eine zweite Automation. Auslöser ist Timer Ende (wechselt zu Leerlauf). Damit wird Netzteil ausschalten getriggert.
[SOBALD Timer_30 sich in Leerlauf ändert, DANN schalte Netzteil aus.]

Mit einer 2. Automatisierung braucht es dann erst keinen Timer. Als Trigger kann man dann nehmen, dass der Shelly für 30 Min. on ist.


“Aus” geht in 0,05 Sekunden?!

!!!TOP, mit Verzögerung FUNKTIONIERT es! Das ist schon was.
Warum aber nicht mit Timer?

:crayon:by HarryP: Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)

Aktion ist Timer Start. Wurde ausgeführt.

Ja geht natürlich auch so. Aber wenn in der Zeit ein Neustart von HA stattfindet, bin ich nicht sicher wie HA reagiert.

1 „Gefällt mir“

Ich hatte einen kleinen Denkfehler.
Du musst natürlich prüfen, ob der Timer nicht mehr läuft.

Also: WENN Timer im Leerlauf ist, dann schalte Shelly aus.

actions:
  - if:
      - condition: state
        entity_id: timer.timer_30min
        state: idle
    then:
      - action: switch.turn_off
        metadata: {}
        data: {}
        target:
          entity_id: switch.xy

So wie maxe geschrieben hat:
Du musst eine Trigger setzten wenn der Timer abgelaufen ist.