IPSShadowing - eine Beschattungssteuerung

Hi,
die Variable 55121 scheint es garnicht zu geben - über die Suche in der Verwaltungskonsole finde ich sie zumindest nicht…

Gruß

Edit: Ich habe nochmal Screenshots der beiden Profile hinzugefügt - ist da evtl. etwas faul?

Hast du mal nach IDs sortiert und geschaut was sich hinter der Nummer verbirgt?
Vielleicht auch nen Skript oder so.

Oder schau mal im IPSShadowing Config File, ob dir da nen Zahlendreher passiert ist.

edit:
Die beiden Konfigurationen sehen gut aus. Sind ja auch beide aktiv, was du an der roten Einfärbung siehst.

Hi,
ich suche über die Suche ja nach IDs - da findet er weder eine Variable noch ein Script oder sonstiges… Im Config File sehe ich auch nichts verdächtiges - hatte da auch nur den Helligkeitsensor hinzugefügt (und die Werte kommen ja richtig an) sowie die Building Orientation geändert (Anzeige im Webfront passt auch).

Gruß

Hast du mal in den ProfileManager Zeile 200 geschaut, was er da macht?

Hi,
das ist die Codestelle:

public function CloseByTemp($profileIdSun, $profileIdTemp, $tempIndoorPath='') {
			$profileTemp = $this->profilesTemp[$profileIdTemp];
			$profileSun  = $this->profilesSun[$profileIdSun];
			return ($profileTemp->CloseByTemp($tempIndoorPath) and $profileSun->ActivationBySun());
		}

Zeile 200 ist diese:

$profileSun  = $this->profilesSun[$profileIdSun];

Kann damit jemand was anfangen? Ich weiß nichtmal, ob diese 55121 eine ID oder eben ein falscher Offset ist, nur wofür?!

Gruß

Mich wundern 2 Sachen:
Zeile 200 deutet auf den Sonnenstand hin. Der ist aber eigentlich sauber definiert und funktioniert ja auch.

Bei den Temperatur Profil, da bin ich mir nicht sicher, ob das ohne Temperatur überhaupt geht.
Habe ich so selbst nicht. Wenn dann Temperatur ohne Helligkeit, aber nie andersrum (bei mir).

Was ich auch vermeide, is der gleiche Name bei Tagesbeginn und Tagesende Definitionen, da ist bei dir beide male Dämmerung. das hat aber denke ich nichts mit deinem Problem zu tun.

Schonmal eine das Modul neu installiert?

Hi,
ich habe nun erstmal meine Profile gelöscht und das Sonnenstand Süden Profil anhand des Screenshots aus dem Wiki wieder angelegt (hatte ich gelöscht) - der Fehler sieht nun etwas anders aus (anderer Offset, eine Zeile früher) - siehe Anhang. Ich werde sonst mal eine Neuinstallation versuchen - seltsam…

Gruß

EDIT: Laut Wiki sollte Auswertung ohne Temperatur funktionieren:

Wenn man den jeweiligen Wert auf „Ignorieren“ stellt, erfolgt keine Auswertung der Temperatur Grenze. Sind alle Temperatur Grenzen auf „Ignorieren“ gestellt erfolgt die temperaturabhängigie Beschattung defakto nur über den Sonnenstand.

Sonst geh doch mal in die IPSShadowing_Device.class.php, bei dir an Stelle 658.

Dort sollte folgendes stehen:

$closeByTemp         = $profileManager->CloseByTemp($profileIdSun, $profileIdTemp, $tempIndoorPath);

Und füge dir zum debuggen folgenden Code VOR dieser Zeile ein:

