IPSWecker/Zeitschaltuhr

Dann nimm doch die IPSSCHALTUHR von mir.
Unterstützt auch Sensoren.

Hi,
ich hab kürzlich auf IPSv4 migriert.
Grundsätzlich läuft der IPSWecker wie gewohnt, mit einer kleinen Ausnahme:

Die Wecken/Nicht-Wecken-Buttons im Webfront (bzw. der Aktiv-Switch in der Mobile-App) zeigt bei Aufruf des Webfronts IMMER „nicht wecken“. Und das obwohl die Tageswecker mitunter durchaus aktiv sind! (in der Übersicht wird es korrekt angezeigt).

Setze ich also bspw. Dienstag auf „aktiv“, wird die Variable „Tageswecker“ korrekt auf aktiv gesetzt. Der Dienstag erscheint in der Übersicht korrekt als aktiv. Klicke ich dann einmal auf bspw. Montag und dann zurück auf Dienstag, ist die Variable Tageswecker inaktiv. In der Übersicht bleibt der Dienstag aber korrekt aktiv.

Irgendeine Idee dazu?

Hmm
ich habe IPS 4 mit der Library noch nicht am Start. Werde auch aus Zeitmangel nicht so schnell migrieren können.

Für mich hört es sich so an, als wenn eine Variable nicht sauber gelesen werden kann.

Bist Du mit der IPS - LIBRARY auf den aktuellen letzten Stand?

Welches Betriebssystem hast Du unter IPS 4?

Hi,
ja, Library ist auf dem letzten Stand.
Ebenso die aktuellste IPS4-Build unter Windows Server 2012 R2.

Im Logfile sehe ich leider nichts… irgendeine Idee wie ich das weiter checken kann?

Funktioniert die config denn in IPS 3?
Kannst Du mir die beiden Config Files per PN schicken. Dann prüf ich mal die Config gegen.

Hi,

hat jemand den Wecker unter IPS 5.0 laufen ??
Meiner funktioniert unter IPS 5 nicht mehr.

Gruß Stephan

Hallo
Ich hab den Wecker am Laufen. Mit der Umstellung auf PHP7 hab ich letztes Jahr etwas angepasst.
Soweit ich das noch weiss hat es mit „mktime(…)“ zu tun.
Wie sehen deine Zeilen 1300 in IPSWecker.inc.php aus.
Bei mir es jetzt so aus:

			if (($bland == "BB") or ($bland == "MV") or ($bland == "SA") or ($bland == "ST") or ($bland == "TH")) {
		    		$days["Reformationstag"] 			   = mktime(0, 0, 0, 10, 31, $year); //!!!!!!!!!!!!!!!!!!!!!
			}

Hi,

