Wenn ... dann für 10 Minuten nicht ausschalten

Ich würde gerne zwischen 2 Shelly Plugs folgende Beziehung aufbauen:
a) wenn Gerät 1 eingeschaltet ist, dann muss auch Gerät 2 eingeschaltet sein (geht leicht…)
b) wenn Gerät 1 ausgeschaltet wird, dann muss Gerät 2 noch mind. 10 Minuten eingeschaltet bleiben (auch wenn etwa ein anderes Homeegramm es ev. ausschalten würde)

(Gerät 2 soll also immer ein sein, wenn Gerät 1 eingeschaltet ist sowie 10 min danach; Gerät 2 hängt also von Gerät 1 ab, nicht aber umgekehrt)

Wie geht das am geschicktesten?

Das geht bei Geräten nicht (nur bei homeegrammen - diese kann man deaktivieren, dann können sie von anderen HGs nicht abgespielt werden).

Ansonsten simpel:
HG einschalten:
Wenn Shelly 1 eingeschaltet wird
Dann schalte Shelly 2 an

HG ausschalten:
Wenn Shelly 1 ausgeschaltet wird
Dann schalte Shelly 2 mit einer zeitlichen Verzögerung von 10 Minuten aus

1 „Gefällt mir“

Danke.
Falls 2 ist aber nicht so einfach. Gerät 2 soll ja nicht fix 10 Minuten später ausgeschaltet werden (wie du es beschrieben hast), es soll nur sicher gestellt werden, dass es sich nicht ausschaltet (während Gerät 1 läuft und in den 10 Minuten nach Ausschalten von Gerät 1). Es kann (und soll) also ruhig sein, dass Gerät 2 viel länger läuft (z. B. abhängig von anderen Homeegrammen).

Das kanst Du nur erreichen, wenn es nur ein HG gibt, dass das Ausschalten Gerät 2 in Abhängigkeit von Gerät 1 erledigt. Dieses HG wird dann aus den anderen aufgerufen, wenn ein Ausschalten stattfinden sollte, anstatt direkt zu schalten.

hallo, das ging aus deinem ersten Post nicht unbedingt so hervor. dann kannst du nur in die Bedingungen alle die Geräte aufnehmen, an denen ein ausschalten hängt.
also 2. Hg:
wenn Gerät xy ausgeschaltet oder gerät yz ausgeschaltet

Bedingung: gerät xy ist aus und gerät yz ist aus

dann schalte gerät 2 nach XYZ Minuten aus.
hier kannst du auch beim prüfen der Bedingungen einstellen, ob die Bedingungen nur beim auslösen, nur beim ausführen oder an beiden Zeitpunkten erfüllt sein müssen.

wenn du für dich selbst keine Definition hast, wann Gerät 2 ausgeschaltet werden soll, ist es schwierig, einen Rat zu geben.

2 „Gefällt mir“

Geht es nicht irgendwie umgekehrt:
Wenn Gerät 2 ausgeschaltet wird prüfen, ob Gerät 1 ein ist bzw. erst max. 10 Min. ausgeschaltet ist? (Wie könnte ich dies realisieren?)

das wird so mit homee nicht funktionieren. selbst bei IOBroker wüsste ich nicht, dass so eine Bedingung geprüft werden könnte, ob ein Gerät mind. 10 Minuten aus ist.
du benötigst als Trigger (Auslöser) immer eine Aktion oder feste Zeit. dann Bedingungen, unter denen eine gewisse Aktion gestartet werden soll. (optional)

du kannst nicht als Auslöser nehmen
schalte Gerät 2 aus, wenn Gerät xy oder yz vor 10 Minuten ausgeschaltet worden.

Über Homeegramme lösbar:

HG1 „Timer starten“
Auslöser: Gerät 1 wird ausgeschalten
Dann spiele HG2 ab

HG2 „Timer“
Auslöser Abspielen
Wenn Gerät 2 ist eingeschalten beim Auslösen und Ausführen
Dann stoppe HG2 nach 10 min