IPSLogger_Inf(__function__, $deviceName." - profileIdSun: ".$profileIdSun."
");
IPSLogger_Inf(__function__, $deviceName." - profileIdTemp: ".$profileIdTemp."
");
IPSLogger_Inf(__function__, $deviceName." - tempIndoorPath: ".$tempIndoorPath."
");

Damit solltest du zumindest Informationen darüber erhalten, was dein Skript an das andere Skript, wo der Fehler dann auftritt, übergibt.

Gruß
Maze

edit:

Ich vermute fast, dass dein Problem der „tempIndoorPath“ sein könnte, wenn der nicht definiert ist.
PS: Meine IPSShadowing_Device.class.php sieht leider anders aus, da ich dort Anpassungen für meine Bedürfnisse vorgenommen habe.

edit2:
Dieser Wert steht in der Config unter: „c_Property_TempSensorIndoor“

Die Kombi Sonnenstand und nur Helligkeit ohne Temperatur funktioniert bei mir sehr gut. Also daran kann es nicht liegen.

Hi,
ich habe das Problem jetzt tatsächlich durch eine Neuinstallation lösen können - erklären kann ich mir das noch nicht. Danke euch trotzdem für die Hilfestellung!

Gruß

Hallo Zusammen,
ich habe noch ein Anliegen - evtl. hat das ja schon jemand gelöst.

Ich habe ein Beschattungsdevice, welches zwar Abends nach Nachtprogramm runterfährt, das Tagesprogramm steht jedoch auf manuell, da ich die Rolladen nach dem Aufstehen manuell öffne. Nun aktiviert das ja das Flag „manueller Betrieb“, welches erst bei Mitternacht zurückgesetzt wird - dementsprechend funktioniert den ganzen Tag der Automatikbetrieb (Temperatur) nicht. Das Flag „manueller Betrieb“ nach jeder manuellen Aktion zurückzusetzen wäre ja auch nicht zielführend - abgesehen von der ersten, morgendlichen Öffnung macht das Setzen des Flags ja Sinn.

Meine Idee:
Das erste manuelle Öffnen des Rolladen am Tag nach 4:00 Uhr (ganz geöffnet) setzt anschließend das Flag „manueller Betrieb“ zurück. Eine spätere erneute manuelle Betätigung, ein komplettes Öffnen vor 4 Uhr oder auch eine Teilöffnung nach 4 Uhr lässt das Flag „manueller Betrieb“ ganz normal gesetzt.

Meine Frage: Das Rücksetzen des Flags ist klar. Wie bekomme ich aber mit, dass das Device überhaupt manuell, und nicht aus einem Automatikbetrieb gefahren wurde? Wie ich das sehe unterscheiden die Callback Funktionen ja nicht nach manuellem- und Automatikbetrieb, oder? Habt ihr für mein Vorhaben evtl. ganz andere Ansätze? Ich hoffe, ich habe das „Ziel“ klar ausgedrückt.

Gruß

Hallo zusammen

Fèr die Temperaturen sind Defaultwerte zwischen 22 und 26 Grad vorhanden. Ich weiss, wie ich die Werte ausweiten kann (z.B. 20-29) indem ich das jeweilige Profil anpasse.
Aber bei jedem Update (oder anpassen der Config und anschliessenden Neuinstallation des Boduls) werden diese erweiterten Werte überschrieben.

Weiss jemand, wo ich die Defaultwerte anpassen kann, damit diese bei einer Neuninstallation erhalten bleiben?

Danke
Webdb

Du musst im Installationsskript, dort wo die Profile angelegt werden, DEINE Änderungen einbringen.

Nicht über den Profile Manager.

Somit bleiben sie zumindest bis zu einem Update von IPSShadowing vorhanden.

Dort musst du die Änderungen bei jedem Update von IPSShadowing einpflegen (oder einfach das installationsskript ersetzen).

Alternativ machst du ein neues Skript, dass die Änderungen an den Profilen macht. Das kannst du dann einfach jedesmal nach einem Update ausführen.

habe es gefunden, vielen Dank

Hi,

ich würde gerne die Abstufung bei den Öffnungswerten der Rollläden verändern, da diese nicht besonders gut zu der Aufgabenstellung passen (z.B. Spalt ein paar cm) und Finetuning erfordert. Ein individueller Wert pro Rollladen wäre natürlich der Hit.
Gibt es eine Möglichkeit die Liste (Offen, 25%, 50%, …) zu erweitern?

Danke
Klemens

schau den Post von Mazze77 an (direkt oberhalb von meinem). Im Installationsskript kannst du die Werte anpassen bzw. erweitern

Gruss Daniel

Danke für den Hinweis. Ich hab die Konstanten erweitert, wobei sich dann IDs verschieben und das Installationsskript nicht mehr richtig läuft. Ich bring’s einfach nicht fehlerfrei hin.

Danke
Klemens

hmm, da hast du vermutlich einen Syntaxfehler im Installationsscript. Was sagt das Log? Oder hast du das Installationscript im Editor ausgeführt? Dann sollte eine Fehlermeldung im Editor erscheinen sobald du es ausführt.

Hallo,

ich hatte hier schon mal mein Problem erwähnt und nach einer Lösung gefragt. Bisher habe ich dazu leider keine Antwort.

Wollte in der Config meinen Windsensor eintragen, als ich dann auf Modul Update gegangen bin da dieser nicht erkannt wurde, bekam ich die folgende Fehlermeldung:

13.08.2020, 16:55:59 | PHP                  | Error: Notice: A non well formed numeric value encountered
   Error in Script /var/lib/symcon/scripts/IPSLibrary/app/modules/IPSShadowing/IPSShadowing_ProfileTime.class.php on Line 90
  134 in IPSLibrary/app/core/IPSLogger/IPSLogger.inc.php (call IPSLogger_Out)
   44 in IPSLibrary/app/core/IPSLogger/IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
      in IPSLogger_PhpErrorHandler
   90 in IPSLibrary/app/modules/IPSShadowing/IPSShadowing_ProfileTime.class.php (call mktime)
   99 in IPSLibrary/app/modules/IPSShadowing/IPSShadowing_ProfileTime.class.php (call GetTimeByParams)
   66 in IPSLibrary/app/modules/IPSShadowing/IPSShadowing_ProfileTime.class.php (call CalculateTime)
  162 in IPSLibrary/app/modules/IPSShadowing/IPSShadowing_ProfileManager.class.php (call __construct)
   59 in IPSLibrary/app/modules/IPSShadowing/IPSShadowing_ProfileManager.class.php (call Init)
  420 in IPSLibrary/install/InstallationScripts/IPSShadowing_Installation.ips.php (call __construct)
  673 in IPSLibrary/install/IPSModuleManager/IPSModuleManager.class.php (call include)
   78 in webfront/user/IPSModuleManagerGUI/IPSModuleManagerGUI_Receiver.php (call InstallModule)

Bezieht sich hier auf die erste Zeile (90):

$time = mktime(substr($time,0,2), substr($time,3,2), 0);            
$time = strtotime("$offset minutes", $time);            
return $time;

IPSShadowing_ProgramTimer ist im Objektbaum zusätzlich fehlerhaft markiert.

Wo kann denn hier das Problem liegen bzw. was ist die Lösung?

Danke schon mal für eure Hilfe.

Grüße

Stephan

P.S. wenn mehr Infos benötigt werden bitte einfach sagen, bin mir nicht sicher was ich alles angeben sollte?

Du hast bei Tagesbegin oder Ende eine ungültige Uhrzeit eingetragen;)