IPSShadowing - eine Beschattungssteuerung

Hallo,

niemand ne Idee, wo es da noch hängen könnte???
Langsam verlassen mich die Ideen, hab schon einiges versucht und der Verzweifelung nahe.

lg Daniel

Das Temp-profil bezieht sich auf die globalen Einstellungen, sobald dort was eingetragen wird, isses da zu sehen. Habs halt einfach probiert … :cool:

define ("IPSSHADOWING_TEMPSENSOROUTDOOR",	"xxxxx");

Shadow_Profil01.JPG

PS: Sehe gerade ein anderes „Problem“ beim Installieren/updaten der Module unter 4.0 (3.4 hat das nicht)
Semaphore …
Beim Installieren

beim Update

Dürfte alle Module bzw. ein Zentralprogramm betreffen. Habe Shadowing und HighCharts aktualisiert.

Gruß
Bruno

Hallo zusammen,

habe bei mir IPSShadowing in Betrieb, was auch gut funktioniert. Gesteuert werden die Rollos mit Eltako FSB61.
Nun sitze ich darüber die manuelle Ansteuerung so zu machen, dass IPSShadowing eine Bewegung auch mitbekommt.
Ich mache das mit PTM215-Tastern. Das geht auch wunderbar für Schließen und Öffnen. Allerdings wäre es gut, dass man die Rolläden auch an einer bestimmten Position mit dem Taster stoppen könnte. Jetzt läuft es so, dass ich den Taster betätige und das Programm für Schließen oder Öffnen läuft. Drücke ich den Taster in die andere Richtung, beginnt logischerweise gleich das entgegengesetzte Programm und der Rollo ändert die Richtung, um bis zur Endstellung zu fahren.

Evtl. hätte jmd da einen Denkanstoss für mich.
Danke!

Mahlzeit,

ja dass ich das schon probiert habe wäre eigentlich selbsterklärend :cool:
Nur: ist es halt nicht das was ich will - 1 zentraler Temperatursensor für 3 verschiedene Räume???

Ich verschmeiss dass Temperaturmodul und schreib mir da selber was…in Abhängigkeit mit der Belichtung über den Tag und dem Sollwert als Basis und nicht fixe Werte.

Ansonsten TOP MODUL!!!

lg Daniel

Hatte mich schon gewundert, verstehe dann nur nicht, warum nochmal die Frage aufkam … :rolleyes:

1 zentraler Temperatursensor für 3 verschiedene Räume???

Andreas hatte es doch oben erklärt, verstehe das Problem daher nicht wirklich. Das eine ist global, das andere pro Raum. Alles einstellbar.

Hi,

ja das ist alles klar und auch verschiedene Einstellungen probiert worden…nur: es funktioniert halt weder mit dem globalen noch mit den einzelnen Sensoren…darum vermute ich das Problem wo anders…egal, schreibs eh um…trotzdem danke!

lg daniel

Hallo an euch alle!

Ich lese schon lange hier im Forum mit.
Hab jetzt auch selbst begonnen meine EIB Installation mit IPSymcon zu steuern.
Grundfunktion ist schon vorhanden. Lichter können alle geschalten werden usw.

Jetzt hab ich die Beschattungsstteuerung starten wollen. Leider stecke ich momentan an folgendem Problem:

Ich hab alles nach WIKI installiert, läuft im Demo Modus auch soweit.

Nun habe ich die IPSShadowing_Configuration angepasst. Himmelsrichtungen usw. funktioniert auch schon richtig.
Danach habe ich meine Raffstores eingetragen. Dazu ein Array kopiert und immer wieder eingefügt und angepasst.