Vielen Dank für die Antwort.
bei mir hängt es in der IPSWecker.inc.php auch in folgendem Abschnitt


			//*******************************************
			// Fester $Feiertag in BY (nicht überall), SL
			//*******************************************
			if (($bland == "BY") or ($bland == "SL")) {
		    		$days["Maria Himmelfahrt"] 			= mktime(0, 0, 0, 08, 15, $year); //!!!!!!!!!!!!!!!!!!!!!

hier habe ich in mktime die null von der 8 entfernt.

Dann hatte ich einen Fehler in der IPSWecker_Constants.inc.php Datei in der Zeile 117.

	define ("c_ProgramId_Urlaub",			08);
	define ("c_ProgramId_Frost",			09);

Auch hier habe ich gedacht das die führende 0 wieder probleme macht. Also auch hier entfernt.

Soweit konnt ich dann erstmal den Wochenwecker wieder ohne fehler aktivieren bzw. deaktivieren.
Wenn ich jetzt aber Weckzeiten ändern möchte bekomme ich wieder eine Fehlermeldung aus der
IPSWecker.inc.php Zeile 1231

Unknown Error: The each() function is deprecated. This message will be suppressed on further calls
   Error in Script /var/lib/symcon/scripts/IPSLibrary/app/modules/IPSWecker/IPSWecker.inc.php on Line 1231

Könntest du mir mal die php Dateien aus dem Verzeichniss

\scripts\IPSLibrary\app\modules\IPSWecker

zukommen lassen ?

Vielen Dank schon mal für deine Unterstützung im Voraus

Gruß Stephan

Moin Stephan und andere,

wie beschrieben zunächst die führenden Nullen bei mktime und den ProgramID-Konstanten entfernen (bitte gleich ALLE Nullen von 01 bis 09; - nicht wie im letzten Post nur bei 08 und 09)

Dann bei IPSWecker.inc.php irgendwo bei circa Zeile 1231:
Die eine Zeile

list($key, $value) = each($Fdays);

ersetzen gegen diese beiden Zeilen:

$key = key($Fdays);
$value = current($Fdays);

Gruß,
ika

Super, Danke das war’s. Jetzt geht wieder alles

Gruß Stephan

Hallo,

ich habe versucht den IPSWecker zu installieren.

in IPSLibrary ist der Wecker auch da, steht aber immer auf „installing“. (Version 1.0.16Beta)
wenn ich über das Script installiere, kommt der Fehler:

IPSModuleManager-Log-IPSFileVersionHandle2018-12-12 20:30:29.45 Set Version IPSWecker=1.0.16.Beta (Installing)

Parse error: Invalid numeric literal in /var/lib/symcon/scripts/IPSLibrary/app/modules/IPSWecker/IPSWecker_Constants.inc.php on line 117
Abort Processing during Error: Invalid numeric literal
Error in Script /var/lib/symcon/scripts/IPSLibrary/app/modules/IPSWecker/IPSWecker_Constants.inc.php on Line 117

Was mach ich falsch?

Gruß

Oliver

Entferne mal die Nullen vor den Zahlen in der Datei.
Siehe hier:
https://www.symcon.de/forum/threads/18177-IPSWecker-Zeitschaltuhr?p=367845#post367845

danke,

hat funktioniert

Gruß

Oliver

Hallo,

nach einer Neuinstallation von ISPLibrary unter 5.3 wollte ich auch den Wecker neu installieren.

DAbei kommt es zum Fehler:

Fatal error: Uncaught Error: Call to undefined function IPS_SetEventCyclicTimeBounds() in /var/lib/symcon/scripts/IPSLibrary/install/InstallationScripts/IPSWecker_Installation.ips.php:699
Stack trace:
#0 /var/lib/symcon/scripts/IPSLibrary/install/InstallationScripts/IPSWecker_Installation.ips.php(346): CreateTimer_Profile(‚Weckzeit_1_1‘, 40683, 0, 0, 102, false)
#1 /var/lib/symcon/scripts/IPSLibrary/install/IPSModuleManager/IPSModuleManager.class.php(673): include(’/var/lib/symcon…’)
#2 /var/lib/symcon/scripts/13230.ips.php(22): IPSModuleManager->InstallModule()
#3 /var/lib/symcon/scripts/13230.ips.php(8): Install(‚IPSWecker‘, ‚https://raw.git…‘)
#4 {main}
thrown in /var/lib/symcon/scripts/IPSLibrary/install/InstallationScripts/IPSWecker_Installation.ips.php on line 699
Abort Processing during Error: Uncaught Error: Call to undefined function IPS_SetEventCyclicTimeBounds() in /var/lib/symcon/scripts/IPSLibrary/install/InstallationScripts/IPSWecker_Installation.ips.php:699
Stack trace:
#0 /var/lib/symcon/scripts/IPSLibrary/install/InstallationScripts/IPSWecker_Installation.ips.php(346): CreateTimer_Profile(‚Weckzeit_1_1‘, 40683, 0, 0, 102, false)
#1 /var/lib/symcon/scripts/IPSLibrary/install/IPSModuleManager/IPSModuleManager.class.php(673): include(’/var/lib/symcon…’)
#2 /var/lib/symcon/scripts/13230.ips.php(22): IPSModuleManager->InstallModule()
#3 /var/lib/symcon/scripts/13230.ips.php(8): Install(‚IPSWecker‘, ‚https://raw.git…‘)
#4 {main}
thrown
Error in Script /var/lib/symcon/scripts/IPSLibrary/install/InstallationScripts/IPSWecker_Installation.ips.php on Line 699

woran kann das liegen?

Gruß

Oliver

Hallo
Der Fehler:

Fatal error: Uncaught Error: Call to undefined function IPS_SetEventCyclicTimeBounds() in

zeigt auf die Function „IPS_SetEventCyclicTimeBounds()“.
Diese ist eine Kompatibilitätsfunktion.
Kann es sein du hast in den Spezialschaltern diese deaktiviert?
Siehe :
https://www.symcon.de/service/dokumentation/entwicklerbereich/spezialschalter/

Default = Deaktiviert (Windows: Aktiviert). Sofern aktiviert, sind unter IP-Symcon 4.0 die Kompatibilitätsfunktionen für veraltete Funktionen aus 2.x/3.x verfügbar. Bei Aktivierung dieses Spezialschalters erhöht sich die Laufzeit jedes PHP-Skriptes und sollte wennmöglich deaktiviert bleiben. Diese Funktion ist unter Windows aufgrund der Abwärtskompatibilität standardmäßig aktiviert.

Hallo,

Schalter war deaktiviert, nun klappt es, danke

Gruß

Oliver