Frage zu Shelly Add-On Digital

Hallo, ich benötige Hilfe einen Flow zu bauen…

Es steht ein Shelly1 Plus mit AddOn, ein Temperatursensor und Türstatus Kontakt zur Verfügung.

Ich benötige folgenden Flow:

Wenn die Temperatur unter 5Grad ist, und die Tür geschlossen ist (Magnet Status (state of input) Nein ist, dann soll der Shelly einschalten.

dann wenn die Temperatur wieder bei über 10Grad ist Shelly aus.

Wie bekomme ich das hin? Habe schon alles inkl. Variable probiert… Danke

Wenn:
Die Temperatur sich geändert hat
Und:
Die Temperatur ist kleiner als 5 Grad (Logic)
State of input ist nein
Dann:
Shelly 1 einschalten

Wenn:
Die Temperatur sich geändert hat
Und:
Die Temperatur ist größer als 10 Grad (Logic)
(State of input ist ja) - wenn gewünscht
Dann:
Shelly 1 ausschalten

Was schaltet denn der Shelly 1 ? Vielleicht lassen sich die Flows noch verfeinern.

Danke für die Antwort, leider gibt es diese Auswahl so nicht. ich habe: Wenn die Temperatur Sensor 1 hat sich geändert

und: hier gibt es genau diese Auswahl nicht… (siehe Bild)

Zu Ihrer Frage: Wenn das Tor geschlossen ist und die Temperatur unter 5Grad ist, schaltet der Shelly die Hallenheizung an


Ich verwende keine Add-ons, deshalb muss ich genauer fragen.
Einfach nochmal, dass ich es richtig kapiere:

An deinem Tor ist ein Shelly Türkontakt, der auf/zu meldet.
An der Heizung ist ein Shelly 1 Plus mit Add-on, an dem ein Temperatursensor angeschlossen ist ?
Der Temperatursensor hat keine Option größer/ kleiner als ?

  • Bitte erstell eine Zahlenvariable Temperatur.
  • Lass die Temperatur des Shelly alle (5) Minuten in die Zahlenvariable schreiben.

Wenn:
Eine Variable hat sich geändert (Temperatur)
Und:
Die Variable (Temperatur) ist kleiner als 5 Grad (Logic)
State of input ist nein
Dann:
Shelly 1 einschalten

Wenn:
Eine Variable hat sich geändert (Temperatur)
Die Variable (Temperatur) ist größer als 10 Grad (Logic)
(State of input ist ja) - wenn gewünscht
Dann:
Shelly 1 ausschalten

Du solltest vielleicht noch einen weiteren Flow schreiben, der die Heizung prinzipiell beim Öffnen des Tores abschaltet.

@Undertaker, wenn ich Stefan richtig verstehe, vermisst er im Und… Bereich die Karte Temperatur ist kleiner als….

@NalaSimba, wie Uwe bereits geschrieben hatte bitte die Logik-Karte benutzen:



Danke für eure Tipps… ich bin zu blöd…

1.) wie bekomme ich das hin?
-Bitte erstell eine Zahlenvariable Temperatur.

  • Lass die Temperatur des Shelly alle (5) Minuten in die Zahlenvariable schreiben.

2.)Mit der Logik was amche ich hier falsch, es fehlt bei Logig, Temperatur ist kleiner als: xxx









Du bist natürlich nicht zu blöd, du bist es einfach noch nicht gewohnt mit Variablen zu arbeiten.


Die Zahlenvariable “Temperatur”(Nummer) mit dem Wert 0 erstellen.
Jetzt kommt der Flow.
Wenn:
Temperatur hat sich geändert
Dann:
(Logic Karte) Eine numerische Variable setzen

  • den Namen der Variable “Temperatur”
  • jetzt unter dem Feld Nummer, die Tags (Kofferanhänger) aufrufen und hier deinen Shelly anklicken, der die Temperatur liefert.
  • speichen und fertig. Die Variable ändert sich jetzt, wenn sich die Temperatur des Shellys ändert.

Jetzt hast du in der Und-Bedingung die Möglichkeit den Wert der Variable auszuwählen, um dein größer und kleiner, zu verwenden.

mhhh danke für die aufmunternden Worte…

kannst du es mir ab hier nochmal erklären:

(Logic Karte) Eine numerische Variable setzen

  • den Namen der Variable “Temperatur”
  • jetzt unter dem Feld Nummer, die Tags (Kofferanhänger) aufrufen und hier deinen Shelly anklicken, der die Temperatur liefert.
  • speichen und fertig. Die Variable ändert sich jetzt, wenn sich die Temperatur des Shellys ändert.

Jetzt hast du in der Und-Bedingung die Möglichkeit den Wert der Variable auszuwählen, um dein größer und kleiner, zu verwenden.

Was meinst du mit Kofferanhänger?

ich müsste doch erstellen:

Wenn Temp. unter 5 ist

UND:

Sensor des Shelly ist geschlossen

DANN

Hier der Sensor:

Vielen Dank vorab für deine Hilfe!!

Starten wir mit der Variable und nennen sie Temperatur.
Mehr-Logik-oben rechts auf das + Zeichen


Oben rechts auf den Haken gehen, die Variable ist gespeichert.
Jetzt der Flow, der die Temperatur in die Variable schreibt:

Jetzt geht es mit dem Flow weiter, der die Heizung schaltet:

Wenn:
Die Variable auswählen mit Logic, eine Variable hat sich geändert.
Und:
Türkontakt ist geschlossen
Die Temperatur ist unter 5 Grad***
Dann:
Shelly ein




Dir fällt auf, dass die Temperatur bereits in die Variable geschrieben wurde.

Guten Morgen Uwe, danke für deine Mühe!

Also Variable erstellen passt, das hatte ich sogar korrekt gemacht, ABER

Bei dir gibt es die Auswahl: EIne Numerische Variable setzen.
Bei mir nur: Variable hat sich geändert oder Event ist eingegangen…

woran kann das liegen, dass ich die komplette Auswahl nicht habe?

Ich hab deinen Denkfehler gefunden.
Du suchst danach unter “wenn”. Versuch das Ganze mal unter “dann”
Wenn:
Temperatur hat sich geändert
Dann:
Eine numerische Variable setzen

Hi, aber ist das nicht wieder der falsche Weg?

Wenn: Die Temperatur hat sich geändert

und: müsste doch sein die Temperatur ist unter 5

DANN:

Shelly xyz schalten ein.

PS: Ich habe diese Ansicht unter dann zur Auswahl: sieht anders aus wie bei dir?

PS: Wir können auch gerne telefonieren oder per TeamViewer. Auch wenn du uns hierfür gegen Entgelt hilfst oder eine Rechnung schreibst bin ich dazu gerne bereit…

Wenn ich helfe, mach ich das gerne und aus Prinzip ohne Bezahlung und erwarte keinerlei Gegenleistung.

Flow Nr.1 hat nichts anderes zu tun, als die Temperatur in die Variable zu schreiben.
Bitte erstell den Flow, löse ihn aus und schau dann unter Logik nach, ob die Temperatur in die Variable geschrieben wurde. Wenn das funktioniert, bist du fast fertig.

Flow Nr. 2 und 3, benutzen diese Variable, um deinen eigentlichen Flow auszulösen. Hierbei ist es egal, was den Flow auslöst und was er schalten soll. Es kommt auf die Und-Bedingungen an. Sind die nicht erfüllt, stoppt der Flow.

Wenn:
Wir gehen mal davon aus, dass der Auslöser das Ändern der Temperatur-Variable ist.
Alternativ kannst du auch das Ändern der Temperatur des Temperatursensors nehmen

Und:
Die Bedingung, dass der Flow weiter geführt wird.
In deinem Fall, wird durch Logik ist kleiner als 5 geprüft, ob die Bedingung zutrifft.
Weiterhin wird geprüft, ob das Tor geschlossen ist.

Dann:
Wenn alle beiden Und-Bedingungen erfüllt sind, wird der Shelly eingeschaltet.
Wenn nicht, stoppt der Flow und der Dann-Befehl wird nicht ausgeführt. Es spielt also keine Rolle, wie oft der Flow durch das Ändern der Temperatur startet.

Den umgekehrten Fall kannst du sehr ähnlich darstellen:
Wenn:
Wir gehen mal davon aus, dass der Auslöser das Ändern der Temperatur-Variable ist.
Alternativ kannst du auch das Ändern der Temperatur des Temperatursensors nehmen