HG3 „Gerät2 Restart“ bzw. in anderen HGs die Bedingung nützen „HG2 läuft gerade/läuft gerade nicht“, z.B.
Auslöser Gerät 2 wird ausgeschalten
Wenn HG2 läuft gerade
Dann Gerät 2 wieder einschalten

HG2 vor HG1 erstellen. Beim Neuerstellen bei HG2 zuerst irgendeine Aktion eintragen. Dann HG2 nochmal bearbeiten, die Aktion „HG2 stoppen nach 10min“ kann dann hinzugefügt werden und die davor gesetzte Aktion in HG2 löschen.

Beschreib mal genauer, was du erreichen willst. Was schaltet denn der Shelly1 und Shelly2? Und warum kann Shelly 2 unbegrenzt lange laufen? Was ist der Auslöser, dass der Shelly 2 ausgeschaltet wird?

An einem konkreten Fall wird eine Lösung einfacher; evtl. mit einem anderen Lösungsweg, den du beschreibst.

Beispiel: Wenn irgendein anderes HG dein Shelly 2 ausschalten soll, dann langt da evtl. schon eine zeitliche Verzögerung?

HG1
Wenn Shelly1 wird eingeschaltet,
dann stoppe HG2 (wichtiger Punkt, damit bei einem ein/aus/einschalten von Shelly1 das HG2, das zwischendrin getriggert worden ist, ausgeschaltet wird, und somit Shelly 2 mindestens 10 Minuten läuft)
dann schalte Shelly 2 an

HG2
Wenn irgendwas passiert
Dann schalte Shelly 2 mit einer Verzögerung von 10 Minuten aus

Ansonsten kann man den Shelly2 auch in ein HG packen, statt den Shelly2 direkt zu schalten

HG Shelly2 aus
Wenn abgespielt
Dann schalte Shelly2 aus

HG1
Wenn Shelly 1 angeschaltet wird
dann schalte Shelly2 an
Dann deaktiviere HG Shelly2 aus
Dann aktiviere HG Shelly2 aus nach 10 Minuten

Jetzt kann man das HG Shelly2 deaktivieren und nach 10 Minuten aktivieren. Die anderen HGs schalten dann den Shelly2 nicht direkt, sondern das HG Shelly2 aus, und wenn es deaktiviert ist, dann bleibt der Shelly2 einfach an.

Danke für die hilfreichen Ideen und Tipps.
Mal schauen, was sich besser eignet. Das Problem ist halt, dass Gerät 2 auch manuell eingeschaltet wird und nicht nur über Homeegramme bzw. einem Zeitplan.

Du kommst mit immer mehr Anforderungen :joy: schreib doch mal (wie ich schonmal fragte) was du konkret vorhast :wink:

HG1 aus meinem letzten Beispiel mit dem Auslöser
„Oder wenn Shelly 2 eingeschaltet wird“
ergänzen

1 „Gefällt mir“

Das Einzige, was Du nur mit Einschränkungen verhindern kannst, ist ein manuelles Abschalten von Gerät 2 während der Laufzeit von Gerät 1 oder der zehnminütigen Sperrzeit nach dessen Abschalten. Für den Rest gibt es zwei Möglichkeiten.

#1 – sinnvoll, wenn es nur ein oder zwei HG gibt, die Gerät 2 ausschalten könnten und manuelles Auschalten von G2 kein Problem ist

HG1 – „G1 eingeschaltet“
Wenn G1 eingeschaltet wird…
. Dann schalte G2 ein
. Dann deaktiviere alle HG, die G2 ausschalten können

HG2 – „G1 ausgeschaltet
Wenn G1 ausgeschaltet wird…
Bedingung: G1 ist beim Ausführen der Aktionen ausgeschaltet (um ein Wiedereinschalten von G1 während der 10 Minuten abzudecken)
. Dann aktiviere nach 10 Minuten alle HG, die G2 ausschalten können

