IPSShadowing - eine Beschattungssteuerung

Hallo!

Vielleicht bin ich zu doof oder ich stelle mich einfach nur doof an.

Ich habe mir unterschiedliche Rollläden mit unterschiedlichen Laufzeiten.
Küche 20 Sekunden (normales Fenster), Kinderzimmer 26 Sekunden (Balkontür).

Wenn ich jetzt den Rollladen manuell auf Position 50% fahre, dann dauert das 6 Sekunden, für das komplette schließen dauert es dann von Position 50% bis finster noch 14 Sekunden.
wenn ich jetzt die Laufzeit so anpasse das es passt, müsste ich es auf 12 Sekunden stellen, dann bleibt aber die Schlitze beim Rollladen noch offen, siehe Bild.
Ich hoffe ich hab es halbwegs verständlich erklärt.

Vielleicht kann mir jemand sagen was ich wo einstellen muss damit das passt.

vielen Dank im Voraus
Gerald

Da alle Rollos unterschiedliche „Start“-Zeiten haben, also Zeiten vom Motor-Start bis wirklich sich was am Rollo tut, habe ich mich damit abgefunden das 50% meint 50% der Laufzeit aber nicht Rollos auf 50% zu… um so kleiner (kürzer) das Rollo um so krasser die Differenz. Solange das Script diese Anlaufzeiten nicht berücksichtigt ist das wohl so. Es müsste für Hoch und Runter nochmal unterschiedlich diese Anlaufzeit ermittelt und hinterlegt werden.

50% entspricht der normalen Vorstellung die Hälfte des Fensters. Heißt aber auch das 100% dann ganz unten ist, aber die Schlitze sind noch zu sehen. Die Fahrzeit, bis auch die Schlitze zu sind, muss du also nochmal auf die Fahrzeit von den 50% Addieren. Deshalb entspricht 50% nicht unserer Vorstellung von 50%. Es gibt leider nur AUF (0%) und ZU 100%. Es müsste aber noch eine Angabe geben, die es aber zurzeit nicht gibt.

Hallo!

ja das ist genau mein Problem, wenn ich zu den 50% die erforderliche Fahrzeit addiere, dann ist das Rollo bei 50% real aber zu ca. 75% zu.
Es müsste die Möglichkeit geben zum jeweiligen Prozentsatz die fixe Fahrzeiten zu hinterlegen.

z.b. von 0% auf 50% = 6 Sekunden
von 0% auf 100% = 20 Sekunden
von 50% auf 100% = 12 Sekunden
und auch wieder retour.

oder wie auch immer.

Danke und Gruß
Gerald

oder du benennst einfach 50% in 75% um und baust dir noch ein 25% ein, was aber mit 50% beschriftet ist :slight_smile:

Hallo,

ich habe im Haus ca. 17 Rolläden, die vom Shadowing Modul gesteuert werden. Nun fahren nicht immer alle Rolläden hoch bzw. runter, obwohl ich bereits unterschiedliche Fahrtzeiten angegeben habe. Dabei handelt es sich meistens auch um unterschiedliche Rolläden, die nicht mitfahren. Komischerweise sind im Modul die entsprechende Rolläden umgeschaltet, ohne zu fahren. Auch unter Meldungen und im Log File sieht alles normal aus.

Das Modul habe ich bereits mehrmals gelöscht und neu installiert, allerdings ohne wesentliche Änderung.

Hat jemand ein ähnliches Problem bzw. eine Lösung parat?

Viele Grüße

Bernd

von welchem System sind die Rolladen denn? Werden sie zufällig per Funk angesteuert?

läuft alles über LCN

OK, dann entfällt meine Vermutung mit überschreitung der Anzahl Funk-Befehle etc. Aber irgendwie klingt es nach einem Problem „nach“ dem Modul, also beim ausführen der Aktionen… zu viele Befehle auf einmal oder sowas…

deswegen habe ich die Rolläden schon unterschiedlich fahren lassen. Wobei 9 Rolläden eigentlich nicht so das Problem sein sollte.

Hallo Bernd,

steuerst Du Deine Rollladen über Relais oder Ausgänge?
Ich nutze auch LCN und die Rollladen, die ich per Ausgänge steuere haben bei mir auch Stress gemacht. Da musste ich etwas in der Shutter Component für LCN anpassen.
Ich habe aktuell keinen Zugriff auf’s System und hab nicht 100%ig im Kopf, was ich angepasst habe. Daher vorab schon mal die Frage bzgl. Steuerung per Ausgang, um zu prüfen, ob es sich lohnt, dass ich da nochmal rein schaue.

Viele Grüße,
Christian

Hallo!

d.h. ich muss mich damit abfinden, dass das Anfahren einer Position bei Rollos einfach nicht funktioniert?

Danke
Gerald

Eigentlich nur, dass die Beschriftung nicht mit dem übereinstimmt was du erwartest… 50% ist bei mir immer die selbe position, aber halt nicht 50% offen… Ganz auf und ganz zu stimmen, den Rest muss man sich halt mal zurecht fuxen

Man kann doch auch andere Werte über die Konfiguration einstellen. Dann kann man sich die Settings auf die Oberfläche legen, die besser passen.

Einziger Nachteil dieser Methode: Wenn die Config neu erzeugt wird weil ein Element dazu kommt muss man die Einstellungen neu setzen.

