IPSSchaltuhr

Hier ein Screenshot dazu:

Hi,

sorry hat sich wohl ein Bug eingeschlichen.
Ist scheinbar noch niemandem aufgefallen.

Die Übersichtsseite wird erst bei einer Änderung der Konfig neuerstellt.
Dadurch wir nur der Zustand, zum Zeitpunkt der Änderung angezeigt.

Ist ein wenig unschön, die Schaltuhr sollte dennoch Funktionieren.

Gruß
Andre

Lösung:
Es müssen 2 Zeiten im Script ergänzt werden.
Groß/Kleinschreibung beachten!

Geht dazu bitte in die Console und in folgenden Objektbaum gehen

Programm\IPSLibrary\app\modules\IPSSchaltuhr\

öffnet das Script IPSSchaltuhr_Timer

Sucht folgende Zeilen. (Sollte bei 82 und 124 sein.)


$CircleName($CircleId, $EventMode);

in


$CircleName($CircleId, $EventMode);
set_Overview($CircleId);

ab

Dann sollte es klappen.
Speichern nicht vergessen.

Hallo!

ich finde die Schaltuhr für die Weihnachtsbeleuchtung nicht schlecht.
Leider bleibe ich schon beim Skript Step 1 hängen.

Fehler Zeile 3:

Step - 1:
In IPS eine Category ‚Program‘ anlegen.
In dieser Category wird ein Script mit Namen ‚Step 1 - Baseloader‘ erstellt.
In dieses Script diesen Code eintragen:

<? 
****//*Repository 
****$remoteRepository*=*'https://raw.github.com/brownson/IPSLibrary/master/'; 

****//*Download*BaseLoader*Script*and*Installation 
****$remoteFile*=*$remoteRepository.'IPSLibrary/install/BaseLoader/IPSLibrary_BaseLoader.ips.php'; 
****$localFile**=*IPS_GetKernelDir().'scripts\\IPSLibrary_BaseLoader.ips.php'; 

****$curl_handle=curl_init(); 
****curl_setopt($curl_handle,*CURLOPT_URL,$remoteFile); 
****curl_setopt($curl_handle,*CURLOPT_CONNECTTIMEOUT,5); 
****curl_setopt($curl_handle,*CURLOPT_RETURNTRANSFER,true); 
****curl_setopt($curl_handle,*CURLOPT_SSL_VERIFYPEER,*false); 
****curl_setopt($curl_handle,*CURLOPT_FAILONERROR,*true); 
****$fileContent*=*curl_exec($curl_handle); 
****curl_close($curl_handle); 
****if*($fileContent===false)*{ 
********throw*new*Exception('Download*of*File*'.$sourceFile.'*failed*!!!'); 
****} 

***if*(!file_put_contents($localFile,*$fileContent))*{ 
********throw*new*Exception('Create*File*'.$localFile.'*failed!'); 
***} 

****include*$localFile; 
?> 

habe ich da vielleicht was falsch gemacht?

gruß
norman

Bitte Code in den PHP-Tags Posten.
Und die ganzen Sterne gehören da bestimmt nicht rein.
Nimm mal einen anderem Browser beim kopieren des Scriptes :wink:
Michael

Das mit den Sternen hab ich doch vor 2 Wochen schon gesehen in einem anderen Zusammenhang.

https://www.symcon.de/forum/threads/7566-%28W%29LAN-Watch-Dog?p=305281#post305281

Ist mir auch schon passiert… Edge ist/war schuld.

Michael

Hallo Andre,

warum werden die Sensorennamen in der Konfig (obwohl beschriftet) nicht angezeigt und in der Übersicht die Bedingen fehlen auch???

Danke
richimaint

Vermutlich für die Schaltuhr keine eingetragen. Config passt nicht zu den Bildern.

Konfig und Screenshots in Post.

Hallo Andre,

ich hatte doch noch keine Config gepostet nur eine andere zitiert.

Hier der Bereich aus der Config:

c_ZSUCircle.'3'  =>	array(
				c_Property_Name           =>   'Solar',

				c_Property_StartSensoren	  	=>   array(
				),
					'1'	  	=>   array(
					c_Property_Name			=> 'Tempsolar',
						c_Property_SensorID	=> 52434  ,
						c_Property_Condition	=>	'>',
						c_Property_Value		=>	25,
						),


				c_Property_RunSensoren	  	=>   array(
				),
					'1'	  	=>   array(
					c_Property_Name			=> 'Tempsolar',
						c_Property_SensorID	=> 52434  ,
						c_Property_Condition	=>	'>',
						c_Property_Value		=>	25,
						),

					'2'	  	=>   array(
						c_Property_Name			=> 'Tempsolar',
						c_Property_SensorID	=> 52434  ,
						c_Property_Condition	=>	'<',
						c_Property_Value		=>	25.2,
						),

				c_Property_StopSensoren	  	=>   array(
				),
			),