c_ShadowingDevice_1 =>	array(
			c_Property_ShadowingType	=> c_ShadowingType_Jalousie,
			c_Property_Name				=> 'Wohnzimmer',
			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_Jalousie,
			c_Property_Name				=> 'Esszimmer',
			c_Property_Component		=> 'IPSComponentShutter_Dummy,12345',
			c_Property_TimeOpening		=> 60,
			c_Property_TimeClosing		=> 60,
			c_Property_TimeDimoutUp		=> 2,
			c_Property_TimeDimoutDown	=> 3,
			c_Property_TimePause			=> 1,
			c_Property_TempSensorIndoor	=> '',
			),
		c_ShadowingDevice_3 =>	array(
			c_Property_ShadowingType	=> c_ShadowingType_Jalousie,
			c_Property_Name				=> 'Küche',
			c_Property_Component		=> 'IPSComponentShutter_EIB,46569',
			c_Property_TimeOpening		=> 20,
			c_Property_TimeClosing		=> 20,
			c_Property_TimeDimoutUp		=> 2,
			c_Property_TimeDimoutDown	=> 3,
			c_Property_TimePause	 		=> 1,
			c_Property_TempSensorIndoor	=> '',
			),

usw…

Nur leider wird in der Visualisierung immer noch Demo Zimmer 1, Zimmer 2 und Markise angezeigt.
Es steht ja wo was dass man nach hinzufügen von Komponenten neu installieren muss.
Das hab ich auch mehrmals versucht - das wird aber nie fertig… es bleibt bei Installing… hängen.
Wenn ich dann Module Update wähle läuft es durch - aber ohne meine Raffstores anzuzeigen…

Bitte um einen Tipp was ich hier falsch mache.

Danke!

Lg. Chri

Hab den Fehler gerade selbst ´gefunden:
hab beim 4. Device (c_ShadowingDevice_4) das i versenhentlich gelöscht. Dann war schluß mit lustig beim installieren…

Der nächste Fehler war dann noch die Umlaute - aber das hab ich schnell gefunden im Forum.

Danke trotzdem fürs lesen :slight_smile:
vielleicht ist ja noch jemand damit geholfen.

Ich brauch euch bestimmt bald wieder :slight_smile:
Lg. Chri

Hallo zusammen,

kann man eigentlich einzelne Szenarien gezielt in einen Raum legen?

Momentan rufe ich jedes Szenario über ein kleines Script auf. Elegant ist das aber nicht.

Ein Link des Szenariomanagers in den Raum zu legen ist aus meiner Sicht keine schöne bzw. praktikable Lösung. In dem Fall tauchen im Raum alle Szenarien in der Auswahl auf. Also auch die, die mit dem Raum gar nichts zu tun haben.

Im Forum und der Dokumentation habe ich nichts dazu gefunden. Kurze Info bzw. Hilfestellung wäre toll. Danke.

VG Christian

Hallo zusammen,
kann mir bitte jemand von den Spezialisten eine kleine Hilfestellung geben.
Ich möchte über die Methode IPSShadowing_IsWorkingDay() die automatische
Ermittlung Werktag/Feiertag setzen. Dazu habe ich schon ein Programm am Laufen das
eine boolsche Variable für Feiertage setzt. Leider stehe ich auf dem Schlauch
welches Kommando ich da reinschreiben soll.
Vielen Dank schon mal im Voraus.

Viele Grüße

Chris

Hi Chris!

Herzlich Willkommen im IPS Forum :slight_smile:

So ganz kann ich dir nicht folgen… Kannst du vlt. noch ein wenig genauer beschreiben was dein Problem ist? Für Feiertage gibt es in IPS 4 ein schönes Modul (IQLFeiertage) und unter IPS 3.4 auch ein schönes Skript.

Solltest du Fragen zu einem bestimmten Skript oder Skript-Teil haben, dann am besten komplett oder als Ausschnitt posten. Ist meist leichter sich dann rein zu denken :slight_smile:

Grüße,
Chris

Hallo Chris :slight_smile: ,

vielen Dank für die nette Begrüßung.
Ich weiß nicht welchen Code ich in IPSShadowing_Custom eintragen muß damit im
Programm Arbeits- oder Feiertag dadurch gesetzt wird.
Das Modul oder das Script für die Feiertagsberechnung laufen schon ohne
Probleme.
Hier die betreffenden Zeilen in der Custom:

function IPSShadowing_IsWorkingDay()  {

return null;
}

Besten Dank

Chris

Hallo,

ich verwende das IPSShadowing seit 3 Jahren - alles super.
Bis zum Upgrade auf IPS 4.

Seitdem sieht das Webfront so aus:

Update von IPSShadowing auf die aktuellste Version .22 hat auch nicht geholfen.
Allerdings zeigt er für das IPSShadowing in der Library immer noch „installing“ an.

Kann jemand helfen?

Grüße,
Kai

Moin Kai!

Was sagt denn das Log File von IPSShadowing in der IPSLibrary? Da sollte man sehen, wo genau der hängen bleibt.

Grüße,
Chris

Dann hast Du garantiert iregendwo ein Element mit Umlauten drin. Weder die Pfade dürfen Umlaute enthalten (was sich aber in Fehlermeldungen während des Betriebs bemerkbar macht) noch der „c_Property_Name“ Part der Device Arrays darf welche enthalten. Wenn Du statt „Tuer“ z.B. „Tür“ drin hast bekommst Du genau das Verhalten wenn Du IPSShadowing neu installierst!

Das ist ein echt unschönes Verhalten der Version 4 von IPS und bisher gibt es immer noch keine Abhilfe.
Auf die Skripte die Paresy zur Verfügung stellen wollte warte ich immer noch vergeblich.

@Marona,

ich habe folgenden php-Code reingeschafft, der immer aktuell berechnet ob ein Feiertag/Wochenende ist - oder nicht:

function IPSShadowing_IsWorkingDay() {
	$datestamp = time();

   // Feste Feiertage werden nach dem Schema ddmm eingetragen
   $feiertage[] = "0101"; // Neujahrstag
   $feiertage[] = "0105"; // Tag der Arbeit
   $feiertage[] = "0310"; // Tag der Deutschen Einheit
   $feiertage[] = "2412"; // Heilig Abend
   $feiertage[] = "2512"; // Erster Weihnachtstag
   $feiertage[] = "2612"; // Zweiter Weihnachtstag
   $feiertage[] = "3112"; // Silvester

   // Bewegliche Feiertage berechnen

   $OneDay = 60 * 60 * 24;
   $ostersonntag = @easter_date(date("Y",$datestamp));
   $feiertage[] = date("dm", $ostersonntag - (2 * $OneDay));  // Karfreitag
   $feiertage[] = date("dm", $ostersonntag + 1 * $OneDay);  // Ostermontag
   $feiertage[] = date("dm", $ostersonntag + 39 * $OneDay); // Himmelfahrt
   $feiertage[] = date("dm", $ostersonntag + 50 * $OneDay); // Pfingstmontag
   $feiertage[] = date("dm", $ostersonntag + 60 * $OneDay); // Fronleichnam
   // Pr¸fen, ob Feiertag oder Wochenende
   $code = date("dm",$datestamp);
   if(in_array($code, $feiertage) || date("w") == 6 || date("w") == 0) {
      return false;
   } else {
      return true;
   	}
	}
	 

Hallo babba,

Vielen Dank für die Hilfe.
Habe deinen Code übernommen und funktioniert.
Nachdem aber auch das Modul zur Feiertagsberechnung
in IPSymcon läuft müsste es doch auch mit einer kürzeren
Version des Code möglich sein.

Viele Grüße
Chris

Hallo Chris,

welches Modul in IPSymcon meinst Du denn? Was genau tut das denn? Setzt es eine Variable oder ‚returnt‘ es TRUE oder FALSE?

Du könntest ja in der Function „IPSShadowing_IsWorkingDay() {…“ dieses Modul aufrufen und je nach Ergebnis true oder false ‚returnen‘.

Gruß
Dieter

Hallo Dieter,

sorry, ist kein Modul sonder ein Script Arbeitstage/Feiertage das für jeweils Arbeitstag heute/morgen
und Feiertag heute/morgen eine Boolean Variable true oder false setzt.
Ich bräuchte nur den Code den ich bei der Function "IPSShadowing_IsWorkingDay() " eintragen
muß damit diese Variablen ausgewertet werden.

Viele Grüße

Chris

Ach so, na dann ist es einfach:

function IPSShadowing_IsWorkingDay() {
    if (getValueBoolean(VariableID)) /* ID der Feiertagsvariablen true = Feiertag */
  {
      return false;
   } else {
      return true;
       }
  }  

Gruß
Dieter