#2 – sinnvoll, wenn es eine größere Zahl an HG gibt, die G2 ausschalten können, später noch weitere HG dieser Art hinzukommen könnten oder ein manuelles Ausschalten von G2 zumindest rudimentär abgefangen werden soll

HG1 – „G2 geblockt“ (reines Status-/Variablen-HG)
Wenn HG ausgeführt wird…
. Dann sende User X eine Push-Mitteilung „Hier gibt es nichts zu sehen“

HG2 – „G1 eingeschaltet“
Wenn G1 eingeschaltet wird…
. Dann schalte G2 ein
. Dann aktiviere HG1

HG3 – „G1 ausgeschaltet“
Wenn G1 ausgeschaltet wird…
Bedingung: G1 ist beim Ausführen der Aktionen ausgeschaltet (um ein Wiedereinschalten von G1 während der 10 Minuten abzudecken)
. Dann deaktiviere nach 10 Minuten HG1

alle HG, die G2 ausschalten können
Bedingung: wenn HG1 deaktiviert ist

Wenn Du noch etwas gegen das manuelle Ausschalten von G2 tun möchtest und es das G2 nicht stört, wenn es in diesem Fall zumindest für wenige Sekunden ausgeht (also etwa bei einer Pumpe oder einem Ventilator, weniger bei Unterhaltungselektronik, vielleicht noch ok bei einer Lampe), dann kannst Du das noch so abdecken:

HG4 – “G2 wieder einschalten“
Wenn G2 ausgeschaltet wird…
Bedingung: HG1 ist aktiviert
. Dann schalte G2 ein

Und weil mehrfach nach einem möglichen Anwendungsfall gefragt wird: ich habe eine sehr ähnliche Automation für die Entlüftung unseres Waschkellers am Laufen. 30 Minuten nach dem Start des Wärmepumpen-Wäschetrockners, der die Luftfeuchtigkeit ab diesem Zeitpunkt etwas in die Höhe treibt, wird ein Ventilator zur Entlüftung aktiviert. 30 Minuten nach Ende des Trockenprogramms geht er wieder aus, sofern die Luftfeuchtigkeit zu diesem Zeitpunkt bereits unter einem bestimmten Wert ist. In diesen 30 Minuten ist er für einen zweiten Satz HG gesperrt, die den Lüfter generell abhängig von der Luftfeuchtigkeit ein- und ausschalten. Damit ist sichergestellt, dass der Lüfter quasi präventiv während und bis 30 Minuten nach der Trocknerlaufzeit an ist und in dieser Zeit nicht von den anderen HG abgeschaltet werden kann. Ist es danach aber immer noch zu feucht (man denke an einen schwülen, gewittrigen Sommertag, an dem der Trockner schon dreimal gelaufen ist), dann bleibt die Entlüftung an, bis sie von den anderen HG nach Erreichen des gewünschten Levels abgeschaltet wird.

Das einzige was uns der TE verrät, ist das gerät 2 immer an sein soll wenn gerät 1 an ist. Also reicht ein wenn gerät 2 ausgeschaltet wird und gerät 1 an ist, mach gerät 2 wieder an. Die 10 minuten sind irreführend - da wir bereits gesagt - nicht definiert wird, wann gerät 2 abzuschalten ist.

Er hat hier ganz deutlich fast alles verraten was zur Lösung erforderlich ist. Nur die Information, ob auch manuelles Ausschalten unterbunden werden muss, fehlt noch. Er hat klar geschrieben, dass Gerät 2 mindestens 10 Minuten länger laufen muss als Gerät 1 und dann irgendwann von anderen Automationen (oder evtl. auch manuell) abgeschaltet wird. Das ist Information genug und mit meinen Vorschlägen erfüllt. Die reine Überprüfung, ob Gerät 1 läuft, deckt die „10 Minuten länger“ nicht ab.

Mathematisch ja, technisch nein - da es den operator in homee schlichtweg nicht gibt.

Mit dem hg oben kann er seine anderen sachen kombinieren und ist fertig. Also

