Moin,
ich habe folgendes Problem.
Ich verwende zum Steuern meiner Markise das Modul ROLLO.
Wenn ich nun aber meine Markise auf 100% ausfahre hängt mein Markisentuch leicht durch.
Um das Tuch zu spannen möchte ich die Markise wieder kurz nach oben fahren.
Nun habe ich vor folgende "Schrittkette" als doif oder ähnliches zu implementieren.
- ist die Markise 100% ausgefahren -> warte 3 Sekunden
--nach Ablauf der Wartezeit -> fahre Markise für 2 Sekunden nach oben
---nach der 2 Sekundenfahrt soll die Markise stoppen
----sobald die Markise komplett eingefahren wurde und irgendwann wieder 100 % erreicht -> starte mit Schritt 1
meine ersten Gehversuche waren aber leider nicht ganz so erfolgreich ...
##1 ## wenn 100.0% ausgefahren, dann 3 Sek. warten und hochfahren
([Markise:pct] == 10) (set Markise open)
##2 ## wenn hochgefahren wird nach 2 Sek. anhalten
DOELSEIF ([Markise:state] eq "drive-up") (set Markise stop)
Um die Wartezeiten abzubilden habe ich folgendes Attribut gesetzt.
attr Markise_spannen wait 3:2
Ich hoffe ihr könnt mir mit meinem Code auf die Sprünge helfen.
Wäre es nicht einfacher die Fahrzeit um 2 sek zu verkürzen?
Gesendet von meinem Doogee S60 mit Tapatalk
Hallo Frank,
leider nicht, da das Tuch ab ca. 80 % Prozent leicht durchhängt.
Eine mechanische Nachspannung der Zugfedern ist leider auch nicht mehr möglich.
Zitat von: Canon.Fritz am 04 Juni 2019, 18:38:36
Moin,
ich habe folgendes Problem.
Ich verwende zum Steuern meiner Markise das Modul ROLLO.
Wenn ich nun aber meine Markise auf 100% ausfahre hängt mein Markisentuch leicht durch.
Um das Tuch zu spannen möchte ich die Markise wieder kurz nach oben fahren.
Nun habe ich vor folgende "Schrittkette" als doif oder ähnliches zu implementieren.
- ist die Markise 100% ausgefahren -> warte 3 Sekunden
--nach Ablauf der Wartezeit -> fahre Markise für 2 Sekunden nach oben
---nach der 2 Sekundenfahrt soll die Markise stoppen
----sobald die Markise komplett eingefahren wurde und irgendwann wieder 100 % erreicht -> starte mit Schritt 1
meine ersten Gehversuche waren aber leider nicht ganz so erfolgreich ...
##1 ## wenn 100.0% ausgefahren, dann 3 Sek. warten und hochfahren
([Markise:pct] == 10) (set Markise open)
##2 ## wenn hochgefahren wird nach 2 Sek. anhalten
DOELSEIF ([Markise:state] eq "drive-up") (set Markise stop)
Um die Wartezeiten abzubilden habe ich folgendes Attribut gesetzt.
attr Markise_spannen wait 3:2
Ich hoffe ihr könnt mir mit meinem Code auf die Sprünge helfen.
ich bringe hier :
Zitatwenn 100.0% ausgefahren, dann 3 Sek. warten und hochfahren
([Markise:pct] == 10) (set Markise open)
gerade die 100% und pct == 10 nicht unter einen hut . ist das ein tippfehler ?
muss es ein DOIF sein , oder nimmst du auch alternativen ?
gruss Byte09
Ach so, OK.
dann DOIF (pct = 100) (set hochfahren 2 sek)
Attribut wait 3
Attribut do always
Gesendet von meinem Doogee S60 mit Tapatalk
Musst nur nochmal schauen welches reading im rollo das Ende der Fahrt zeigt.
Eventuell dann auch (fahrt = Ende and pct = 100)
Ich kenne Rollo nicht, normalerweise sollte sowas mit Sequenzen funktionieren
([Markise:pct] == 10) (set Markise open) (set Markise stop)
DOELSEIF ([Markise:pct] == <Wert für "sobald die Markise komplett eingefahren wurde">)
wait 3,2
Sorry,
mit pct == 10 war ein versuch um die Funktion auszuprobieren, damit die Markise zu Testzwecken immer ganz ausfahren muss.
Natürlich müsste es später dann pct == 100 heißen.
Zitat([Markise:pct] == 10) (set Markise open) (set Markise stop)
DOELSEIF ([Markise:pct] == <Wert für "sobald die Markise komplett eingefahren wurde">)
wait 3,2
Ich habe jetzt folgendes im doif stehen
([Markise:pct] == 10) (set Markise open) (set Markise stop)
DOELSEIF ([Markise:pct] == <Wert für "sobald die Markise komplett eingefahren wurde">)
den wait habe ich per attr eingebunden, also nicht direkt im Skript.
Leider rechnet er nur im ROLLO Modul die Prozente rückwärts. An die Ansteuerung zum hochfahren geht kein Befehl raus.
Zitatdann DOIF (pct = 100) (set hochfahren 2 sek)
Attribut wait 3
Attribut do always
Gesendet von meinem Doogee S60 mit Tapatalk
Musst nur nochmal schauen welches reading im rollo das Ende der Fahrt zeigt.
Eventuell dann auch (fahrt = Ende and pct = 100)
Nun funktioniert alles wie es soll :D
Vielen Dank @
Frank_Huber für die passende Lösung.
Anbei die Lösung die nun bei mir im Einsatz sein wird
([Markise:pct] == 100) (set Markise open) ## wenn 100.0% ausgefahren, dann 2 Sek. warten
([Markise:state] eq "drive-up") (set Markise stop) ## nach Wartezeit hochgefahren und nach 2 Sek. anhalten
attr wait 2,2
Zitat von: Canon.Fritz am 04 Juni 2019, 19:20:14
Ich habe jetzt folgendes im doif stehen
([Markise:pct] == 10) (set Markise open) (set Markise stop)
DOELSEIF ([Markise:pct] == <Wert für "sobald die Markise komplett eingefahren wurde">)
den wait habe ich per attr eingebunden, also nicht direkt im Skript.
Leider rechnet er nur im ROLLO Modul die Prozente rückwärts. An die Ansteuerung zum hochfahren geht kein Befehl raus.
Prozente rückwärts kannst anpassen. Attribut Modus oder so. --> commandred
Gesendet von meinem Doogee S60 mit Tapatalk
Zitat von: Canon.Fritz am 04 Juni 2019, 19:20:14
Ich habe jetzt folgendes im doif stehen
([Markise:pct] == 10) (set Markise open) (set Markise stop)
DOELSEIF ([Markise:pct] == <Wert für "sobald die Markise komplett eingefahren wurde">)
den wait habe ich per attr eingebunden, also nicht direkt im Skript.
Leider rechnet er nur im ROLLO Modul die Prozente rückwärts. An die Ansteuerung zum hochfahren geht kein Befehl raus.
<irgendwas> bedeutet, dass der Benutzer die Angabe festlegt.