Hallo Andreas,
die Ausgabe des Klarnamens wäre bei „Received StateChange“ und „Apply StateChange“ meiner Meinung nach hilfreicher, als die Ausgabe der DeviceID.
In der „IPSShadowing_Device.class.php“ wären hierfür folgende Änderungen (3 Stück) nötig:

		public function MoveByEvent($Level) {
			/* nachfolgende Zeile muss eingefügt werden*/
			$DeviceName  = IPSShadowing_GetDeviceName($this->deviceId);

		IPSLogger_Dbg(__file__, "Received StateChange from Shutter '".$DeviceName/*IPS_GetName($this->deviceId)*/."', NewLevel=".round($Level).", CurrentLevel=".$this->GetVariableValue(c_Control_Position));
			if ($this->GetVariableValue(c_Control_Position) <> $Level and
			    $this->GetVariableValue(c_Control_StepsToDo)=="") {
				IPSLogger_Inf(__file__, "Apply StateChange from Shutter '".$DeviceName/*IPS_GetName($this->deviceId)*/."', Level=".round($Level));

Ich mache aktuell meine Beschattung manuell per „IPSShadowing_Custom.inc.php“. Während der Beschattung erhalte ich alle 5 Minuten die Logeinträge „Stop von X durch Temperaturprogramm, Programm=Y%“ für alle aktuell zu beschattenden Fenster.
Sind diese Logeinträge alle 5 Minuten von dir gewollt, oder scheitert es an meiner manuellen Beschattung per „IPSShadowing_BeforeActivateShutter()“?
Muss ich hier noch irgendeinen Wert setzen, damit dein Skript weis, dass dieses Fenster bereits beschattet wird?

EDIT:
Vielleicht auch in der IPSShadowing_Logging.inc.php:

			case 'Devices':
				$deviceName   = IPSShadowing_GetDeviceName($DeviceId);
				IPSLogger_Inf(__file__,"Configuration Change for ".$ObjectType."=".$ObjectName."(".$deviceName."): ".$ControlType."=".$Value);
				IPSShadowing_Log("Änderung von Beschattungs Element '$deviceName', '$ControlType'=$Value");
				break;

Hallo Gerald,
doch das funktioniert und zwar per „IPSShadowing_BeforeActivateShutter()“ in „IPSShadowing_Custom.inc.php“.

Hallo Christian,

einige Rolläden werden über Relais und einige über Ausgänge gesteuert. Wenn Du nachsehen könntest, wäre ich Dir dankbar.

Wie hast Du die den Link zwischen LCN (Tasterbedienung) und dem Modul hergestellt? Wenn ich einen Rolladen per Taster fahren lasse erfolgt kein Kommando an das Modul. Von daher habe ich unterschiedliche Positionen der Rolläden (LCN und IPS Modul).

Vielen Dank im Voraus.

Viele Grüsse,

Bernd

Hallo Bernd,

ich hatte bei mir ein ähnliches Problem. Bei mir werden die Rolladen mit Digitalstrom-Aktoren angesteuert. Die Datenmenge auf dem Bus ist auch recht begrenzt.

Ich habe in die Funktion IPSShadowing_BeforeActivateShutter ein sleep eingebaut. Seit dem fahren die Rolladen ohne Probleme.


		$delay[17603] = 2;   //EG Wohnzimmer rechts
		$delay[14033] = 0;   //EG Küche
		
		sleep($delay[$deviceId]);

Wobei die ID hier die ID der Kategorie unter Program/IPSLibrary/Data/modules/IPSShadowing/Devices/Device X ist

Ich habe also dort ein bis zwei Sekunden Delay eingebaut.
Das hat aber zur Folge das das Anfahren von Beschattungszuständen, zb Rolladen halb runter gefahren nicht mehr so gut geht, weil scheinbar der Stop-Befehl zwei Sekunden verzögert ankommt.

Gruß
Christian

Hallo Bernd,

Bei mir sind die Rollläden, die ich über Ausgänge steuere, nur nach unten gefahren, nicht aber nach oben.
In dem Script IPSComponentShutter_LCN musste ich die Methode MoveUp anpassen. Dort wurde in dem Falle, dass die Rollläden über Ausgänge gesteuert werden, die Variable $this->instanceId1 auf 100% gesetzt. Bei meiner Konfiguration muss das aber $this->instanceId2 sein.
Evtl. ist das auch ein Bug in IPSComponent, da auch in der Methode MoveDown die Variable $this->instanceId1 auf 100% gesetzt wird. Ich bin noch am Testen meiner gesamten Konfiguration, bin daher nicht sicher, ob es ein Bug in IPSShadowing ist oder einer in meiner Konfiguration … :wink:

Gute Frage! :slight_smile:
Ich bin gerade dabei das zu realisieren, eine Testversion habe ich schon.
Dazu implementiere ich die Methode HandleEvent, die ebenfalls in dem o.g. Script IPSComponentShutter_LCN als Gerüst existiert. Ich habe das Ganze so implementiert, dass die Methode bei Start und Stopp des Rollladens gerufen wird. Ich ermittle dann aus der vorherigen Position und der Fahrtdauer die neue Position.
Die ersten Tests funktionieren - mit Einschränkungen - ganz gut.

Wenn Du möchtest, kann ich Dir mein Script und Erklärung, was sonst noch einzustellen ist (um die Methode HandleEvent aufzurufen), zukommen lassen.
Da ich dazu einiges dokumentieren muss, schaffe ich das allerdings frühestens Mitte nächster Woche, da wir bis dahin noch in Urlaub sind.

Viele Grüße,
Christian

Hallo,

ich versteh es leider nicht, wie löst das mein Problem?
Vielleicht kann mir jemand auf die Sprünge helfen.

Danke
Gerald