[Modul] Rollladensteuerung (BlindControl)

Ja genau.

— plus ein paar Zeichen um auf 20 zu kommen —

Ich habe über die Kontakte ja eine „Dämmerungsposition“ realisiert. Manchmal möchte man einen Rolladen aber manuell in einer andere Position bewegen. Dann wird aber wieder automatisch in die „Kontaktposition“ gefahren.

Bei den Kontakten wird immer sofort auf eine Veränderung reagiert und sie werden auch überwacht. Daran möchte ich nichts ändern. Du könntest aber auf die „Beschattung nach Helligkeit“ ausweichen und dir dort die passenden Variablen definieren.

In den Variablen „Helligkeit“ und „Schwellwert“ hinterlegst du einfach feste Werte. Z.B. 101 und 100.

Damit sollte es gehen.

Also ich nutze den Kontakt zum Öffnen des Rollladen als Lüftungsautomatik für die Bäder und das funktioniert.
Bei Nacht lasse ich die Rollläden der Bäder durch den Kontakt zum Öffnen des Rollladen auf 30% fahren, somit ist bei Kippstellung z.B ein Lüften möglich. Um Mitternacht nehme ich den Kontakt zurück und diese schließen.
Sollte ein größerer Öffnungswert gewünscht werden, so kann dieses manuell erfolgen und der Rollladen verbleibt dann auch dort bis zum Ablauf des Manual DeactivationMovement, da manuell auf einen höheren Wert als durch den Kontakt gefahren wird.
Manuell auf eine niedrigere Position zu fahren würde keinen Sinn ergeben, da dann kein Lüften möglich wäre.

Hallo Zusammen,
zuerst mal: Danke für das Modul, ich bin erschlagen vom Funktionsumfang!

Ich habe allerdings ein Problem, ich probiere gerade herum bezgl. der Beschattung (aktuell noch mit einem Fenster und auch NUR Beschattung).

Dieses steht nach Süden und soll dann je nach Sonnenstand geschlossen werden.
Ich habe Temperatur, Helligkeit und alle möglichen Daten angegeben.
Wo ich große Zweifel habe, ist bei LowSunPositionBlindlevel und bei HighSun…

In der Konfigseite des Moduls kann man manuell fahren, bzw testen, dort ist 0 = auf, 100 = zu.
Bei der Beschattung hingegen, wird eine Float-Zahl abgefragt und mit z.B. 25 und 65 bekomme ich eine Fehlermeldung.
Muss ich für 65% = 0.65 angeben? Und wenn ja, was ist 0.0 = auf oder = zu? (ist das Invertiert?)

Zudem, ich habe aktuell folgende Konfiguration und habe Beschattung ein und das Fenster ist eher so in Richtung 90-100% zu.

