IPSTwilight - Dämmerungsberechung und grafische Darstellung

Hallo Andreas,

habs gerade mal probiert.

Load, config, install … leider kommt ne Fehlermeldung:

 IPS-Err-PHP                  2012-03-19 21:05:49.076
 Error: Uncaught exception 'IPSVersionHandlerException' with message 'Required Version 2.50.1 for Module IPSLogger is lower current Version 2.50.0..Installing' in E:\Tools\IP-Symcon\scripts\IPSLibrary\install\IPSModuleManager\IPSVersionHandler\IPSFileVersionHandler.class.php:138  
... und weiter

Was mache ich falsch ? :o

Danke und Gruß
Bruno

Da gibts ein Versions Problem - hast Du den IPSLogger der IPSLibrary installiert ?

Ist drin, lässt sich aber nicht updaten :o

Nach Install

Fatal error:  Uncaught exception 'IPSConfigurationException' with message 'Configuration Value with Key=TabPaneItem could NOT be found (Section="WFC10")' in E:\Tools\IP-Symcon\scripts\IPSLibrary\app\core\IPSConfigHandler\IPSConfigHandler.class.php:70
Stack trace:
#0 E:\Tools\IP-Symcon\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php(196): IPSConfigHandler->GetValue('TabPaneItem', 'WFC10')
#1 E:\Tools\IP-Symcon\scripts\IPSLibrary\install\InstallationScripts\IPSLogger_Installation.ips.php(45): IPSModuleManager->GetConfigValue('TabPaneItem', 'WFC10')
#2 E:\Tools\IP-Symcon\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php(674): include('E:\Tools\IP-Sym...')
#3 E:\Tools\IP-Symcon\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php(696): IPSModuleManager->InstallModule(false)
#4 E:\Tools\IP-Symcon\scripts\IPS-Lib_Modul_Update.ips.php(5): IPSModuleManager->UpdateModule()
#5 {main}
  thrown in E:\Tools\IP-Symcon\scripts\IPSLibrary\app\core\IPSConfigHandler\IPSConfigHandler.class.php on line 70
IPS-Err-PHP                  2012-03-19 21:20:53.611  Error: Uncaught exception 'IPSConfigurationException' with message 'Configuration Value with Key=TabPaneItem could NOT be found (Section="WFC10")' in E:\Tools\IP-Symcon\scripts\IPSLibrary\app\core\IPSConfigHandler\IPSConfigHandler.class.php:70  Stack trace:  #0 E:\Tools\IP-Symcon\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php(196): IPSConfigHandler->GetValue('TabPaneItem', 'WFC10')  #1 E:\Tools\IP-Symcon\scripts\IPSLibrary\install\InstallationScripts\IPSLogger_Installation.ips.php(45): IPSModuleManager->GetConfigValue('TabPaneItem', 'WFC10')  #2 E:\Tools\IP-Symcon\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php(674): include('E:\Tools\IP-Sym...')  #3 E:\Tools\IP-Symcon\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php(696): IPSModuleManager->InstallModule(false)  #4 E:\Tools\IP-Symcon\scripts\IPS-Lib_Modul_Update.ips.php(5): IPSModuleManager->UpdateModule()  #5 {main}    thrown     Error in Script E:\Tools\IP-Symcon\scripts\IPSLibrary\app\core\IPSConfigHandler\IPSConfigHandler.class.php on Line 70    132 in IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)     33 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)     91 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_PhpErrorHandler)        in IPSLogger_PhpFatalErrorHandler
Abort Processing during Error: Uncaught exception 'IPSConfigurationException' with message 'Configuration Value with Key=TabPaneItem could NOT be found (Section="WFC10")' in E:\Tools\IP-Symcon\scripts\IPSLibrary\app\core\IPSConfigHandler\IPSConfigHandler.class.php:70
Stack trace:
#0 E:\Tools\IP-Symcon\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php(196): IPSConfigHandler->GetValue('TabPaneItem', 'WFC10')
#1 E:\Tools\IP-Symcon\scripts\IPSLibrary\install\InstallationScripts\IPSLogger_Installation.ips.php(45): IPSModuleManager->GetConfigValue('TabPaneItem', 'WFC10')
#2 E:\Tools\IP-Symcon\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php(674): include('E:\Tools\IP-Sym...')
#3 E:\Tools\IP-Symcon\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php(696): IPSModuleManager->InstallModule(false)
#4 E:\Tools\IP-Symcon\scripts\IPS-Lib_Modul_Update.ips.php(5): IPSModuleManager->UpdateModule()
#5 {main}
  thrown
   Error in Script E:\Tools\IP-Symcon\scripts\IPSLibrary\app\core\IPSConfigHandler\IPSConfigHandler.class.php on Line 70

