IPSLibrary Step by Step für Dummies!

Modul Installation ausführen

oder

Link unter „Visualization.WebFront.Weather.IPSTwilight.Bottom.Tag- und Nachtstunden in xxx“ direkt ändern.

Hallo,
lässt sich aktuell die IPSLibrary noch installieren in der 5.5?
Ich bekomme es nicht hin.

Danke für eine kurze Info.

Welchen Fehler bekommst Du da ?

Hallo Andreas,

in der aktuellen Version (IPS 6.0) kommt es bei mir zu Fehlern bzw. Warnungen beim nächtlichen Anlegen der IPSTwilight-Timer. Ich glaube es liegt an einer falschen Bezeichnung in Zeile 727 der IPSInstaller.inc.php.
Sollte es dort nicht „IPS_SetEventAction($TimerId, ‚{7938A5A2-0981-5FE0-BE6C-8AA610D654EB}‘, );“ heißen statt „$eventID“?

Gruß
Marwin

@Marwin

Danke, das sieht nach einem Fehler aus, werde ich korrigieren.

Habe heute die IPS Library auf einer Test Installation unter Linux Ubuntu (Proxmox LXC) installiert und bekomme jetzt folgende Meldung:

Sollte man das als Test sehen das der Logger korrekt läuft oder handelt es sich wirklich um einen Fehler?

Nach der Installation eines Modules bekomme ich noch diese Meldung:

Test Meldungen sind normal, Fehler bei Modul nicht, überprüfe mal die Konfiguration, irgendwo scheint es ein Problem mit Umlauten zu geben :wink:

OK, ich schaue Mal nach, obwohl ich mir fast sicher bin das ich keine drin habe.

Habe gerade nachgeschaut nach Umlauten und habe keine gesehen.

<?php

	/*
	 * 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",		"29118"); //z.B. Variable Tmperatur Wohnzimmer

	/** 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",	"56062"); //z.B. Variable Tmperatur Terrasse

	/** 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",	'33615'); //z.B. Variable LUX vom Lichtsensor

	/** 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',   50);
	
	/**
	 * 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 Vorne',
				c_Property_Component		=> 'IPSComponentShutter_Homematic,39740',
				c_Property_TimeOpening		=> 17.2,
				c_Property_TimeClosing		=> 16,
				c_Property_TimePause		=> 1,
				c_Property_TempSensorIndoor	=> '',
				),
			c_ShadowingDevice_2 =>	array(
				c_Property_ShadowingType	=> 	c_ShadowingType_Shutter,
				c_Property_Name				=> 'Kueche Links',
				c_Property_Component		=> 'IPSComponentShutter_Homematic,58966',
				c_Property_TimeOpening		=> 	16.5,
				c_Property_TimeClosing		=> 	16.1,
				c_Property_TimePause		=> 	1,
				c_Property_TempSensorIndoor	=> '',
				),
			c_ShadowingDevice_3 =>	array(
				c_Property_ShadowingType	=> 	c_ShadowingType_Shutter,
				c_Property_Name				=> 'Wohnzimmer Rechts',
				c_Property_Component		=> 'IPSComponentShutter_Homematic,43243',
				c_Property_TimeOpening		=> 	17.4,
				c_Property_TimeClosing		=> 	16.5,
				c_Property_TimePause		=> 	1,
				c_Property_TempSensorIndoor => '31801',
				),
			c_ShadowingDevice_4 =>	array(
				c_Property_ShadowingType	=> 	c_ShadowingType_Shutter,
				c_Property_Name				=> 'Wohnzimmer Links',
				c_Property_Component		=> 'IPSComponentShutter_Homematic,40673',
				c_Property_TimeOpening		=> 	16.8,
				c_Property_TimeClosing		=> 	17.6,
				c_Property_TimePause		=> 	1,
				c_Property_TempSensorIndoor => '31801',
				),
			c_ShadowingDevice_5 =>	array(
				c_Property_ShadowingType	=> 	c_ShadowingType_Shutter,
				c_Property_Name				=> 'Wohnzimmer Garten',
				c_Property_Component		=> 'IPSComponentShutter_Homematic,31957',
				c_Property_TimeOpening		=> 	17.6,
				c_Property_TimeClosing		=> 	15.6,
				c_Property_TimePause		=> 	1,
				c_Property_TempSensorIndoor => '31801',
				),
	   );
	}
	/** @}*/

Kann man eigentlich auch eine parallele Installation betreiben oder sollte man die Test Umgebung immer beenden. Nutze Homematic Aktoren und habe alles gleich eingestellt bei beiden Installationen.

die Config sieht in Ordnung aus - die Fehlermeldung oben kommt aber von der IPSWatering Installation :wink:

Der Library ist eine parallele Installation egal, eher ein Problem der Homematic Zentrale …

Verstehe das gerade nicht. IPSWatering habe ich gar nicht installiert in der neuen Umgebung. :sunglasses:

Habe jetzt das Phänomen das ich auf meinem Test System die Library installiert habe um zu schauen ob es fehlerfrei läuft bzw. das ich es sauber installiert bekomme und habe es dann auf meinem Produktiv System auch installiert und jetzt werden mir schon unter Module die Module angezeigt die ich im Test System installiert habe. Wie kann ich das umgehen? Was komisch ist das er nicht alle Module übernimmt, das Homematic musste ich Neu installieren. Warum hat er dieses Modul nicht auch in der Übersicht drin?
Muss ich dann zuerst wieder im Test System die Library komplett löschen? Bei beiden Systemen sind die ID’s gleich von der Homematic Hardware.

@Brownson

Der Fehler kommt immer noch bei der Config von meinem Post:

Kann das sein das dass von „Dämmerung“ kommt was mir unter Profile → Tagesbeginn angelegt wird?

Beim einrichten von IPSShadowing, wenn ich dort unter Profile gehe und bei Temperatur auf Standard klicke oben rechts, zeigt er mir auch den Fehler.

Irgendwas fehlt hier noch an diesem Event:

Wenn bei Dir bereits Module vorhanden sind, dann hast Du die Library aber auch nicht komplett neu aufgesetzt sondern den Skripts Ordern vermutlich von einem anderen System kopiert :wink:

Installierte Module findest Du in den ini Files im „config“ Verzeichnis.

Dämmerung ist vermutlich das Problem, sollte aber automatisch konvertiert werden.
Sieh Dir mal die Files IPSInstaller und Shadowing_Config an und überprüfe ob diese korrekt in UTF8 Format sind (könnte auch ein Problem durch das Kopieren von einem anderen System sein…)

Kann sein das es was damit zu tun hatte das die Module schon in der Übersicht waren, ich hatte mir in eine Kategorie die ini und config files kopiert, das ich die nur zu kopieren und einfügen muss. Habe die mal umbenannt.

Was sagst du zu dem Event? Das lässt sich nicht aktivieren.