Deine Klammer passen nicht. Die Sensoren gehören in das Array. Siehe Beispiel in der Konfiguration.

Gesendet von meinem SM-T230 mit Tapatalk

so jetzt funktioniert es…habe den Fehler nicht gefunden.
Habe das Beispiel aus der Konfig rein kopiert und geändert.

Danke

Hallo,
ich wollte eben eine neu Schaltuhr einfügen (wie schon einmal vor einem Jahr) und da bekam ich die Fehlermeldung:
Kann mir Jemand sagen wo das Problem liegt? :confused:

Fatal error: Uncaught exception ‚IPSConfigurationException‘ with message ‚Configuration Value with Key=Version could NOT be found (Section="")‘ in C:\IP-Symcon\scripts\IPSLibrary\app\core\IPSConfigHandler\IPSConfigHandler.class.php:72
Stack trace:
#0 C:\IP-Symcon\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php(659): IPSConfigHandler->GetValue(‚Version‘)
#1 C:\IP-Symcon\scripts\32784.ips.php(22): IPSModuleManager->InstallModule()
#2 C:\IP-Symcon\scripts\32784.ips.php(8): Install(‚IPSSchaltuhr‘, ‚https://raw.git…‘)
#3 {main}
thrown in C:\IP-Symcon\scripts\IPSLibrary\app\core\IPSConfigHandler\IPSConfigHandler.class.php on line 72
Abort Processing during Error: Uncaught exception ‚IPSConfigurationException‘ with message ‚Configuration Value with Key=Version could NOT be found (Section="")‘ in C:\IP-Symcon\scripts\IPSLibrary\app\core\IPSConfigHandler\IPSConfigHandler.class.php:72
Stack trace:
#0 C:\IP-Symcon\scripts\IPSLibrary\install\IPSModuleManager\IPSModuleManager.class.php(659): IPSConfigHandler->GetValue(‚Version‘)
#1 C:\IP-Symcon\scripts\32784.ips.php(22): IPSModuleManager->InstallModule()
#2 C:\IP-Symcon\scripts\32784.ips.php(8): Install(‚IPSSchaltuhr‘, ‚https://raw.git…‘)
#3 {main}
thrown
Error in Script C:\IP-Symcon\scripts\IPSLibrary\app\core\IPSConfigHandler\IPSConfigHandler.class.php on Line 72

Hallo,
alles wieder OK - IPS Library aktualisiert und schon geht´s wieder… :smiley:

Hi,
kann ich irgendwo den Visualization Ordner ändern? Habe die anderen Module von IPS Library in meinem eigenen Ordner und sobald ich die Links in meinen Ordner verschiebe zeigt mit das Modul nichts mehr an im Webfront.

Edit: Hat sich erledigt und habe die Änderung vorgenommen bzw. die Datei gefunden.

Habe seit neustem Probleme mit der Zeitschaltuhr. Der Aktor wird gestartet, aber nicht mehr beendet. Es kommt die folgende Fehlermeldung im Logging:

06.04.2017 19:35:00*| ScriptEngine*| Ergebnis für Ereignis 35135
<br />
<b>Fatal error</b>:  Call to undefined function HHM_WriteValueBoolean() in <b>C:\IP-Symcon\scripts\IPSLibrary\config\modules\IPSSchaltuhr\IPSSchaltuhr_Custom.inc.php</b> on line <b>58</b><br />
Abort Processing during Fatal-Error: Call to undefined function HHM_WriteValueBoolean()
   Error in Script C:\IP-Symcon\scripts\IPSLibrary\config\modules\IPSSchaltuhr\IPSSchaltuhr_Custom.inc.php on Line 58