Und:
Die Bedingung, dass der Flow weiter geführt wird.
In deinem Fall, wird durch Logik ist größer als 10 geprüft, ob die Bedingung zutrifft.
Oder:
es wird geprüft, ob das Tor offen ist.

Dann:
Wenn die Und oder Oder Bedingung erfüllt ist, wird der Shelly ausgeschaltet.

Die Oder-Bedingung deshalb, da die Heizung trotz offenem Tor weiter laufen würde, wenn die Temperatur 10 Grad noch nicht erreicht hat.

Du benutzt Advaced Flows, das sieht etwas anders aus, funktioniert aber gleich. Wenn ich arbeite, sind telefonieren oder Team-Viewer ehr schlecht. Mein Chef sitzt mir gegenüber und wäre sicher nicht begeistert.
Wenn ich heute Abend dazu komme, erstell ich dir ein Beispiel mit Advanced Flows, dass es auch so aussieht wie bei dir.

Ihr habt mittlerweile schon so viel geschrieben und ich bin mir auch echt nicht sicher, ob ich Euch wirklich 100 %ig folgen kann, aber habt Ihr Euch mit der selbst erstellten Logik-Variable nicht völlig verzettelt? Wofür wird diese benötigt?
Für die Anforderung im ersten Post wird nämlich keine selbst erstellte Logik-Variable benötigt, alle erforderlichen Flow-Karten sind lt. der Screenshots vorhanden. Der folgende Flow sollte eigentlich genau die Anforderung wiedergeben (nur mit anderen Geräten):

Was meiner Meinung nach in der generellen Logik allerdings noch fehlt sind folgende Punkte:
– Der Shelly (Heizung) sollte ausgeschaltet werden, wenn die Tür geöffnet wird und es unter 5 °C ist


–Der Shelly (Heizung) sollte wieder eingeschaltet werden, wenn die Tür wieder geschlossen wird und es unter 5 °C ist

Was soll außerdem passieren, wenn die Temperatur zwischen 5 und 10 °C liegt?

Hallo zusammen, vielen Dank für die Hilfe!

Ich hatte bisher noch keine Advanced Flows hab das aber jetzt mal gekauft.
Ich denke so müsste es passen?

Jetzt aber meine Frage: Wenn ich aktuell den Shelly “Manuell” anschalte läuft die Heizung. Ich gehe dann auf Flow testen, jedoch geht dieser nicht aus… warum? Temperatur ist aktuell über 10 Grad…

Weil Du die Karten zum Ausschalten der Heizung an dem falschen Ausgang der unteren Logik-Karte Temperatur Sensor 1 ist größer als 10 verbunden hast. Die Karten müssten an den oberen, aktuell blau eingefärbten Ausgang verbunden werden.

Außerdem müsste der die andere Temperatur-Karte (Temp. ist kleiner als 5) und der Kontaktsensor anders angeschlossen werden:

Frage zu dem Kontaktsensor am Tor. Wenn ich es richtig verstanden habe, ist dieser doch an Input 1 angeschlossen, oder? Wenn ja, dann kannst Du folgende Karte anstelle der Logik-Karte State of External Input 1 ist ‘ja’ nutzen:

image

Hier stand Mist :slight_smile:

vielen Dank! Ich habe das mal angepasst. Wo ist der Unterschied ob oben oder unten an der Karte der Strich zum nächsten Feld abgeht?

@undertanker und @DirkG, kennt ihr euch mit einem Shelly Button aus? Kann ich in homey hier auch einen Flow machen oder muss ich dies über die shelly app als Aktion machen?

Der Flow wird am oberen Punkt/Strich fortgeführt, wenn die Bedingung erfüllt/wahr ist, und am unteren Punkt/Strich, wenn die Bedingung nicht erfüllt/nicht wahr ist.

Also wenn die Karte z.B. lautet „Temperatur ist < 5 °C“, dann wird der Flow am oberen Punkt fortgeführt, wenn es < 5 °C sind, und am unteren Punkt fortgeführt, wenn es 5 °C und mehr sind.

Zum Button kann ich nicht viel sagen. Aber er wird von der Shelly App unterstützt, demnach kann man dafür auch Flows erstellen.