???

OK, alles klar.

Du hattest den IPSLogger bereits aus dem Test Repostory installiert, ich mußte danach noch einige Änderungen machen, damit auch die Deinstallation funktioniert.

–> einfach das INI File IPSLogger.ini aus dem „Default“ Verzeichnis in das normale User Verzeichnis kopieren, danach sollte die Installation funktionieren.

In Zukunft sollte das dann nicht mehr vorkommen (Beta eben…)

Böhmische Dörfer :o :smiley:

Von „IPSLibrary\install\InitializationFiles\Defaults“ nach „IPSLibrary\install\InitializationFiles“ ?
(Das Leerzeichen geht nicht weg, ist aber im Pfad nicht drin)

Neue Meldung:

IPSModuleManager-Log-IPSFileVersionHandle2012-03-19 21:52:57.57  Set Version IPSLogger=2.50.0..Installing
 IPS-Err-PHP                  2012-03-19 21:52:58.357  Warning: Wrong parameter type for wfc_updateposition()     Error in Script E:\Tools\IP-Symcon\scripts\IPSLibrary\install\IPSInstaller\IPSInstaller.inc.php on Line 915    132 in IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)     36 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)        in IPSLogger_PhpErrorHandler    915 in IPSLibrary\install\IPSInstaller\IPSInstaller.inc.php (call wfc_updateposition)    934 in IPSLibrary\install\IPSInstaller\IPSInstaller.inc.php (call CreateWFCItem)    167 in IPSLibrary\install\InstallationScripts\IPSLogger_Installation.ips.php (call CreateWFCItemTabPane)    674 in IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php (call include)     23 in IPS-Lib_Module_load.ips.php (call InstallModule)
Abort Processing during Error: Wrong parameter type for wfc_updateposition()
   Error in Script E:\Tools\IP-Symcon\scripts\IPSLibrary\install\IPSInstaller\IPSInstaller.inc.php on Line 915

Wir kreisen den Fehler ein :smiley:

Kleiner Bug - gefixt, commited und bereit für Dich zum Download (deswegen liebe ich GIT…)


	IPSUtils_Include ("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
	$moduleManager = new IPSModuleManager('IPSLogger', 'https://raw.github.com/brownson/IPSLibrary/Development/');
	$moduleManager->LoadModule();
	$moduleManager->InstallModule();

Guten Morgen Andreas,

danke, Logger geht jetzt :smiley:

Twilight mag mich irgendwie trotzdem nicht :o

IPSModuleManager-Log-IPSFileVersionHandle2012-03-20 08:22:02.78  Set Version IPSTwilight=2.50.0..Installing

Fatal error:  Uncaught exception 'IPSConfigurationException' with message 'Configuration Value with Key=Path could NOT be found (Section="WFC10")' in E:\Tools\IP-Symcon\scripts\IPSLibrary\app\core\IPSConfigHandler\IPSConfigHandler.class.php:70
Stack trace:
#0 E:\Tools\IP-Symcon\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php(196): IPSConfigHandler->GetValue('Path', 'WFC10')
#1 E:\Tools\IP-Symcon\scripts\IPSLibrary\install\InstallationScripts\IPSTwilight_Installation.ips.php(74): IPSModuleManager->GetConfigValue('Path', 'WFC10')
#2 E:\Tools\IP-Symcon\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php(674): include('E:\Tools\IP-Sym...')
#3 E:\Tools\IP-Symcon\scripts\IPS-Lib_Modul_Inst.ips.php(5): IPSModuleManager->InstallModule()
#4 {main}
  thrown in E:\Tools\IP-Symcon\scripts\IPSLibrary\app\core\IPSConfigHandler\IPSConfigHandler.class.php on line 70
 IPS-Err-PHP                  2012-03-20 08:22:03.786  Error: Uncaught exception 'IPSConfigurationException' with message 'Configuration Value with Key=Path could NOT be found (Section="WFC10")' in E:\Tools\IP-Symcon\scripts\IPSLibrary\app\core\IPSConfigHandler\IPSConfigHandler.class.php:70  Stack trace:  #0 E:\Tools\IP-Symcon\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php(196): IPSConfigHandler->GetValue('Path', 'WFC10')  #1 E:\Tools\IP-Symcon\scripts\IPSLibrary\install\InstallationScripts\IPSTwilight_Installation.ips.php(74): IPSModuleManager->GetConfigValue('Path', 'WFC10')  #2 E:\Tools\IP-Symcon\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php(674): include('E:\Tools\IP-Sym...')  #3 E:\Tools\IP-Symcon\scripts\IPS-Lib_Modul_Inst.ips.php(5): IPSModuleManager->InstallModule()  #4 {main}    thrown     Error in Script E:\Tools\IP-Symcon\scripts\IPSLibrary\app\core\IPSConfigHandler\IPSConfigHandler.class.php on Line 70    132 in IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)     33 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)     91 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_PhpErrorHandler)        in IPSLogger_PhpFatalErrorHandler
Abort Processing during Error: Uncaught exception 'IPSConfigurationException' with message 'Configuration Value with Key=Path could NOT be found (Section="WFC10")' in E:\Tools\IP-Symcon\scripts\IPSLibrary\app\core\IPSConfigHandler\IPSConfigHandler.class.php:70
Stack trace:
#0 E:\Tools\IP-Symcon\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php(196): IPSConfigHandler->GetValue('Path', 'WFC10')
#1 E:\Tools\IP-Symcon\scripts\IPSLibrary\install\InstallationScripts\IPSTwilight_Installation.ips.php(74): IPSModuleManager->GetConfigValue('Path', 'WFC10')
#2 E:\Tools\IP-Symcon\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php(674): include('E:\Tools\IP-Sym...')
#3 E:\Tools\IP-Symcon\scripts\IPS-Lib_Modul_Inst.ips.php(5): IPSModuleManager->InstallModule()
#4 {main}
  thrown
   Error in Script E:\Tools\IP-Symcon\scripts\IPSLibrary\app\core\IPSConfigHandler\IPSConfigHandler.class.php on Line 70

Die Migration hat nach Umbenennen der alten Installation (IPSTwillight) und Verschieben in den „Program“-Ordner funktioniert. Update oder Installation bricht mit dem o.g. ab.

Danke nochmals für Deine Hilfe.

Gruß
Bruno

Hallo Brownson,
erst mal ein großes Lob für deine Arbeit.

Bekomme bei der Installation von IPSTwilight_Installation die nachfolgende Fehlermeldung.

Hast Du da ein Hinweis bevor ich anfange zu suchen.


IPSModuleManager-Log-IPSVariableVersionHa2012-03-20 10:02:30.62  Set Version IPSTwilight=2.50.0..Installing

Fatal error:  Call to undefined method IPSModuleManager::GetModuleCategoryID() in [Program\IPSLibrary\install\InstallationScripts\IPSTwilight_Installation] on line 98
Abort Processing during Error: Call to undefined method IPSModuleManager::GetModuleCategoryID()
Error in Script D:\IP-Symcon\scripts\IPSLibrary\install\InstallationScripts\IPSTwilight_Installation.ips.php on Line 98

Im Voraus Besten Dank

@Wibo - sieh Dir mal diesen Beitrag an …

@Bruno - auch bei Dir stimmt was nicht mit dem INI File, folgender Code lädt die Default Files erneut, danach mußt Du aber die Configuration nochmals anpassen.


	IPSUtils_Include ("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
	$moduleManager = new IPSModuleManager('IPSTwilight', 'https://raw.github.com/brownson/IPSLibrary/Development/');
	$moduleManager->LoadModule('', true);
	$moduleManager->InstallModule();

Hallo,

warum „fehlt“ in der Ansicht ein Stück (rote Kreise)??? Ist das ein „Fehler“???

Gruß Proxima

Hallo Andreas,

danke, nach ein paar Versuchen und einem Fehler meinerseits lief es jetzt durch. Die alten Sachen habe ich gelöscht. :eek:

Danke für Deine Arbeit

Gruß
Bruno

Hallo Andreas,

auf anhieb gefunkt

vielen Dank

Ich habe IPSTwilight über die Library bei mir installiert. Jetzt möchte ich selbst geschriebene scripte zu den jeweiligen Zeitpunkten wie z.b. Sonnenuntergang aufrufen. Dazu gibt es die Callbackfunktionen die mir in Ihrer Funktion allerdings auch nach durchlesen der PHP Beschreibung nicht richtig klar geworden sind.

Ich habe ein script mit dem Namen „Definition Morgendämmerung“ mit der IPS Object ID 28767.

Im Twilight Custom script steht :

	/** Callback Methode, die beim Sonnenaufgang aufgerufen wird
	 *
	 */
	function IPSTwilight_SunriseBegin() {
		IPSLogger_Dbg(__file__, 'Call to customer specific Function "IPSTwilight_SunriseBegin"');
	}

Was trage ich jetzt wo ein ??

Vielleicht im Twilight Custom script : IPSTwilight_SunriseBegin(‚Definition Morgendämmerung‘) ???

oder übergebe ich anstelle des Namens die Object ID ??? was passiert wenn ich den gleichen Script Namen mehrfach benutzt habe ???

einfach das Script in der Callback Methode aufrufen:


function IPSTwilight_SunriseBegin() {
   IPSLogger_Dbg(__file__, 'Morgendämmerungs wurde gestartet...');
   IPS_RunScript(28767);
}

Wenn man weiß wie sieht das ganz logisch aus :slight_smile: Danke für die Hilfe, habe alles so eingebaut und der Logger meint das die Call Back Funktionen angelegt wurden. Mal schauen ob meine Rollläden morgen früh aufgehen :slight_smile:

Kleiner Feature Wunsch nebenbei, im alten Script konnte ich relative Zeit Offsets definieren z.b. Sonnenaufgang plus 30 Minuten.
Jetzt müsste ich den Zeitpunkt über mein elevation / azimuth script steuern (Ich benötige den Zeitpunkt zu dem die Sonne hinter den Bäumen verschwindet und nicht mehr ins Wohnzimmer scheint und die Rollläden dann nach oben fahren können)

Ich glaube Twilight hat heute am Tag der Sommerzeit Umstellung die Callback Funktionen um eine Stunde zu früh ausgeführt.
Im Webfront werden die Zeiten richtig angezeigt, die callback funktionen liefen allerdings eine Stunde zu früh (Sonnenuntergang um 18:33 anstatt um 19:33)


	function IPSTwilight_SunriseBegin() {
		IPSLogger_Dbg(__file__, 'Morgen gestartet');
      IPS_RunScript(11253 /*[Scripte\Spezial\Tageszeiten\Festlegen des Wertes der variablen : Tageszeiten\Defintion Morgen]*/);
      IPS_RunScript(27892 /*[Scripte\Blinds \ Steuerung\Auslösende Events für die Blinds\Feste Zeiten Events\Rolläden in Toiletten öffnen falls Tür offen und Hell]*/);
	}

	function IPSTwilight_SunriseEnd() {
		IPSLogger_Dbg(__file__, 'Abenddämmerung gestartet');
		IPS_RunScriptWait(32007 /*[Scripte\Spezial\Tageszeiten\Festlegen des Wertes der variablen : Tageszeiten\Definition Abend  (Über elevation steuern wenn Sonne nicht mehr ins Wohnzimmer scheint)]*/); /* Löschen wenn elevation steuerung programmiert */
      IPS_RunScript(30339 /*[Scripte\Spezial\Tageszeiten\Festlegen des Wertes der variablen : Tageszeiten\Definition Abenddämmerung]*/);
	}

	function IPSTwilight_CivilBegin() {
		IPSLogger_Dbg(__file__, 'Morgendämmerung gestartet');
      IPS_RunScript(28767 /*[Scripte\Spezial\Tageszeiten\Festlegen des Wertes der variablen : Tageszeiten\Defintion Morgendämmerung]*/);
	}
	function IPSTwilight_CivilEnd() {
		IPSLogger_Dbg(__file__, 'Nachtdämmerung gestartet');
      IPS_RunScript(50444 /*[Scripte\Spezial\Tageszeiten\Festlegen des Wertes der variablen : Tageszeiten\Definition Nachtdämmerung (zivile Abenddämmerung)]*/);
      IPS_RunScript(24447 /*[Scripte\Blinds \ Steuerung\Auslösende Events für die Blinds\Feste Zeiten Events\Rolläden in Toiletten, 1OG und Keller schließen falls Tür offen und Dämmerung]*/);
      IPS_RunScript(13491 /*[Scripte\Lampen\Basic Functions\ON\Turn on all Outside Lights]*/);
	}
	function IPSTwilight_NauticBegin() {
		IPSLogger_Dbg(__file__, 'Call to customer specific Function "IPSTwilight_SunriseBegin"');
	}
	function IPSTwilight_NauticEnd() {
		IPSLogger_Dbg(__file__, 'Nachts gestartet');
      IPS_RunScript(36715 /*[Scripte\Spezial\Tageszeiten\Festlegen des Wertes der variablen : Tageszeiten\Defintion Nachts]*/);
	}
	function IPSTwilight_AstronomicBegin() {
		IPSLogger_Dbg(__file__, 'Call to customer specific Function "IPSTwilight_SunriseBegin"');
	}
	function IPSTwilight_AstronomicEnd() {
		IPSLogger_Dbg(__file__, 'Call to customer specific Function "IPSTwilight_SunriseEnd"');
	}
	
	 

@Brownson

Ich habe IPSTwilight noch konventionell installirt ohne IPS Library.
Beim IPS-Logger habe ich mal beherzt drüberinstalliert ohne dass Probleme bei mir aufgetaucht sind. Wie sieht es jetzt mit IPSTwilight aus ? Geht das auch ? Oder gibt es generell eine Empfehlung alte Programmteile aus frühreren Zeiten zu deinstallieren ?

Außerdem wollte ich nochmal sagen, dass ich das IPS - Library Projekt total genial finde !!!

Grüße
Björn
:slight_smile:

Hallo Björn,

kein Problem, kannst die alten Programme ruhig so lassen wie sie sind, das stört nicht.

Beim „drüber installieren“ solltest Du nur darauf schauen, dass keine „toten“ Links oder Variablen in IPS zurückbleiben.

@BestEx

kann ich mir grad nicht erklären bzw. nachvollziehen, aber bis zum nächsten Mal haben wir ja noch etwas Zeit …

Leider nicht, ich hatte auch gehofft das es sich hier nur um ein einmal Problem handelt.

Dummerweise ist der z.b. Sonnenuntergang bzw. Der Sonnenaufgang 1 Stunde zu früh bei den Callback Funktionen. Da stimmt etwas nicht bei der Umrechnung der Unixzeit vermute ich.

OK, hast Recht, da stimmt was nicht!

Die Timer wurden nicht neu gesetzt, hab mich gestern durch den Unterschied von genau einer Stunde etwas verwirren lassen.

Problem behoben, Update steht am Server …