Meine Custom Config:

	function Zeitschaltuhr_1($CycleId, $Mode) {
		$CircleName = IPS_GetName($CycleId);

		switch($Mode){
		case 'Start':
		HM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", true);

			break;

		case 'Stop':
		HHM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", false);

			break;
		}
	}

	function Zeitschaltuhr_2($CycleId, $Mode) {
		$CircleName = IPS_GetName($CycleId);

		switch($Mode){
		case 'Start':
		HM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", true);

			break;

		case 'Stop':
		HM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", false);

			break;
		}
	}

	function Zeitschaltuhr_3($CycleId, $Mode) {
		$CircleName = IPS_GetName($CycleId);

		switch($Mode){
		case 'Start':
		HM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", true);

			break;

		case 'Stop':
		HM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", false);

			break;
		}
	}

	function Zeitschaltuhr_4($CycleId, $Mode) {
		$CircleName = IPS_GetName($CycleId);

		switch($Mode){
		case 'Start':
		HM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", true);

			break;

		case 'Stop':
		HM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", false);
		
			break;
		}
	}

	function Zeitschaltuhr_5($CycleId, $Mode) {
		$CircleName = IPS_GetName($CycleId);

		switch($Mode){
		case 'Start':
		HM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", true);
		
			break;

		case 'Stop':
		HM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", false);

			break;
		}
	}

	function Zeitschaltuhr_6($CycleId, $Mode) {
		$CircleName = IPS_GetName($CycleId);

		switch($Mode){
		case 'Start':
		HM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", true);

			break;

		case 'Stop':
		HM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", false);

			break;
		}
	}

	function Zeitschaltuhr_7($CycleId, $Mode) {
		$CircleName = IPS_GetName($CycleId);

		switch($Mode){
		case 'Start':
		HM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", true);

			break;

		case 'Stop':
		HM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", false);

			break;
		}
	}

	function Zeitschaltuhr_8($CycleId, $Mode) {
		$CircleName = IPS_GetName($CycleId);

		switch($Mode){
		case 'Start':
		HM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", true);

			break;

		case 'Stop':
		HM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", false);

			break;
		}
	}

	function Zeitschaltuhr_9($CycleId, $Mode) {
		$CircleName = IPS_GetName($CycleId);

		switch($Mode){
		case 'Start':
		HM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", true);

			break;

		case 'Stop':
		HM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", false);

			break;
		}
	}

	function Zeitschaltuhr_10($CycleId, $Mode) {
		$CircleName = IPS_GetName($CycleId);

		switch($Mode){
		case 'Start':
		HM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", true);

			break;

		case 'Stop':
		HM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", false);

			break;
		}
	}

	function Zeitschaltuhr_11($CycleId, $Mode) {
		$CircleName = IPS_GetName($CycleId);

		switch($Mode){
		case 'Start':
		HM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", true);

			break;

		case 'Stop':
		HM_WriteValueBoolean(46744 /*[Hardware\Homematic\Kellergeschoss\Waschkueche\Waschmaschine.Energiemanagement.Schaltaktor:1]*/, "STATE", false);

			break;
		}
	}



	/** @}*/
?>

