[Modul] Rollladensteuerung (BlindControl)

Ich habe eine neue Version als Beta hochgeladen, die PHP 7.4 unterstützt.

Funktioniert wieder ohne Fehlermeldungen. Danke.

Hallo Burkhard,

mir ist gestern etwas aufgefallen und wollte mal fragen, ob das so gewollt ist oder man es verbessern kann.
Ich bin gestern in ein Zimmer gegangen und das Licht ging erstmal nicht automatisch an. Mir ist aufgefallen, dass in diesem Moment die Rollos automatisch in die Nacht-Position gefahren sind. Sobalt die Rollos ihre Position erreicht haben ging das Licht an (gefühlt 30 Sec. später).
Daraufhin habe ich gleich die Console angeschmissen und mir die „PHP-Ereignisse“ angeschaut, sobalt das Modul die Rollos automatisch in Bewegung setzt.
Ergebnis:
Das System steht praktisch still, solange die Rollos in Bewegung sind. Sobald das Rollo seine Position erreicht hat werden alle anderen anstehened Aufgaben abgearbeitet.
Betätige ich das Rollo manuell bzw. WF ohne Modul werden die anderen Aufgaben weiter abgearbeitet.

System: Win 10, IPS 5.4, Homematic

Bei 7 Rollos wird das System ganz schön lange blockiert.
Ist das nur bei so, oder bei dir auch?

VG Alex

Das klingt nicht gut. Das System sollte eigentlich nicht blockiert werden. Das werde ich überprüfen.

Burkhard

Ist deine Version vom Modul aktuell?
Bis vor einiger Zeit hat es wirklich lange gedauert bis es weiter ging. Aber in den letzten Versionen ist die Blockade kaum zu spüren.

Jepp, aktuelle Version
Stable, nicht Beta

Sollte seit 2.10 Build 4 behoben sein.

Wieso wird bei mir Version 2.10 build 1 angezeigt und kein Update angeboten?

Bin jetzt mal auf die Beta gewechselt, jetzt built 7
Werde es beobachten und berichten.
Allerdings wahrscheinlich erst am Mittwoch.

Update: Erster Test schaut gut aus. Vielen Dank

VG Alex

Gibt es eine Möglichkeit dem Blind Controller mitzuteilen, dass von außerhalb die Rollos gefahren wurden?

Beispiel Terrasse. Die Steuerung nach Sonnenstand funktioniert mittlerweile wunderbar und wie gewünscht. Wenn man aber doch aus der Terrasse-Türe herausgehen möchte, legt man den Hebel um und durch die Kontakt Erkennung fährt das Rollo hoch. Soweit sogut.

Wenn ich nun den Hebel aber wieder zurücklege, möchte ich, dass das Rollo oben bleibt. Wenn ich über den manuellen Taster daneben einmal das Rollo hochfahre (bzw. Stoppe nachdem es ja wieder beginnt herunterzufahren), bleibt es zwar stehen aber nur bis zum nächsten Öffnen und schließen… Ich würde also vermuten der Timer für die Autoaktivierung ist nicht angesprochen worden, vermutlich weil das Manuelle Fahren von außerhalb kam. Wie könnte man das Lösen?

Gegenfrage: wann soll dann die Automatik in deinem Fall wieder aktiv werden? :slight_smile:

Die Antwort kann sehr individuell ausfallen: nach einer gewissen Zeitspanne, beim Verriegeln der Tür, beim Tageswechsel, zu einer bestimmten Uhrzeit, bei einer Freigabe über einen Taster … Da gibt es viele Möglichkeiten.

Von daher ist die beste Lösung, als Kontakt nicht direkt die StatusVariable deines Kontaktes zu nehmen, sondern eine neue Variable (z.B. „Rollladensperre“). Diese setzt du auf „true“, wenn der Kontakt sich öffnet und wieder auf false, wenn du es für richtig hältst - siehe oben.

Da stehen dir dann alle Möglichkeiten zur Verfügung.

Burkhard

Gute Gegenfrage :-).

Aber der Vorschlag mit dem Kontakt hört sich ganz gut an. Würde mir vermutlich sowas bauen wie „Wenn einmal geöffnet, dann erst nach 2h oder Tageswechsel o.ä.“ wieder zurücksetzen…

Danke :slight_smile:

Hallo zusammen,
ich hab bei einem Kunden eine Markise mit zusätzlichem Volant verbaut. Dieser kann 1m ausfahren und hängt daher im ausgefahrenen Zustand teilweise hinter Möbelstücken. Bevor die Markise einfährt soll u.a. deswegen immer der Volant komplett eingefahren sein.
Beide Motoren hängen an einem MDT JAL. Wind, Regen, Frost, Brand, etc. kann ich daher für die anderen Raffstores ganz gut im Bus realisieren, nur bei dieser Markise tue ich mir schwer.
Kunde möchte außerdem, dass die Markise im Blind Control in die automatische Beschattung eingebunden wird (ist ein Penthouse Glaspalast und wird wirklich entsprechend heiß, sogar im Winter).
Hab ich richtig gesehen, dass es keine abhängigen Sperrkontakte gibt?
Meine Lösung wäre daher einfach im ETS die Prio bei der Markise zu ändern und über eine eigene Gruppenadresse in Symcon zu sperren, die den Status des Volant im Blick hat. MDT queued die Befehle ja, d.h. wenn die Markise gesperrt ist, der Volant Abends aber auch eingezogen wurde und die Sperre fällt sollte die Markise nachziehen.
Wäre über einen kurzen Austausch dankbar, vielleicht übersehe ich ein einfache Lösung :slight_smile:
Grüße