Rolladen Scheunenseite (#40304)

Array
(
    [BlindLevelID] => 19174
    [SlatsLevelID] => 0
    [WeeklyTimeTableEventID] => 33493
    [HolidayIndicatorID] => 0
    [DayUsedWhenHoliday] => 0
    [WakeUpTimeID] => 0
    [WakeUpTimeOffset] => 0
    [BedTimeID] => 0
    [BedTimeOffset] => 0
    [ActivatedIndividualDayLevels] => 
    [DayBlindLevel] => 0
    [DaySlatsLevel] => 0
    [ActivatedIndividualNightLevels] => 
    [NightBlindLevel] => 0
    [NightSlatsLevel] => 0
    [IsDayIndicatorID] => 0
    [BrightnessID] => 0
    [BrightnessAvgMinutes] => 0
    [BrightnessThresholdID] => 0
    [DayStartID] => 0
    [DayEndID] => 0
    [ActivatorIDShadowingBySunPosition] => 23296
    [AzimuthID] => 58696
    [AltitudeID] => 23478
    [AzimuthFrom] => 115
    [AzimuthTo] => 235
    [AltitudeFrom] => 15
    [AltitudeTo] => 65.5
    [BrightnessIDShadowingBySunPosition] => 34013
    [BrightnessAvgMinutesShadowingBySunPosition] => 10
    [BrightnessThresholdIDShadowingBySunPosition] => 24282
    [TemperatureIDShadowingBySunPosition] => 26680
    [LowSunPositionAltitude] => 25
    [HighSunPositionAltitude] => 65
    [LowSunPositionBlindLevel] => 0.65
    [HighSunPositionBlindLevel] => 0.25
    [LowSunPositionSlatsLevel] => 0
    [HighSunPositionSlatsLevel] => 0
    [DepthSunLight] => 0
    [WindowOrientation] => 0
    [WindowsSlope] => 90
    [WindowHeight] => 0
    [ParapetHeight] => 0
    [MinimumShadeRelevantBlindLevel] => 0
    [HalfShadeRelevantBlindLevel] => 0
    [MaximumShadeRelevantBlindLevel] => 0
    [MinimumShadeRelevantSlatsLevel] => 0
    [MaximumShadeRelevantSlatsLevel] => 0
    [ActivatorIDShadowingBrightness] => 0
    [BrightnessIDShadowingBrightness] => 0
    [BrightnessAvgMinutesShadowingBrightness] => 0
    [ThresholdIDLessBrightness] => 0
    [BlindLevelLessBrightnessShadowingBrightness] => 0
    [SlatsLevelLessBrightnessShadowingBrightness] => 0
    [ThresholdIDHighBrightness] => 0
    [BlindLevelHighBrightnessShadowingBrightness] => 0
    [SlatsLevelHighBrightnessShadowingBrightness] => 0
    [ContactClose1ID] => 0
    [ContactClose2ID] => 0
    [ContactCloseLevel1] => 0
    [ContactCloseLevel2] => 0
    [ContactCloseSlatsLevel1] => 0
    [ContactCloseSlatsLevel2] => 0
    [ContactsToCloseHaveHigherPriority] => 
    [ContactOpen1ID] => 0
    [ContactOpen2ID] => 0
    [ContactOpenLevel1] => 0
    [ContactOpenLevel2] => 0
    [ContactOpenSlatsLevel1] => 0
    [ContactOpenSlatsLevel2] => 0
    [EmergencyContactID] => 0
    [UpdateInterval] => 1
    [DeactivationAutomaticMovement] => 20
    [DeactivationManualMovement] => 120
    [DelayTimeDayNightChange] => 0
    [DelayTimeDayNightChangeIsRandomly] => 
    [ShowNotUsedElements] => 
    [WriteLogInformationToIPSLogger] => 
    [WriteDebugInformationToLogfile] => 
    [WriteDebugInformationToIPSLogger] => 
)

Kann mir jemand ein bisschen auf die Sprünge helfen?
Danke!

@bumaas
Servus,
Ich habe einen Fehler,
habe nach der Installation überall mal reingesehen und geschaut was in den einzelnen Bereichen alles so drin ist.

Anscheinend wird nicht erkannt dass eine Option nicht verwendet werden soll da ja keine Werte eingetragen sind.


18.05.2022, 11:39:29 |        getUpDownTime | event: {"EventID":35307,"EventType":2,"EventActive":true,"EventLimit":0,"EventConditions":[],"TriggerType":0,"TriggerVariableID":0,"TriggerValue":"","TriggerSubsequentExecution":true,"CyclicDateType":0,"CyclicDateValue":0,"CyclicDateDay":0,"CyclicDateDayValue":0,"CyclicDateFrom":{"Day":0,"Month":0,"Year":0},"CyclicDateTo":{"Day":0,"Month":0,"Year":0},"CyclicTimeType":0,"CyclicTimeValue":0,"CyclicTimeFrom":{"Hour":0,"Minute":0,"Second":0},"CyclicTimeTo":{"Hour":0,"Minute":0,"Second":0},"ScheduleActions":[{"ID":1,"Name":"Roll runter","Color":11216626,"ScriptText":"<?php\n\n\/\/Skript hier einf\u00fcgen","ActionID":"{346AA8C1-30E0-1663-78EF-93EFADFAC650}","ActionParameters":{"SCRIPT":"<?php\n\n\/\/Skript hier einf\u00fcgen"}},{"ID":2,"Name":"Roll hoch","Color":16764708,"ScriptText":"<?php\n\n\/\/Skript hier einf\u00fcgen","ActionID":"{346AA8C1-30E0-1663-78EF-93EFADFAC650}","ActionParameters":{"SCRIPT":"<?php\n\n\/\/Skript hier einf\u00fcgen"}}],"ScheduleGroups":[{"ID":0,"Days":63,"Points":[{"ID":2,"Start":{"Hour":0,"Minute":0,"Second":0},"ActionID":1},{"ID":0,"Start":{"Hour":7,"Minute":30,"Second":0},"ActionID":2},{"ID":1,"Start":{"Hour":21,"Minute":0,"Second":0},"ActionID":1}]},{"ID":1,"Days":64,"Points":[{"ID":2,"Start":{"Hour":0,"Minute":0,"Second":0},"ActionID":1},{"ID":0,"Start":{"Hour":8,"Minute":30,"Second":0},"ActionID":2},{"ID":1,"Start":{"Hour":21,"Minute":0,"Second":0},"ActionID":1}]}],"EventScript":"","EventActionID":"","EventActionParameters":[],"LastRun":1652851800,"NextRun":1652900400}


Vielen Dank. Mit „Beschattung nach Helligkeit“ verhält sich jetzt alles wie gewünscht.

korrekt.In der Testfunktion ist es normiert (0=auf)

Dort musst du den tatsächlichen Wert der Statusvariablen deines Aktors eingeben. Also Rohdaten.

Vermutlich Folgefehler.

Schau ruhig mal ins Debug. Das hilft oft zum Verständnis.

1 „Gefällt mir“

Wie darf ich deinen Hinweis verstehen? Die Debugzeile zeigt, dass du einen Wochenplan mit Aktionen („Roll runter“, „Roll hoch“) und Zeiten hinterlegt hast.
Demnach sollte die Grundfunktion gegegeben sein.

@bumaas

Entschuldigung, nie ist die Fehlermeldung aus dem Status.
Ich kann damit leider nichts anfangen.


18.05.2022, 14:56:31 | TimerPool            | Blind Controller SZ (Update): 
Warning: Variable #1 existiert nicht in C:\ProgramData\Symcon\modules\.store\de.bumaas.blindcontrol\BlindController\module.php on line 3043

Fatal error: Uncaught TypeError: strtotime() expects parameter 1 to be string, bool given in C:\ProgramData\Symcon\modules\.store\de.bumaas.blindcontrol\BlindController\module.php:3043
Stack trace:
#0 C:\ProgramData\Symcon\modules\.store\de.bumaas.blindcontrol\BlindController\module.php(3043): strtotime(false)
#1 C:\ProgramData\Symcon\modules\.store\de.bumaas.blindcontrol\BlindController\module.php(3013): BlindController->getUpAndDownPoints('07:30', '21:00')
#2 C:\ProgramData\Symcon\modules\.store\de.bumaas.blindcontrol\BlindController\module.php(711): BlindController->getIsDayByTimeSchedule()
#3 C:\ProgramData\Symcon\scripts\__generated.inc.php(479): BlindController->ControlBlind(true)
#4 C:\Windows\System32\-(1): BLC_ControlBlind(37353, true)
#5 {main}
  thrown in C:\ProgramData\Symcon\modules\.store\de.bumaas.blindcontrol\BlindController\module.php on line 3043

18.05.2022, 15:08:32 | ScriptEngine         | Semaphore 37353- Blind für SkriptID 0 wurde nicht korrekt verlassen

Zu 6.2 waren zahlreiche Änderungen notwendig. Ich hatte da noch nicht alle Stellen erwischt. Magst du mal die Beta des BlindControl Modul ausprobieren?

Also:

1. Debug hilft :wink:
Der Rollladen war zu, weil ich einen Wochenplan habe, mit nur einer Aktion - durchgehend.
Hatte aber ZU anstatt AUF genommen :man_facepalming:

2. Zwei Fragen zur Funktion - habe ich nicht selbst aus der (sehr umfangreichen) Doku lesen können.
Zuerst eine Info:
Aktuell steuere ich die Rollladen mittels dem Dämmerungsbeginn & Ende von IPS inkl. zeitlicher Begrenzung. Die Rollladen gehen mit dem Sonnenaufgang auf, aber nicht vor 8:00, am WE 8:30, im Kinderzimmer immer manuell (auf).

Die Rollladen fahren 40 min vor Dämmerung auf 40% Öffnung, bzw. 60% (Zivile Dämmerung)
Die Rollladen fahren mit der Dämmerung anschließend kpl. (Nautische Dämmerung) zu.

Meine Fragen zu dem was ich nicht finden konnte:
a) Wie kann ich sicherstellen, dass die Beschattung zufährt, aber niemals auf, jedenfalls nicht Morgens.
(Nicht das mir im Sommer um 5:00 ein Rollladen aufgeht und meine Netzhaut röstet? Im „Glauben“ das Fenster zu beschatten) :wink:

b) Wie kann man mit dem Modul die Fahrt auf z.B. 40% realisieren und dann später eine Fahrt auf 0% Öffnung? (Analog der bisherigen Fahrweise)

Gruß,
Maeffjus

PS: Die mehrfachen Änderungen sind nur ein paar Fehlerkorrekturen in meinem Text.

Das geht über den Wochenplan. Nachts gilt „normally closed“, Tags über „normally opened“

Wenn der Tagesanfang erreicht ist, dann wird die Offen Position angefahren. Ein zweistufiges Öffnen ist nicht vorgesehen. Du könntest es höchstens versuchen, dass du das Property für den Öffnungsgrad über ein Skript zur gewünschten Zeit änderst.

@bumaas

Mit der Betaversion sind die Fehler weg.

Danke

Ich vermute es macht keinen Unterschied, aber ich schließe zweistufig, Öffnen sofort komplett. Zuerst auf 40% Öffnung, dann zu (0%).

Meinst Du, dass es ggf. auch für andere von Interesse wäre diese Funktion zu implementieren?
Ich habe zwei Freunde die das ebenfalls so nutzen, wenn auch nicht über IPS sondern andere Systeme.
(Von einem dieser Kumpels habe ich die Idee überhaupt)

Wenn man wie ich an einer Straße wohnt (Also Hausgrenze = Anfang Bürgersteig), dann ist es ganz nett, wenn es abends dunkler wird die Rollladen auf 40% fahren. Damit hat man noch etwas Restlicht, aber es „glotzt“ nicht jeder automatisch und unbewusst rein. (Dafür ist die Öffnung zu niedrig)