Meine Config:

	function get_ZSUConfiguration() {
		return array(
			c_ZSUCircle.'1'  =>	array(
				c_Property_Name           =>   'Pool Pumpe Schaltzeit 1',

				c_Property_StartSensoren	=>   array(
				),

				c_Property_RunSensoren		=>   array(
				),

				c_Property_StopSensoren	  	=>   array(
				),
			),

			c_ZSUCircle.'2'  =>	array(
				c_Property_Name           =>   'Pool Pumpe Schaltzeit 2',

				c_Property_StartSensoren	  	=>   array(
				),

				c_Property_RunSensoren	  	=>   array(
				),

				c_Property_StopSensoren	  	=>   array(
				),
			),

			c_ZSUCircle.'3'  =>	array(
				c_Property_Name           =>   'Pool Pumpe Schaltzeit 3',

				c_Property_StartSensoren	  	=>   array(
				),

				c_Property_RunSensoren	  	=>   array(
				),

				c_Property_StopSensoren	  	=>   array(
				),
			),
			
			c_ZSUCircle.'4'  =>	array(
				c_Property_Name           =>   'Pool Pumpe Schaltzeit 4',

				c_Property_StartSensoren	  	=>   array(
				),

				c_Property_RunSensoren	  	=>   array(
				),

				c_Property_StopSensoren	  	=>   array(
				),
			),

			c_ZSUCircle.'5'  =>	array(
				c_Property_Name           =>   'Pool Pumpe Schaltzeit 5',

				c_Property_StartSensoren	  	=>   array(
				),

				c_Property_RunSensoren	  	=>   array(
				),

				c_Property_StopSensoren	  	=>   array(
				),
			),

			c_ZSUCircle.'6'  =>	array(
				c_Property_Name           =>   'Pool Pumpe Schaltzeit 6',

				c_Property_StartSensoren	  	=>   array(
				),

				c_Property_RunSensoren	  	=>   array(
				),

				c_Property_StopSensoren	  	=>   array(
				),
			),

			c_ZSUCircle.'7'  =>	array(
				c_Property_Name           =>   'Pool Pumpe Schaltzeit 7',

				c_Property_StartSensoren	  	=>   array(
				),

				c_Property_RunSensoren	  	=>   array(
				),

				c_Property_StopSensoren	  	=>   array(
				),
			),

			c_ZSUCircle.'8'  =>	array(
				c_Property_Name           =>   'Pool Pumpe Schaltzeit 8',

				c_Property_StartSensoren	  	=>   array(
				),

				c_Property_RunSensoren	  	=>   array(
				),

				c_Property_StopSensoren	  	=>   array(
				),
			),
			
			c_ZSUCircle.'9'  =>	array(
				c_Property_Name           =>   'Pool Pumpe Schaltzeit 9',

				c_Property_StartSensoren	  	=>   array(
				),

				c_Property_RunSensoren	  	=>   array(
				),

				c_Property_StopSensoren	  	=>   array(
				),
			),

			c_ZSUCircle.'10'  =>	array(
				c_Property_Name           =>   'Pool Pumpe Schaltzeit 10',

				c_Property_StartSensoren	  	=>   array(
				),

				c_Property_RunSensoren	  	=>   array(
				),

				c_Property_StopSensoren	  	=>   array(
				),
			),

			c_ZSUCircle.'11'  =>	array(
				c_Property_Name           =>   'Brunnen',

				c_Property_StartSensoren	  	=>   array(
				),

				c_Property_RunSensoren	  	=>   array(
				),

				c_Property_StopSensoren	  	=>   array(
				),
			),


		);
	}


	/** @}*/
?>

Der Witz ist, das hat so schon mal funktioniert.

Das ist bei der Schaltuhr1 im Stop ein H zu viel.
HHM_WriteValueBoolean()
Anstatt HM_WriteValueBoolean()

Michael

Hallo Michael,
habe ich absolut nicht bemerkt, hat sich irgendwie reingeschlichen :smiley:

Wie geht das Sprichwort…Ich sehe vor lauter Bäume den Wald nicht mehr…

Danke und Schande über mich:banghead::banghead::banghead:

Hallo zusammen,
ich habe da auch noch ein kleines Problem mit der Schaltuhr.
Die Sensoren werden erkannt und in meinem Fall ein Helligkeitsensor im Außenbereich abgefragt.

Mein problem liegt in der Ansteuerung von Schaltern.
Ich möchte die Gartenbeleuchtung ansteuern, ist ein Homematic Relai.

config4.png

Wir wahrscheinlich nur ein kleiner Fehler sein, er meckert mir die Zeile an:
c_Property_Component => ‚IPSComponentSwitch_Homematic,14427‘,
Diese habe ich selbst hinzugefügt da nicht vorhanden.

Konnte das vermeindliche Problem selbst beheben :slight_smile:
Habe die Config von Stefan71 mit meiner verglichen und festgestellt das da noch etwas gefehlt hat :slight_smile:

Nun habe ich eigentlich folgendes vor.
Um 16 Uhr schaltet die Zeischaltuhr ein, Start bedingung ist der Helligkeitssensor der kleiner 120lx melden muss.
Dies wird zur aktuellen Jahreszeit mit Sicherheit nicht erfüllt :slight_smile:
Dies passiert derzeit um etwa 21:45Uhr, allerdings wird die Start bedinung nur einmalig um 16 Uhr überprüft, nicht aber permanent bis der Wert erfüllt ist.
Hat jemand eine Idee wie man das umbaut?

Der Ausschaltvorgang um 23 Uhr funktionert hingegen einwandfrei wenn ich vor 23Uhr die Außenbeleuchtung maneull anschalte.

2te Frage: besteht die Möglichkeit diese Automatik zu deaktivieren? Würde mir gerne einen Automatik Schalter bauen der das pro zeitschaltuhr deaktiviert und wieder aktiviert.
Vor allem wenn wir Abends im Gartne sitzen und die Festbeleuchtung angeht wirkt das eher störend wenn man im Kerzenschein dort gemütlich sitzen möchte.

Danke euch!