IPSShadowing - eine Beschattungssteuerung

Hallo Leute,

Ich habe mir vor 5 Tagen das IPSShadowing installiert da ich Jalousien Installiere und das schon vorbereiten will.
Ich finde das Teil so wie die anderen Library echt super nur hänge ich schon wieder fest mit einem Problem.

Habe alle Installiert und die Poolabdeckung hinzugefügt, soweit so gut nun wenn ich die manuell ansteuern will, kommt immer ein Fehler im WebFront

<?
	/*
	 * This file is part of the IPSLibrary.
	 *
	 * The IPSLibrary is free software: you can redistribute it and/or modify
	 * it under the terms of the GNU General Public License as published
	 * by the Free Software Foundation, either version 3 of the License, or
	 * (at your option) any later version.
	 *
	 * The IPSLibrary is distributed in the hope that it will be useful,
	 * but WITHOUT ANY WARRANTY; without even the implied warranty of
	 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
	 * GNU General Public License for more details.
	 *
	 * You should have received a copy of the GNU General Public License
	 * along with the IPSLibrary. If not, see http://www.gnu.org/licenses/gpl.txt.
	 */    

	/**@defgroup ipsshadowing_configuration IPSShadowing Konfiguration
	 * @ingroup ipsshadowing
	 * @{
	 *
	 * @file          IPSShadowing_Configuration.inc.php
	 * @author        Andreas Brauneis
	 * @version
	 *  Version 2.50.1, 19.03.2012<br/>
	 *
	 * Konfigurations File für IPSShadowing
	 *
	 */

	IPSUtils_Include ("IPSShadowing_Constants.inc.php",      "IPSLibrary::app::modules::IPSShadowing");
	IPSUtils_Include ("IPSTwilight_Configuration.inc.php",   "IPSLibrary::config::modules::Weather::IPSTwilight");

	/** Programm Verzögerung (in Minuten)
	 *
	 * Definition der Programm Verzögerung, ein Programm kann sich innerhalb dieser vorgegebenen Zeit in Minuten 
	 * nicht ändern.
	 * Dadurch kann man zB verhindern, dass durch kleinere Temperaturschwankungen sich die Beschattung dauernd ändert.
	 *
	 * Dieser Parameter kann jederzeit geändert werden, keine Installation erforderlich.
	 */
	define ("IPSSHADOWING_PROGRAM_DELAY",		0);

	/** Temperatursensor Innen
	 *
	 * Definition des Innentemperatur Sensors, die Konstante muß auf eine Variable verweisen, die die aktuelle Innentemperatur
	 * als Float Value enthält.
	 * Die Verlinkung der Variable erfolgt entweder direkt durch Angabe der ID oder durch Angabe des Pfades.
	 *
	 * Dieser Parameter kann jederzeit geändert werden, keine Installation erforderlich.
	 */
	define ("IPSSHADOWING_TEMPSENSORINDOOR",		"");

	/** Temperatursensor Aussen
	 *
	 * Definition des Aussentemperatur Sensors, die Konstante muß auf eine Variable verweisen, die die aktuelle Aussentemperatur
	 * als Float Value enthält.
	 * Die Verlinkung der Variable erfolgt entweder direkt durch Angabe der ID oder durch Angabe des Pfades.
	 *
	 * Dieser Parameter kann jederzeit geändert werden, keine Installation erforderlich.
	 */
	define ("IPSSHADOWING_TEMPSENSOROUTDOOR",	"");

	/** Helligkeitssensor
	 *
	 * Definition des Helligkeits Sensors, die Konstante muß auf eine Variable verweisen, die die aktuelle Helligkeit
	 * als Integer oder Float Value enthält.
	 * Die Verlinkung der Variable erfolgt entweder direkt durch Angabe der ID oder durch Angabe des Pfades.
	 *
	 * Dieser Parameter kann jederzeit geändert werden, keine Installation erforderlich.
	 */
	define ("IPSSHADOWING_BRIGHTNESSSENSOR",	'');

	/** Regensensor
	 *
	 * Definition des Regen Sensors, die Konstante muß auf eine Variable verweisen, die den Wert des Sensors als 
	 * boolschen Wert enthält.
	 * Die Verlinkung der Variable erfolgt entweder direkt durch Angabe der ID oder durch Angabe des Pfades.
	 *
	 * Dieser Parameter kann jederzeit geändert werden, keine Installation erforderlich.
	 */
	define ("IPSSHADOWING_RAINSENSOR",		"");

	/** Windsensor
	 *
	 * Definition des Wind Sensors, die Konstante muß auf eine Variable verweisen, die den Wert des Sensors als 
	 * Float Wert mit Angabe in "kmh" enthält, 
	 * Die Verlinkung der Variable erfolgt entweder direkt durch Angabe der ID oder durch Angabe des Pfades.
	 *
	 * Dieser Parameter kann jederzeit geändert werden, keine Installation erforderlich.
	 */
	define ("IPSSHADOWING_WINDSENSOR",		"");
     
	/** Profil Wetterdefinition / Klassifiktation
	 *
	 * Definition/Masseinheit des Windlevels.
	 * Einstellung:   false       Vergleich der Windgeschwindigkeit mit dem Windlevel in km/h
	 *                true        Vergleich der Windgeschwindigkeit mit dem Windlevel in Beaufort
	 *
	 * Dieser Parameter kann jederzeit geändert werden.
	 * Eine erstmalige Installation über den ModuleManager oder ModuleManagerGUI ist notwendig.
	 */
	define ("IPSSHADOWING_WINDLEVEL_CLASSIFICATION",		false);

	/** Anwesenheits Flag
	 *
	 * Definition des Anwesenheits Flags, die Konstante muß auf eine Variable verweisen, die den aktuellen Anwesenheits Status als
	 * boolean Wert enthält (true bedeutet Anwesend).
	 * Die Verlinkung der Variable erfolgt entweder direkt durch Angabe der ID oder durch Angabe des Pfades.
	 *
	 * Dieser Parameter kann jederzeit geändert werden, keine Installation erforderlich.
	 */
	define ("IPSSHADOWING_PRESENT",			'');

	/** Abwesenheits Flag
	 *
	 * Definition des Abwesenheits Flags, die Konstante muß auf eine Variable verweisen, die den aktuellen Abwesenheits Status als
	 * boolean Wert enthält (true bedeutet Abwesend).
	 * Diese Variable kann alternativ zu dem Anwesenheits Flag gesetzt werden.
	 * Die Verlinkung der Variable erfolgt entweder direkt durch Angabe der ID oder durch Angabe des Pfades.
	 *
	 * Dieser Parameter kann jederzeit geändert werden, keine Installation erforderlich.
	 */
	define ("IPSSHADOWING_ABSENCE",			"");

	/** Zeitpunkt Sonnenaufgang
	 *
	 * Definition des Tagesbeginn Zeitpunktes, die Konstante muß auf eine Variable verweisen, die die Zeit in der Form
	 * hh:mm enthält.
	 * Verlinkung erfolgt direkt durch Angabe der ID oder durch Angabe des Pfades.
	 *
	 * Dieser Parameter kann jederzeit geändert werden, keine Installation erforderlich.
	 */
	define ("IPSSHADOWING_TWILIGHTSUNRISE",			"Program.IPSLibrary.data.modules.Weather.IPSTwilight.Values.SunriseBegin");

	/** Zeitpunkt Sonnenuntergang
	 *
	 * Definition des Tagesend Zeitpunktes, die Konstante muß auf eine Variable verweisen, die die Zeit in der Form
	 * hh:mm enthält.
	 * Verlinkung erfolgt direkt durch Angabe der ID oder durch Angabe des Pfades.
	 *
	 * Dieser Parameter kann jederzeit geändert werden, keine Installation erforderlich.
	 */
	define ("IPSSHADOWING_TWILIGHTSUNSET",			"Program.IPSLibrary.data.modules.Weather.IPSTwilight.Values.SunriseEnd");
	
	/** Zeitpunkt limited Sonnenaufgang
	 * 
	 * Definition des "limited" Tagesbeginn Zeitpunktes, die Konstante muß auf eine Variable verweisen, die die Zeit in der Form
	 * hh:mm enthält. Durch diese Variable ist es möglich, dass der Tagesbeginn in bestimmten Grenzen liegen muß.
	 * Verlinkung erfolgt direkt durch Angabe der ID oder durch Angabe des Pfades.
	 *
	 * Dieser Parameter kann jederzeit geändert werden, keine Installation erforderlich.
	 */
	define ("IPSSHADOWING_TWILIGHTSUNRISELIMITED",	"Program.IPSLibrary.data.modules.Weather.IPSTwilight.Values.SunriseBeginLimited");

	/** Zeitpunkt limited Sonnenuntergang
	 *
	 * Definition des "limited" Tagesend Zeitpunktes, die Konstante muß auf eine Variable verweisen, die die Zeit in der Form
	 * hh:mm enthält. Durch diese Variable ist es möglich, dass der Tagesbeginn in bestimmten Grenzen liegen muß.
	 * Verlinkung erfolgt direkt durch Angabe der ID oder durch Angabe des Pfades.
	 *
	 * Dieser Parameter kann jederzeit geändert werden, keine Installation erforderlich.
	 */
	define ("IPSSHADOWING_TWILIGHTSUNSETLIMITED",	"Program.IPSLibrary.data.modules.Weather.IPSTwilight.Values.SunriseEndLimited");

	/**
	 * Angabe des Breitengrades zur Berechnung des Sonnenstandes
	 *
	 * Dieser Parameter kann jederzeit geändert werden, keine Installation erforderlich.
	 */
	define ('IPSSHADOWING_LATITUDE', IPSTWILIGHT_LATITUDE);

	/**
	* Angabe des Längengrades zur Berechnung des Sonnenstandes
	 *
	 * Dieser Parameter kann jederzeit geändert werden, keine Installation erforderlich.
	*/
	define ('IPSSHADOWING_LONGITUDE', IPSTWILIGHT_LONGITUDE);

	/**
	 * Ausrichtung des Gebäudes
	 * 
	 * Dieser Wert spezifiziert die Abweichung von der Ausrichtung des Gebäudes Richtung Süden in Grad.
	 *
	 * Dieser Parameter kann jederzeit geändert werden, keine Installation erforderlich.
	 */
	define ('IPSSHADOWING_BUILDINGORIENTATION',   -15);
	
	/**
	 * Verhältnis der Gebäudewände
	 *
	 * Mit diesem Parameter kann das Verhältnis der Länge der Gebäudewände in der Grafik verändert werden. 
	 *
	 * 0 bedeutet dass alle Gebäudewände gleich lang sind, bei positiven Werten wird die südliche Seite des Gebäudes
	 * breiter und umgekehrt.
	 *
	 * Dieser Parameter kann jederzeit geändert werden, keine Installation erforderlich.
	 */
	define ('IPSSHADOWING_BUILDINGRELATION',      10);
	

	/**
	 * Definiert die Anzahl der Meldungen, die im Applikation Logging Window angezeigt werden.
	 *
	 * Dieser Parameter kann jederzeit geändert werden, keine Installation erforderlich.
	 */
	define ("IPSSHADOWING_LOGMESSAGECOUNT",				30);

	/**
	 *
	 * Definition der Beschattungs Elemente
	 * Die Konfiguration erfolgt in Form eines Arrays, für jedes Beschattungs Device wird ein Eintrag im Array erzeugt.
	 * 
	 * Die Eigenschaft c_Property_ShadowingType spezifiziert den Type der Beschattung, folgende Typen stehen zur Auswahl:
	 * - c_ShadowingType_Jalousie, Ansteuerung einer Jalousie, es werden noch zusätzliche Properties ausgewertet, um die Lamellen in eine bestimmte Position zu bringen
	 * - c_ShadowingType_Shutter, Ansteuerung eines normalen Rollos
	 * - c_ShadowingType_Marquees, Ansteuerung einer Markise
	 *
	 * Der Eintrag "c_Property_Name" spezifiziert den Namen des Beschattungs Elements, der im WebFront und in den Log's angezeigt
	 * wird.
	 *
	 * Der Eintrag "c_Property_Component" spezifiziert die Hardware, es kann jeder "Shutter" Component String Konstruktor
	 * angegeben werden. Detailiertere Informationen kann man auch im core Modul IPSComponent finden.
	 *
	 * Mit den Properties c_Property_TimeOpening,  c_Property_TimeClosing, c_Property_TimeDimoutUp, c_Property_TimeDimoutDown, c_Property_TimePause 
	 * werden die Fahrzeiten spezifiziert. c_Property_TimeDimoutUp und c_Property_TimeDimoutDown werden nur bei Jalousien ausgewertet, um die Lamellen 
	 * in die Verdunkelungs- bzw. Beschatttungsposition zu bringen.
	 *
	 * Mit c_Property_TempSensorIndoor ist die Einbindung eines Innentemperatursensors für das Beschattungselement möglich. Verlinkung erfolgt durch 
	 * Angabe des Pfades oder direkt durch die ID der Temperatur Variable.
	 *
	 * Beispiel:
	 * @code
        function get_ShadowingConfiguration() {
          return array(
            c_ShadowingDevice_1  =>  array(
               c_Property_ShadowingType     => c_ShadowingType_Jalousie,
               c_Property_Name              => 'Küche',
               c_Property_Component         => 'IPSComponentShutter_Dummy,12345',
               c_Property_TimeOpening       => 35,
               c_Property_TimeClosing       => 35,
               c_Property_TimeDimoutUp      => 2,
               c_Property_TimeDimoutDown    => 3,
               c_Property_TimePause         => 1,
               c_Property_TempSensorIndoor  => '',
             ));
        }
	 * @endcocde
	 *
	 * @return string Liefert Array mit Beschattungs Elementen
	 */
	function get_ShadowingConfiguration() {
		return array(
			c_ShadowingDevice_1 =>	array(
				c_Property_ShadowingType	=> c_ShadowingType_Shutter,
				c_Property_Name				=> 'Kueche',
				c_Property_Component		=> 'IPSComponentShutter_Dummy,12345',
				c_Property_TimeOpening		=> 35,
				c_Property_TimeClosing		=> 35,
				c_Property_TimeDimoutUp		=> 2,
				c_Property_TimeDimoutDown	=> 3,
				c_Property_TimePause		=> 1,
				c_Property_TempSensorIndoor	=> '',
				),
			c_ShadowingDevice_2 =>	array(
				c_Property_ShadowingType	=> 	c_ShadowingType_Shutter,
				c_Property_Name				=> 'Esszimmer klein',
				c_Property_Component		=> 'IPSComponentShutter_Dummy,12345',
				c_Property_TimeOpening		=> 	60,
				c_Property_TimeClosing		=> 	60,
				c_Property_TimePause		=> 	1,
				c_Property_TempSensorIndoor	=> '',
				),
			c_ShadowingDevice_4 =>	array(
				c_Property_ShadowingType	=> 	c_ShadowingType_Shutter,
				c_Property_Name				=> 'Esszimmer gross',
				c_Property_Component		=> 'IPSComponentShutter_Dummy,12345',
				c_Property_TimeOpening		=> 	60,
				c_Property_TimeClosing		=> 	60,
				c_Property_TimePause		=> 	1,
				c_Property_TempSensorIndoor	=> '',
				),				
			c_ShadowingDevice_5 =>	array(
				c_Property_ShadowingType	=> 	c_ShadowingType_Shutter,
				c_Property_Name				=> 'Wohnzimmer klein',
				c_Property_Component		=> 'IPSComponentShutter_Dummy,12345',
				c_Property_TimeOpening		=> 	60,
				c_Property_TimeClosing		=> 	60,
				c_Property_TimePause		=> 	1,
				c_Property_TempSensorIndoor	=> '',
				),
			c_ShadowingDevice_6 =>	array(
				c_Property_ShadowingType	=> 	c_ShadowingType_Shutter,
				c_Property_Name				=> 'Wohnzimmer gross',
				c_Property_Component		=> 'IPSComponentShutter_Dummy,12345',
				c_Property_TimeOpening		=> 	60,
				c_Property_TimeClosing		=> 	60,
				c_Property_TimePause		=> 	1,
				c_Property_TempSensorIndoor	=> '',
				),
			c_ShadowingDevice_7 =>	array(
				c_Property_ShadowingType	=> 	c_ShadowingType_Shutter,
				c_Property_Name				=> 'Fenster Dachgeschoss',
				c_Property_Component		=> 'IPSComponentShutter_Dummy,12345',
				c_Property_TimeOpening		=> 	60,
				c_Property_TimeClosing		=> 	60,
				c_Property_TimePause		=> 	1,
				c_Property_TempSensorIndoor	=> '',
				),
			c_ShadowingDevice_3 =>	array(
				c_Property_ShadowingType	=> 	c_ShadowingType_Shutter,
				c_Property_Name				=> 'Balkontuere',
				c_Property_Component		=> 'IPSComponentShutter_Dummy,12345',
				c_Property_TimeOpening		=> 	60,
				c_Property_TimeClosing		=> 	60,
				c_Property_TimePause		=> 	1,
				c_Property_TempSensorIndoor	=> '',
				),
			c_ShadowingDevice_8 =>	array(
				c_Property_ShadowingType	=> 	c_ShadowingType_Jalousie,
				c_Property_Name				=> 'Poolabdeckung',
				c_Property_Component		=> ' c_DeviceType_Auto,57654 /*[Hardware\Homematic\Poolabdeckung\LEVEL]*/',
				c_Property_TimeOpening		=> 	60,
				c_Property_TimeClosing		=> 	60,
				c_Property_TimePause		=> 	1,
				c_Property_TempSensorIndoor	=> '',
				),
 		   );
	}
	/** @}*/
