IPSShadowing - eine Beschattungssteuerung

Hallo Andreas,

OK. Das mit dem Update werde ich hinbekommen :smiley:

MOELLER-Aktor habe ich derzeit nur einen und der ist über IPS gesteuert und wird demnächst durch einen HM ersetzt.

Mir geht es nur um die HM-Shutter da ich das komplette Haus demnächst mit diesen ausstatten werde. Die HM habe ja eine %-Variable die aber wahrscheinlich durch eine interne Routine im Shutter errechnet wird. Um einen sicheren Lauf der HM-Module in Verbindung mit deinem Skript zu gewährleisten müssen diese ja mindestens die maximale Fahrdauer eines Rollladen haben könnten/sollten aber höher eingestellt sein.

Sind diese jetzt bei einer Laufzeit des Rollos von 60 Sekunden auf 120 Sekunden eingestellt wird der prozentualle Öffnungs- / Schließungswert wahrscheinlich falsch in IPS angezeigt.

Ich glaube Du hast auch HM. Wie hast Du die direkt Steuerung bei dir gelöst oder steuerst Du nur über das Beschattungsmodul?

Hallo Werner,

ich habe meine HM Aktoren minimal höher (1-2 Sek) eingestellt als in IPS. Prozent Positionen fahre ich allerdings bei meinen Jalosien nie an, denke aber, dass die Anzeige relativ gut passen wird …

Zur manuellen Steuerung verwende ich Taster, die direkt an den Aktoren angeschlossen sind. Wird nun eine Jalousie manuell bedient, wird das über die „LEVEL“ Variable der HM Instanze mittels Event an die Beschattungssteuerung weitergeleitet.
Die Beschattungssteuung übernimmt den Wert als neue Position und geht in den Status „Offen“ oder „Stop“.

Alles klar Andreas,

dann ist es ja genau so wie es sein soll.

Wenn jetzt noch der Offset für Feiertag und Wochenende implementiert ist :rolleyes: dann hast Du uns eine perfekte Beschattungsanlage geliefert.

Hallo Andreas,

ich habe mich heute mit Deinem Beschattungsscript und den damit verbundenen IPS Install und IPS Logger erstmals beschäftigt.

Eigentlich wollte ich „nur mal schnell schauen“ was damit wohl möglich sein würde und hatte im Wiki begonnen zu lesen.

Auf den ersten Blick hatte es mir aufgrund der nötigen Vorinstallationen von Installer / Logger einen kleinen Schrecken eingejagt und es passte in das „nur mal schnell“ dann nicht mehr ganz so rein :slight_smile:

Langer rede kurzer Sinn…ich wurde infiziert und habe installiert und konfiguriert und was soll ich sagen 5 FS20 RST schnurren wie ein Kätzchen mit der Steuerung. Ich bin sehr, sehr begeistert von der Art un Weise wie du die Sachen dokumentierst und ausführtst und möchte dies hier einmal ganz offen ausdrücken und Dir ein recht herzliches Dankeschön über diesen Weg senden.

Es lüppt und ich suche nur noch nach der Ecke wo ich sehe ob die konfigurierten Temperaturen auch wirklich gezogen werden.

Danke und weiter so…:loveips: mit Brownson Scripten :cool:

Gruss
B71

P.S.: Was bin ich froh dass ich keine Variablen zählen muss :smiley:

Hi Andreas,

sorry wieder ein Problem.

Warning:  Objekt Position wurde nicht gefunden in K:\IP-Symcon2\scripts\IPSInstaller.ips.php on line 327
'Position' could NOT be found !!!

Habe die neuen Skript installiert und gleich auch noch die Markise mit Moeller_Eaten mit eingebunden.

Einstellungen:

   "Terrasse"    => array(
    c_Property_ShadowingType =>  c_ShadowingType_Shutter,
    c_Property_DeviceType      =>   c_DeviceType_MoellerEaton,
    c_Property_DevicePath      =>   'Terrasse.Markise Moeller',
    c_Property_TimeOpening  =>  47,
    c_Property_TimeClosing  =>  46,
    c_Property_TimeDimoutUp  =>  2,
    c_Property_TimeDimoutDown =>  3,
    c_Property_TimePause   =>  1,
    ),

Könnte deine Unterstützung benötigen :rolleyes:

Ups, da hat sich bei meinen letzten Tests mit dem Shutter-Module wieder ein kleiner Fehler eingeschlichen, da fehlt ein break im File IPSShadowing_Installation.ips.php…

so sollte es aussehen:


switch($DeviceType) {
   case c_DeviceType_Homematic:
      $HomematicId  = get_ObjectIDByPath($DevicePath.".LEVEL");
      $EventId      = CreateEvent($DeviceName, $HomematicId, $ScriptIdChangeSettings);
      break;
   case c_DeviceType_MoellerEaton:
   case c_DeviceType_LCN:
   case c_DeviceType_Enocean:
   case c_DeviceType_FS20:
   case c_DeviceType_1Wire:
   case c_DeviceType_Custom:
      break;
   case c_DeviceType_ShutterModule:
      $InstanceId  = get_ObjectIDByPath($DevicePath.".Position");
      $EventId      = CreateEvent($DeviceName, $InstanceId, $ScriptIdChangeSettings);
      break;
   default:
      die("Found Unknown DeviceType '$DeviceType'");
}