Wenn feuchtigkeit über x, g2 ein
Wenn feuchtigkeit unter y und g1 nicht an, g2 aus
Wenn g1 an, g2 an
Und zuguterletzt wenn g2 aus und feuchtigkeit unter y, warte 10 min und schalte aus. Hier allerdings beim auslösen u schalten testen.

Welchen „Operator“ gibt es in homee nicht, der für die gewünschten Funktionen relevant wäre? Die von mir beschriebene Lösung arbeitet bei uns in der Praxis exakt so wie sie es soll.

Reicht nicht, da damit die 10 Minuten nach Abschalten von G1 nicht abgedeckt sind.

Die von Dir beschriebene Lösung erfüllt nicht die geforderte zehnminütige Blockade aller anderen Homeegramme, die (aus welchen Beweggründen auch immer) G2 ausschalten könnten. Zudem ermöglicht sie nicht die Erweiterung zum Abfangen eines manuellen Abschaltens während dieser 10 Minuten, falls diese auch Teil der Anforderungen des TE sein sollten (was noch nicht geklärt ist).

Zudem schaltet Dein letztes Homeegramm an dieser Stelle G2 aktiv nach den 10 Minuten aus, was laut TE explizit nicht passieren soll. Es ist lediglich eine Blockade gefordert. Diese Lösung macht also eher das Gegenteil (keine Blockade für andere HG, Abschalten nach 10 Minuten) dessen was der TE möchte (Blockade für andere HG, kein Abschalten nach 10 Minuten).

Na dann soll er deine lösung umsetzen und bums. Es geht hier mit sicherheit um die badlüftung die zusätzlich über feuchtsensoren gesteuert wird - und dafür reichen die 4 hgs und erfüllen alle fälle die auftreten können. Blockade hin oder her.

Er hat nichts von seinem konkreten Use Case geschrieben und ist dazu auch nicht verpflichtet. Es ist auch nicht unsere Aufgabe, die Sinnhaftigkeit seines Use Case zu beurteilen oder darüber zu mutmaßen. Er hat jedoch völlig klar seine Anforderungen beschrieben, die Du beharrlich ignorierst und eine Lösung lieferst, die diese nicht erfüllt. Warum? :man_shrugging:t2:

Du hast bisher weder konkrete, nachvollziehbare Aussagen getroffen, weshalb meine Lösung nicht funktionieren sollte (tut sie seit geraumer Zeit), noch inwiefern meine Hinweise auf die Problemstellen in Deiner Lösung inkorrekt wären und diese die Anforderungen doch erfüllen könnte.

Noch einmal: der TE ist nicht hier um zu hören, dass seine Anforderungen für den uns unbekannten Use Case Blödsinn sind, sondern um eine passende Lösung für seine Anforderungen zu finden. Lege bitte entweder ausführlich dar, wie Deine Homeegramme seine Anforderungen – nicht die, die Du an seiner Stelle hättest – erfüllen können. Oder lege ausführlich dar, weshalb meine Lösung Deiner Meinung nach nicht funktioniert. Ein „Na dann soll er deine lösung umsetzen und bums“ trägt nicht zur Klärung bei.

Steht iwo das deine lösung nicht geht? Verkomplizieren kann man immer alles, damit es genau so ist wie beschrieben. Sinn hin oder her - funktionieren tun letztendlich beide u jetzt lass es gut sein, professor.

Forenklassiker – wenn die Argumente ausgehen, geht’s ad hominem. Bleib bitte auf der Sachebene.

Deine Lösung (die nicht einmal nennenswert weniger Aufwand bedeutet als meine) funktioniert nicht für den vom TE geforderten Anwendungsfall, Punkt. Belege entweder das Gegenteil oder lass es bleiben. Aber ersetze bitte nicht Argumente durch persönliche Angriffe oder bedeutungslose, weil unbelegte Behauptungen á la „und es geht doch“.

Ich bin jetzt hier raus und überlasse es der geneigten Leserschaft, die beiden Varianten zu beurteilen oder sogar auszuprobieren und sich ihr eigenes Urteil zu bilden.