?>

Was mache ich hier Falsch?

Danke!
LG
Christian

Hallo Leute,

habst geschafft das das teil das macht was ich gerne hätte !!!

lg
christian

Hallo zusammen,

erst mal vielen Dank für das Modul welches jetzt schon sehr lange & erfolgreich bei mir läuft.

Aktuell habe ich die Laufzeiten von zwei Rolladen angepasst, da diese mittlerweile etwas länger zum Hochfahren brauchen. Am Schluss habe ich die Installation nochmals gestartet und die Rolladen fahren wie gewünscht hoch und runter.

Jetzt habe ich aber im Webinterface einen Anzeigefehler. Folgende Rollos habe ich:

ipsshadowing1.PNG

Aber bei den Szenarien werden mir jetzt Zimmer 1 und Zimmer 2 angezeigt. In der Konfigdatei finde ich nur die Arrays von meinen Rolladen:

Wo kann ich denn die beiden Werte löschen?

SInd dann unter Visualization…Shadowing zu finden, wahrscheinlich leere Kategorien, die aber wohl irgendwann mal angelegt wurden.

Gruß
Bruno

Da sehe ich die beiden Einträge leider auch nicht:

ipsshadowing3.PNG

Das gibt es auch nochmal für Mobilgeräte, vielleicht dann dort. In der Konsole hat es einen Schnellfilter, da kannst Du ja mal Zimmer eingeben. Irgendwo muss es sich verstecken. :wink:

Der Tipp mit dem Schnellfilter war super. :wink:

Ich habe die beiden Links ganz weit unten im System gefunden.

Hallo und Euch Allen „Frohe Weihnachten“,

ich habe eine Frage an den Andreas:

Heute ist mir im symcon log folgendes aufgefallen - alle 3 Minuten gibt es folgenden Eintrag

Die ObjectID 45199 ist der zyklische Event (3 Minuten) vom IPSShadowing_ProgramTimer

Warum werden dort jedesmal (nur) die drei gezeigten Instanzen angezeigt, obwohl ich viele weitere in IPS Shadowing eingebunden habe? Gibt es dafür eine plausible Erklärung?

Liebe Grüße
Dieter

Hallo
Eigentlich sollte ueberhaupt keine Ausgabe erfolgen. Es sei den du hast im Script ein „echo“.

Hm - das ist dann schon seltsam, denn ich habe in Andreas’s Scripts keine Änderungen vorgenommen und mir ist völlig unklar, wo/warum diese Ausgabe generiert wird.

Gruß
Dieter

Hallo Dieter,

habe mal nachgeschaut, bei mir kommt die Meldung auch. Wenn ich im Meldungsdfenster dann die Meldung mit rechts auf Erweitern anklicke erscheinen bei mir alle Instanzen. Warum diese Meldung generiert wird kann ich im Moment aber auch nicht nachvollziehen.