Wie sollte es auch anders sein, es hat geklappt.

Danke.

@B71 :slight_smile:

Mal sehen was als nächstes kommt - schätze mal meine Licht-Steuerung, die befindet sich bereits in der Endphase. Mit ein paar Kleinigkeiten bin ich noch nicht ganz zufrieden. Konfiguration wird aber wieder eher „Anspruchsvoll“, außerdem werd ich diesmal wohl von vorneherein mehr Hardware implementieren.
Btw: wäre doch schön, wenn sich unsere IPS „Götter“ auch mal zu einem kleinen Ausblick hinreisen lassen würden :loveips:

P.S.: Was bin ich froh dass ich keine Variablen zählen muss

ja ja, man wird schon etwas verschwenderisch mit der Zeit, wer hat der hat …

Andreas,

die Markise hat ja nur indirekt mit der Beschattung zu tun aber könnte man diese auch als Device eintragen? Der eigentlich Unterschied ist ja nur die Umkehrung der Zustände Offen/Geschlossen.

ja, da haste recht - hatte ich bis jetzt geistig immer mit einem Rolladen gleichgesetzt, aber ich denke auch, die sollte man gesondert behandeln. Wird wohl ein eigener „ShadowingType“ werden…

Würde mich freuen. Danke

Mal ein Denkanstoss zur Diskussion.

Könnte man mehrere Innentemperaturfühler nicht auch den Devices zuordnen?

Beim jetzigen Stand hat das ganze Haus, jedes Stockwerk und jeder Raum nur den einen Temperaturfühler. Wäre es nicht sinnvoll je Raum einen definieren zu können.

Desweiteren wäre eine Gruppenbildung von Devices vielleicht sinnvoll. Man muss ja nicht immer alle einzeln ansprechen. OK. Man kann ja alle mit den selben Parametern einstellen, aber z.B. alle Rollläden Wohnzimmer runter hätte doch einen weiteren WAF-Punkt anstatt alle einzeln anzuklicken.

Installiert und folgende Sachen aufgefallen,

Alles 1-wire :

Übersicht im Webfront ist leer,
des weiteren bekomm ich beim fahren manuell übers Webfront :

Fatal error:  Call to undefined function get_ObjectIDByPath() in [Program\IPSShadowing\Scripts\IPSShadowing_ChangeSettings] on line 58

ABER trotzdem geil :slight_smile:

ja, ist wieder ein kleiner Fehler, Zeile 58 in IPSShadowing_ChangeSettings.ips.php sollte lauten:


$DeviceType = get_DeviceTypeByInstanceId(get_InstanceIDByDevicePath($DevicePath));

Was die leere Übersicht betrifft, stelle sicher, dass Du die letzte Version des IPSInstallers hast …

THX Fehler weg.

Aber warum bei Übersicht und Einstellung alles leer ist…???

Hatte mal das selbe Problem, damals konnte ich das Problem auf das Zeichen „_“ in den WFC Items zurückführen -> also überprüf nochmals, ob die Prozedure „PrepareWFCItemData“ im IPSIstaller.ips.php folgende Zeilen enthält:


$ItemId   = str_replace(' ','_',$ItemId);
$ParentId = str_replace(' ','_',$ParentId);
$ItemId   = str_replace('_','',$ItemId);
$ParentId = str_replace('_','',$ParentId);

Ansonsten poste mal Deine Konfiguration, eventuell kann ichs ja reproduzieren …

OK, hab ich auch drin gehabt in der Install

hier mal die config fürs Erdgeschoss :