Verstehe jetzt deinen Anwendungsfall. Das sollte sich eigentlich über „Kontakte“ umsetzen lassen. Du könntest als Kontakt eine Variable „Sichtschutz“ nehmen und den unter „Kontakte, bei denen der Rollladen geöffnet wird“ verwenden und die Minimalhöhe auf 40% setzen.
Solange der Kontakt gesetzt ist fährt der Rollladen dann nicht komplett zu.
Wenn es dann komplett dunkel ist, setzt du den Kontakt auf false.

1 „Gefällt mir“

Danke für die Info!

Ich habe jetzt mal ausgiebig überlegt und noch ein paar Probleme gefunden (also im Bezug auf meine spezielle Konfiguration:

  1. Es gibt keine „halbe“ Automatik, oder? Bei mir ist es so, dass ich für jeden Raum wählen kann „auto AUF“, „auto ZU“, „auto AUF & ZU“.
    Bei meiner Tochter fährt der Rolladen nur zu, aber niemals auf.
    (Unser Schlafzimmer hat keine Motoren, daher ist es für meine Frau und mich egal :wink: )

  2. Wie würdest Du denn einen Raum mit z.B. 3 Fenstern manuell bewegen? Über ein Skript und dann dein Modul ansteuern oder direkt den HM-Aktor oder was wäre da deiner Meinung nach der Königsweg?

Hier nochmal kurz (ich überlege evtl das Modul nur zur Beschattung zu verwenden):
Wenn mein Wochenplan nur „offen“ vorsieht, da ich die Rolladen mittels meiner eigenen Steuerung bewege, dann wäre ja grundsätzlich immer NO / Normally Open aktiv.
Wäre also dem Modul erlaubt einen geschlossenen Rollladen in eine Beschattung zu (hochzu)fahren?

Fall ja, müsste ich dann nämlich noch was basteln um die Beschattung erst mit dem Öffnen der Rollladen zu aktivieren. (also ActivatorIDShadowingBySunPosition Nachts auf false und Tagsüber auf True)

Gruß,
Maeffjus

zu 1: die könntest im Wochenplan die Anfangszeit für den Tag auf einen möglichst hohen Tochterkompatiblen Wert setzen. Oder die Automatik ausschalten und erst einschalten, wenn der Rollladen geöffnet wurde.

zu 2: bei manuellen Bewegungen steuert du den Aktor direkt an.

zu 3: hier würde ich die Automatik erst einschalten, wenn der Rollladen geöffnet wurde und wieder ausschalten, wenn er geschlossen wurde.

1 „Gefällt mir“

Danke für deine Hilfe!
Das werde ich machen, dann kann ich das Beste aus beidem Rausholen. Deine Super-Beschattung und meine eigenen Zeitmodelle und Fahrweisen.
Vor allem ist das auch insofern sinnvoll, als durch das automatische Öffnen bei mir im Modul die 120 min-Sperre greift, es sei denn ich aktiviere es erst später :wink:

Moin, ich stehe gerade etwas auf dem Schlauch. Seit Monaten läuft das Modul wie ein Uhrwerk ! Vielen Dank dafür ! :slight_smile:

Immer wenn meine Bool Variable „Urlaub“ true ist, wird die Feier-Urlaubstag Option betrachtet und wie Sonntag erst um 09:30 statt 07:00 geöffnet.
Seit heute funktioniert das nicht mehr.

Die Variable steht auf „True“ aber die Rollos gehen um 07:00 auf (zum Leid meiner Familie :stuck_out_tongue: )



Jemand eine Idee ? Das Datum in Symcon stimmt jedenfalls noch