P.S. habe gesehen wir sind ja so gut wie Nachbarn.:slight_smile:

Gruss und noch ein frohes Fest.

Torsten

Ich habe das Modul nun auch zum Laufen bekommen und dabei suche ich nach folgender Funktion:
1.) Hochfahren entweder über den Sonnenstand (scheint zu gehen) oder individuell für jeden Rollladen einzeln einzustellen.
2.) Das gleich auch fürs Runterfahren.
Kann man das mit dem Standardprogramm?

Nach dem Spielen mit den Funktionen kann ich nur sagen, SUPER!!!
Da sind Funktionen drin, die ich erst in mühevoller Arbeit hätte erstellen können.
Nur ein Problem habe ich jetzt.
Es kommt alle paar Minuten eine rote Meldung Undefined offset 51649. Dazu habe ich leider keine Idee.
Möglicherweise habe ich ein Profil angelegt, dieses benutzt und dann gelöscht, ohne vorher die Nutzung wieder aufzuheben.
Ansonsten fällt mir nichts ein, was ich vermeintlich falsch gemacht habe.
Hat jemand eine Idee, wie ich die Meldung wieder wegbekomme?

Hallo
Kann es sein,dass du das TwighlightModul nicht installiert hast ?
Fuer Erkennung Sonnenaufgang/untergang.
bzw irgendwo in der Konfig eine ID 51649 drin hast ?

