[Blockly] div Shellys steuern + "Verriegeln" + Warteschleife da Auto OFF ablaufen soll (SMARTE Version)

  • Hallo,

    Vorlage: Blockly zu steuern von z.B. 3 Shelly1 V3 mit Auto OFF Erhaltung SMARTE Version mit Listenfunktion

    Wie gehabt..

    Aufgabe:

    1. es darf nur 1 Shelly gleichzeitig aktiv sein! externe Schaltung über SW direkt oder APP etc. ist nicht überwacht da nur auf die Datenpunkte getriggert wird, wenn dann nur über die Datenpunkte schalten lassen! (sonst wirds noch dicker das Blockly)
    2. der aktive Shelly muss seine voreingestellte Zeit (Auto OFF) ablaufen können
    3. der Wechsel muss unterbrochen werden können, z.B. Also 1 ist aktiv, dann Start 2: der wartet das 1 fertig ist, dann aber Wechsel auf 3, somit 2 wartet nicht mehr, sondern 3 wartet das der 1 fertig ist.
    4. Not Stopp, alle Shelly ausschalten und Datenpunkte zurücksetzen auf false

    In dieser Variante nutzte ich die Listenfunktion.

    Das sieht erst mal "dick" aus, aber ist sehr nützlich, wenn man viele Shelly steuern will. Da spart man sich in diesem Fall die ganzen einzelnen Prüfblöcke.

    Idee:

    Ich sammel in einer Liste die Shellys die ich auslesen will und die Datenpunkte die ich Triggern / Überwachen will.

    Dann werden die Listen gefiltert auf den Zustand true, und dann der Zustand (interne Variable) true dem Datenpunkt und oder Shelly-Link zugewiesen. Damit kann man dann Prüfen und reagieren lassen.

    Datenpunkte werden wieder auf false gesetzt. Damit kann man prima auch ein bestimmten Shelly ausschalten, wenn er schon an ist.

    und es gibt nur eine "Schleife" Zyklus.


    Beim Import darauf achten das links unter Variable kein Müll geschrieben /importiert wird. Wenn da sehr viele Variablen auftauchen sollten mit Buchstabensalat (Zyxc2dsfDsdfgsawerfsdfg) die nicht im Blockly rechts auftauchen, diese einfach löschen.

    Actions:

    Code
    http://192.168.178.70:8087/set/0_userdata.0.Datenpunkte.Forum.Ventile-stop?value=true
    
    http://192.168.178.70:8087/set/0_userdata.0.Datenpunkte.Forum.Ventil-1?value=true
    
    http://192.168.178.70:8087/set/0_userdata.0.Datenpunkte.Forum.Ventil-2?value=true
    
    http://192.168.178.70:8087/set/0_userdata.0.Datenpunkte.Forum.Ventil-3?value=true


    Gesamt:

    Bildschirmfoto vom 2021-06-05 23-06-02.png


    1. Teil: Datenpunkte schreiben lassen, ggf, Ort und Name ändern. Links nicht vergessen einzutragen, Shelly und Datenpunkte.


    Bildschirmfoto vom 2021-06-05 23-05-07.png


    Teil2: Trigger auf die Datenpunkte der Ventile, wenn wahr dann werden die Listen erstellt und gefiltert + die internen Variablen gefüttert.


    Bildschirmfoto vom 2021-06-05 23-05-19.png


    Teil3: Prüfblock auf Basis der internen Variablen (aus Listen erstellt) und ggf. 1x Schleifen wenn ein andere Shelly aktiv ist.

    1.Prüfblock ob der Shelly der geschalten werden soll schon auf true steht, ist das erfüllt wird er ausgeschalten.

    sonstfalls: ob der Shelly der geschalten werden soll schon auf false steht: ist das erfüllt wird geprüft ob schon ein andere Shelly aktiv ist: wenn ja gehts in die Warteschleife.(hier kann man noch einen Zykluszähler einbauen, der bei Anzahl X die Warteschleife beendet)

    sonstfalls: wenn Shelly false ist: wird der Shelly auf true gesetzt, wie gewünscht.


    Bildschirmfoto vom 2021-06-05 23-31-46.png


    Teil 4: Not Stop


    Bildschirmfoto vom 2021-06-05 23-05-40.png


    Blockly:


    Ventile 3 fach steuern SMART.txt

    VG

    Maik

  • neo-v 6. Juni 2021 um 00:02

    Hat den Titel des Themas von „[Blocky] div Shellys steuern + "Verriegeln" + Warteschleife da Auto OFF ablaufen soll SMARTE Version“ zu „[Blockly] div Shellys steuern + "Verriegeln" + Warteschleife da Auto OFF ablaufen soll (SMARTE Version)“ geändert.
  • :saint: Sonderlösung gefragt :saint: :

    die Verzögerung -1 steht jetzt ja auf dem Wert 1000

    Kann man jetzt auch eine neue Variable erstellen "Verzögerung-2" und dann mit einem Datenpunkt verknüpfen, als Beispiel shelly.0.SHSW-25#xxxxxxxxxx#1.Relay0.AutoTimerOff, wobei er natürlich sich auch noch den richtigen Shelly raussuchen müsste, also bei 3 Ventilen müsste er sich natürlich den richtigen Shelly raussuchen.

    Geht mir bei der Frage nur um die Visualisierung vom Schalter der Ventile. Da jetzt der Schalter zwar eingeschaltet wird, aber nach den 1000ms wieder auf aus geht.

    Matze

  • Geht mir bei der Frage nur um die Visualisierung vom Schalter der Ventile. Da jetzt der Schalter zwar eingeschaltet wird, aber nach den 1000ms wieder auf aus geht

    Ähm wieso soll der jetzt aus gehen? das Blocky so wie es ist schaltet nur ein und die Variable aus aus. Das Relais läuft solange bis ausgeschalten wird oder der interne AutoOFF Timer abgelaufen ist wenn eingestellt.

    VG

    Maik

  • Ja das ist richtig, dass Relais läuft solange wie es soll, aber hinter dem Schalter in der VIs liegt bei mir nicht das Relais vom Shelly sondern der DP Ventil aus dem Blockly, da noch ein Adapter da mit drinnen hängt. Weißt ja Sonderlösung 8)

  • Dieses Thema enthält 12 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.