Abhängigkeiten in der Form müssen außerhalb von Blind Control geregelt werden.

Eine Möglichkeit wäre, als LevelID eine eigene Variable mit Actionskript zu nehmen und im Actionskript die Abhängigkeiten zu berücksichtigen. Also beim Rausfahren erst die Markise zu fahren, dann den Voilant und erst wenn alle ihre Position erreicht haben, die Variable umzusetzen.
Beim Reinfahren dann andersherum: erst den Voilant hereinfahren, dann die Markise und dann die Variable umsetzen.

Zusätzlich könnte man im Skript berücksichtigen, dass der Voilant nur herausgefahren wird, wenn die Zielposition der Markise „komplett ausgefahren“ lautet.

Hm… hatte ich mir gedacht. Die Idee mit einer eigenen LevelID finde ich gar nicht schlecht. Evt. bastel ich diese dann sogar so, dass die ersten 50% die Markise sind und die letzten 50% der Volant. Dann fährt BlindControl das Ding immer auf 50% aus und beim Einziehen ist es egal wie es steht, symcon arbeitet das richtig ab.
Eine Sperre über die mdts mit der oberen Statuspos habe ich nicht sauber hinbekommen. Die wird leider schon bei 95% angezeigt und irgendwie reagieren die Endlagenschalter der Dinger recht unterschiedlich, je nach vorherigem Stand. Ich hatte es dann doch geschafft die bei „Status obere Position“ noch ein ganzes Stück draußen zu erreichen.
Naja, es wird wohl auch noch ein bisschen drauf ankommen, wie der Kunde sich letztlich die Nutzung des Volant vorstellt. Trotzdem mal danke für die Anregungen :smiley:

Hallo Burkhard,

seit meinem Update auf die Beta läuft das Modul super rund und das System wird nicht mehr während der Fahrt blockiert.
Vielen Dank, super Arbeit.

Vielleicht kannst du mir ja doch noch mal helfen?
Meine Markise ist auch in die automatische Beschattung eingebunden. Dazu habe ich mir ein simples Script geschrieben, welches ein Bool-Var auf true setzt, sobald die Temp über einen bestimmten Wert liegt, soweit so gut. Diese Var habe ich als „Aktivierungs-ID“ der Baschattung im Modul eingebunden.

Jetz kommt es aber vor, dass die Temperatur an der Schwelle von 23° schwankt. Die Markise fährt jetzt alle 3 Minuten raus und wieder rein.

Wie kann ich denn einen Durchschnittswert aus dem Archiv der letzten 10-15 Min. bilden und das als Refenzwert der die Temp im Script angeben, oder hast du noch eine andere Idee?

<?php
$loc    = getvalue(20867);  // Ist es Tag?
$temp    = getvalue(46544);
$mintemp = GetValue(44888);

$bsAktiv = 15337;

if (($temp >= $mintemp) and ($loc == 1)){
			setvalue($bsAktiv, true);
		}else{
			setvalue($bsAktiv, false);
		}

Vielen Dank für das klasse Modul.

VG Alex

Der Ansatz ist richtig. Ich würde aber nicht mit einem Durchschnittswert vergleichen, sondern eine Hysterese nutzen. Durschschnitte können ja genauso eng um ein Limit schwanken.

Auf die „Ist es Tag“ Ermittlung kannst du dabei verzichten, da die Beschattung ohnehin nur tagsüber aktiviert wird.

Also:

<?php
$temp    = getvalue(46544);
$mintemp = GetValue(44888);
$hysterese = 1; // 1 Grad

$bsAktiv = 15337;

if (($temp >= $mintemp)){
	setvalue($bsAktiv, true);
} elseif ($temp < ($mintemp - $hysterese)){
	setvalue($bsAktiv, false);
}

Vielen Dank Burkhard.
Ich zermartere mir den Kopf, wie ich die die Daten aus dem Archiv bekomme und dann kommt von dir ein so simpler, aber sehr effektiver Vorschlag.

Hab’s gleich umgesetzt :loveips:.

Jetzt können die Temperaturen wieder steigen :D.

VG Alex

Guten Morgen,

ich habe ab und an das Problem, dass einige Rollos morgens (normal fahren alle einfach um 5.30 Uhr hoch) nicht hochfahren, aber dennoch den Status „offen“ bzw die Meldung ‚Rolladen - WZ mitte‘ wurde geöffnet (Tag) melden. Heute z.B. das mittlere der 3 Wohnzimmer-Fenster zur Terasse. Die anderen beiden und auch alle anderen 10 Rollos sind sind ganz normal gefahren.

Woran könnte dies liegen?

Da im Modul gewartet wird, bis der Rollladen seine Zielposition als erreicht meldet, ist die Ursache eher außerhalb des Blind Controls zu suchen.
Prüfe mal deine Levelvariable in solch einem Fall. Handelt es sich um ein Funksystem?