Das habe ich installiert noch vor dem Shadowing.

Die ID habe ich schon gesucht, aber nirgends gefunden.

Du scheinst ein Problem mit dem Profil EndOfDay zu haben.
Schau mal in „IPSShadowing.Profiles.EndOfDay“ ob die Kategorien sinnvoll sind
und als Ident auch die richtigen IDs.

Danke für die Hinweise.
Wenn ich das Script IPSShadowing_ProgamTimer manuell starte, kommen folgende Meldungen:



Garage -> Manuelle Änderung, Tag=08:15-16:20,
Abort Processing during Error: Undefined offset: 51649
Error in Script /mnt/data/symcon/scripts/IPSLibrary/app/modules/IPSShadowing/IPSShadowing_ProfileManager.class.php on Line 220

Garage ist mein letzter Rollladen.

Wie es aussieht, habe ich den Fehler gefunden. Ich hatte noch einen weiteren Rollladen bei EndOfDay auf „Später“ gesetzt und dieses Profil gelöscht. Dann steht in den Werten bei ProfileEndOfDay nichts drin und es kommt zu diesem Fehler. Wenn ich dann die Werte alle wieder auf Standard setze, geht es wieder.
In Webfront ist dann „Dämmerung“ nicht aktiv und dadurch steht fürs Tagesendeprofil nichts drin.

Vielen Dank für die Unterstützung.

So jetzt habe ich alles soweit am Laufen und wollte nun auf produktiv umschalten.
Wenn ich aber in der Konfiguration Umlaute wir Tür eintrage, läuft das Script nicht durch.
Wie soll ich die Umlaute eintragen?

Hallo
Da gab es mal Probleme mit der 4.0 Version und den Umlauten.
https://www.symcon.de/forum/threads/14438-IPSShadowing-eine-Beschattungssteuerung?p=287393#post287393
Ich persoenlich benutze keine Umlaute.

Und ich hab bei mir vor dem Umstieg auf 4.1 alle Umlaute entfernt.

Gruß Maze