<?
	include_once "IPSShadowing_Constants.ips.php";

	// Common Configuration Settings
	// --------------------------------------------------------------------------
	define ("c_Setting_TempOutdoorPath",	"KS300.Temperatur");
	define ("c_Setting_TempIndoorPath",		"EG.Wohnzimmer.HM_Heizung_Wohnzimmer.TEMPERATURE");

	// Present Configuration
	define ("c_Setting_PresentPath",			"");

	// Twillight Configuration
	define ("c_Setting_TwilightBODPath",			"Program.Weather.Sunrise.SunriseBegin");
	define ("c_Setting_TwilightEODPath",			"Program.Weather.Sunrise.SunriseEnd");
	define ("c_Setting_TwilightLimitedBODPath",	"Program.Weather.Sunrise.SunriseBeginLimited");
	define ("c_Setting_TwilightLimitedEODPath",	"Program.Weather.Sunrise.SunriseEndLimited");

	// Logging List Length
	define ("c_LogMessage_Count",					9);

	// Device Configuration
	// --------------------------------------------------------------------------
	function get_ShadowingConfiguration() {
	   return array(
	      "WZ Erker1"  	=>	array(
				c_Property_ShadowingType	=> 	c_ShadowingType_Shutter,
				c_Property_DeviceType      =>    c_DeviceType_Auto,
				c_Property_DevicePath      =>    'EG.Wohnzimmer.Rollläden.Erker1',
				c_Property_DevicePath2     =>    '',
				c_Property_TimeOpening		=> 	30,
				c_Property_TimeClosing		=> 	30,
				c_Property_TimeDimoutUp		=> 	2,
				c_Property_TimeDimoutDown	=> 	3,
				c_Property_TimePause			=> 	1,
				),

	      "WZ Erker2"  	=>	array(
				c_Property_ShadowingType	=> 	c_ShadowingType_Shutter,
				c_Property_DeviceType      =>    c_DeviceType_Auto,
				c_Property_DevicePath      =>    'EG.Wohnzimmer.Rollläden.Erker2',
				c_Property_TimeOpening		=> 	30,
				c_Property_TimeClosing		=> 	30,
				c_Property_TimeDimoutUp		=> 	2,
				c_Property_TimeDimoutDown	=> 	3,
				c_Property_TimePause			=> 	1,
				),
	      "WZ Erker3"  		=>	array(
				c_Property_ShadowingType	=> 	c_ShadowingType_Shutter,
				c_Property_DeviceType      =>    c_DeviceType_Auto,
				c_Property_DevicePath      =>    'EG.Wohnzimmer.Rollläden.Erker3',
				c_Property_TimeOpening		=> 	30,
				c_Property_TimeClosing		=> 	30,
				c_Property_TimeDimoutUp		=> 	2,
				c_Property_TimeDimoutDown	=> 	3,
				c_Property_TimePause			=> 	1,
				),
	      "WZ Fenster"	=>	array(
				c_Property_ShadowingType	=> 	c_ShadowingType_Shutter,
				c_Property_DeviceType      =>    c_DeviceType_Auto,
				c_Property_DevicePath      =>    'EG.Wohnzimmer.Rollläden.Fenster',
				c_Property_TimeOpening		=> 	25,
				c_Property_TimeClosing		=> 	25,
				c_Property_TimeDimoutUp		=> 	2,
				c_Property_TimeDimoutDown	=> 	3,
				c_Property_TimePause			=> 	1,
				),
	      "Terrassentür"  =>	array(
				c_Property_ShadowingType	=> 	c_ShadowingType_Shutter,
				c_Property_DeviceType      =>    c_DeviceType_Auto,
				c_Property_DevicePath      =>    'EG.Wohnzimmer.Rollläden.Terrasse',
				c_Property_TimeOpening		=> 	30,
				c_Property_TimeClosing		=> 	30,
				c_Property_TimeDimoutUp		=> 	2,
				c_Property_TimeDimoutDown	=> 	3,
				c_Property_TimePause			=> 	1,
				),
	      "Küche"  =>	array(
				c_Property_ShadowingType	=> 	c_ShadowingType_Shutter,
				c_Property_DeviceType      =>    c_DeviceType_Auto,
				c_Property_DevicePath      =>    'EG.Küche.Rollladen',
				c_Property_TimeOpening		=> 	18,
				c_Property_TimeClosing		=> 	18,
				c_Property_TimePause			=> 	1,
				),
	      "Gäste WC"  =>	array(
				c_Property_ShadowingType	=> 	c_ShadowingType_Shutter,
				c_Property_DeviceType      =>    c_DeviceType_Auto,
				c_Property_DevicePath      =>    'EG.Gäste_WC.Rollladen',
				c_Property_TimeOpening		=> 	18,
				c_Property_TimeClosing		=> 	18,
				c_Property_TimePause			=> 	1,
				),

	   );
	}
?>

P.S. kann man für die Pfadangaben nicht auch die IDs einsetzten ? Wenn ich nur mal was „verschieben“ sollte…

GRUMPF, im anderer Browser und schon ist alles da…:confused:

OK, hat sich erledigt, cache gelöscht!

Hallo Andreas,

mir sind 2 Kleinigkeiten aufgefallen.

1.)
Das von Dir generierte Webfront skaliert auf dem iPAD anscheinend nicht und zeigt somit weder in der Übersicht noch je Raum die Inhalte der 4 Quadranten an. Auf dem Laptop funktionier die Anzeige jedoch einwandfrei.

2.)
Wir eine Änderung der Position der ShutterControl Variablen von „Extern“ durch ein Skript vorgenommen, so bekommt es das IPSShadowing nicht mit und bleibt bei mir auf NULL stehen, obwohl die Positionsvariable auf 75% durch ein Jalousiescript mit SC_Move Befehl gefahren wurde. Liesse sich diese Prüfung noch einbauen oder sollte das eigentlich funktionieren ?

Gruss
Bernd

Ist es möglich auch die Rollläden für die Beschattung zu nutzen ?
Im Augenblick läuft das bei mir über den Sonnenstand ( wo Sonne fahr runter, wo weg fahr hoch)