Steuerung Jalousie (Shelly 2.5) mit Blockly Script

  • Hallo Zusammen,

    ich benötige etwas Hilfe bei der Programmierung eines Skripts für die Steuerung meiner Raffstore-Rollos mit einem Shelly 2.5


    Situation/Problem:

    Ich habe im Wohnzimmer zwei Raffstore-Rollos welche beim hoch- und runterfahren den Neigungswinkel verändern und an der Endposition entsprechend verbleiben. Ich möchte nun dass die auf eine festgelegte Position fahren und dort dann in die Waagerechte stellen.

    Auf Grund der vom Shelly bereitgestellten Informationen kann ich nur an der Leistungsaufnahme erkennen, dass die Zielposition erreicht ist, weiß aber nicht wie ich diese in das Skript einbinde.


    Was habe ich bisher:

    Gesteuert werden die Rollos je über einen Shelly 2.5 und an der Wand mit dem Gira Wipptaster 4fach.

    In meiner Vis habe ich mir folgende Optionen gebaut:


    pasted-from-clipboard.png

    Mit den Optionen kann ich direkte Positionen anfahren, sowie die manuelle Steuerung übernehmen.

    Mit dem Befehl "quer links/rechts" kann ich dann die Winkel auf Waagerecht stellen. Dazu wird folgendes Skript ausgelöst:

    pasted-from-clipboard.png

    Dabei fahre ich aus einer beliebigen Position für 2 Sekunden nach unten um die Ausrichtung sicherzustellen und dann für 1,3 Sekunden in die Gegenrichtung in die Waagerechte.


    Das funktioniert soweit sehr gut.


    Problem:

    Der Shelly verfügt über die Befehle (open, close, pause) welche jedoch als "Button" angelegt sind und während des aktiven Fahrens eben keine Änderung anzeigen, sowie Position (welche gesetzte wird auf Zielposition, sollte vor Erreichen der Zielposition abgebrochen werden, wird dieser Wert nach Beendigung des Verfahrens aktualisiert):

    Der Wert "Power" ist der einzige der während der Aktion eine Veränderung zeigt.

    pasted-from-clipboard.png


    Ich benötige also nun ein Skript welches die Zielposition anfährt und dann in die Waagerechte fährt oder das erste Skript auslöst. Als einzige Trigger variable habe ich hier aus meiner Sicht "power", weiß jedoch nicht wie ich diese Änderung abgreife.

    Mein erster Versuch mit einer Schleife war dieser und ging schief. Nach ca. 2 Sekunden wird der untere Teil ausgeführt.

    pasted-from-clipboard.png

    Habt ihr eine Idee wie ich das eleganter lösen kann?

    Danke und Viele Grüße


  • Hallo Moritz,

    wie möchtest du die xy% auslösen?

    Du kannst problem los das "quer script" via Blockly an und aus schalten oder antriggern zum auslösen.

    Wird wie ein Schalter (switch) "gesteuert".

    unter glaube Java enabled script kannst du die angelegten Blocklys finden und dir den Pfad raussuchen und das in ein anderes Blockly einbauen.

    Man kann die ein Blocky ohne Trigger anlegen, was beim aktivieren dann einfach ausgeführt wird.

    oder du baust in dein Querblockly das Blockly mit ein, was die xy% steuert, als Abschluss wenn Power auf 0 geht.

    VG

    Maik

  • Hi,

    neo-v danke für deine Antwort.


    wie möchtest du die xy% auslösen?

    Das lässt sich beliebig über das Blockly auslösen mit "Steure Position mit XY".

    Du kannst problem los das "quer script" via Blockly an und aus schalten oder antriggern zum auslösen.

    Das quer Skript auszulösen über den Datenpunkt der damit verbunden ist, funktioniert ebenfalls problemlos.

    oder du baust in dein Querblockly das Blockly mit ein, was die xy% steuert, als Abschluss wenn Power auf 0 geht.

    Das hier ist genau das Problem. Ich müsste das Skript quasi so lange auf "Überprüfen" halten bis er auf 0 geht und dann auslöst. Diese Prüfung muss aber an den ursprünglichen Triffer gekoppelt sein, damit er das nicht immer ausführt wenn der Wert auf 0W springt.

    Dafür habe ich leider keine Idee.

  • Ich kann leider im Moment keine Skripte schreiben. sonst würde ich die einfach ein paar Beispiele zeigen.

    Deshalb fragte ich ja wie du die % Ansteuern möchtest.

    Als Beispiel:

    Über einen bestimmten Datenpunkt z.b. 0-100%. dafür ein Skript schreiben mit der Kopplung auf das "quer". Nur wenn dieser Datenpunkt verändert wird, reagiert er auf quer.

    Wie gesagt:

    wie genau möchtest du es ansteuern.

    Dann kann man das Blockly dafür schreiben, und der Auslöser ist somit bekannt.

    Mit viel Glück kann ich Heute Abend mal was zusammen stellen.

    VG

    Maik

  • neo-v

    Ok verstanden.

    Also angesteuert wird es aktuell so:

    pasted-from-clipboard.png

    Sobald die 23% angefahren werden, springt die Position im Shelly auf 23% (d.h. die Position wird nicht in real-time aktualisiert). Die einzige Änderung die es gibt ist wie gesagt im Punkt "Power".

    Ich muss jetzt also einen Trigger auf Power haben der das bestehende Skript über den Datenpunkt "quer" auslöst sobald Power wieder bei 0W ist.


    ------------------------------------------------


    Ich glaube ich habe eine Lösung gefunden. Nicht sehr elegant aber scheint erstmal zu funktionieren. (hing im ersten Versuch im "quer"-loop fest). Mal sehen ob es Komplikationen gibt.

    Verbesserungen gerne ergänzen :)

    Viele Grüße

    pasted-from-clipboard.png

  • Dieses Thema enthält 10 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.