ErrorCount in Scripten erhöhen

Hallo,
ist es möglich den „ErrorCount“ in Scripten kurzfristig zu erhöhen oder abzuschalten?

Hintergrund:
In einem Script lege ich autom. über 20 Objekte an. Meisten mit folgenden Zeilen:

$VarName = "frühestens";
$ObjectID = IPS_GetObjectIDByName($VarName, $ObjectID_Mode_Aus);
if ($ObjectID == FALSE) {
  $ObjectID = IPS_CreateVariable(3);

Hierbei wird vorher kontrolliert ob es schon ein Objekt mit dem gleichen Namen exestiert. Wenn nein, dann ein neues erzeugt.

Jetzt kommt aber ,bei dem ersten Start, bei der Abfrage „IPS_GetObjectIDByName“ immer eine Warnung und nach 10 Warnungen wird das Script abgebrochen.


Warning:  Objekt AN wurde nicht gefunden in D:\SERVER\IP-Symcon\scripts\34370.ips.php on line 18

Warning:  Objekt AUS wurde nicht gefunden in D:\SERVER\IP-Symcon\scripts\34370.ips.php on line 29

Warning:  Objekt Einstellungen wurde nicht gefunden in D:\SERVER\IP-Symcon\scripts\34370.ips.php on line 84

Warning:  Objekt Parameter wurde nicht gefunden in D:\SERVER\IP-Symcon\scripts\34370.ips.php on line 97

Warning:  Objekt Einschaltzeit wurde nicht gefunden in D:\SERVER\IP-Symcon\scripts\34370.ips.php on line 107

Warning:  Objekt Ausschaltzeit wurde nicht gefunden in D:\SERVER\IP-Symcon\scripts\34370.ips.php on line 119

Warning:  Objekt Zeit wurde nicht gefunden in D:\SERVER\IP-Symcon\scripts\34370.ips.php on line 132

Warning:  Objekt Zeit wurde nicht gefunden in D:\SERVER\IP-Symcon\scripts\34370.ips.php on line 141

Warning:  Objekt Sonnenuntergang wurde nicht gefunden in D:\SERVER\IP-Symcon\scripts\34370.ips.php on line 152

Warning:  Objekt zivile Abenddämmerung wurde nicht gefunden in D:\SERVER\IP-Symcon\scripts\34370.ips.php on line 161
Abort Processing during exceed of maximal ErrorCount: Objekt nautische Abenddämmerung wurde nicht gefunden
   Error in Script D:\SERVER\IP-Symcon\scripts\34370.ips.php on Line 170

Da es über 20 Objekte sind (die angelegt werden sollen) muss ich zur Zeit das Script 3 mal starten bis alle Objekte erzeugt wurden (4 mal bis keine Warnungen angezeigt werden).

Gibt es hier eine elegantere Lösung (andere Funktion zur Abfrage, Warnungen abschalten, ErrorCount erhöhen, …)?

Gruß
waldbone

Auch wenn du es bestimmt nicht gerne liest…
Doku lesen hilft:

IPS_GetObjectIDByName — IP-Symcon :: Automatisierungssoftware

Blauer Rahmen:

Diese Funktion generiert eine Warnung. Sollte der Name nicht gefunden werden, benutzen Sie den @ Operator, falls Sie diese Meldung unterdrücken wollen.

Und das Beispiel darunter zeigt sogar wie es ‚richtig‘ gemacht wird.

Allerdings würde ich immer IPS_GetObjectIDByIdent — IP-Symcon :: Automatisierungssoftware nutzen. Sonst findet dein Script die Objekte nicht mehr wieder, solltest du sie umbenennen.

Michael

Danke Michael. Genau das hab ich wiedermal überlesen. :rolleyes:

„IPS_GetObjectIDByIdent“ wird bei mir denk ich nicht so gut funktionieren, da ich viele Objekte mit dem gleichen „Ident“ habe. Trotzdem danke für den Hinweis.

Ein Ident darf doch nie auf gleicher Ebene mehrfach vorkommen. Kannst dir ja da auch was ‚ausdenken‘.

ByName ist dann ja noch ‚schlimmer‘ weil Namen dürfen ja mehrfach auf einer Ebene vorkommen.

Nicht das du später (ein nicht vorhandenen) Fehler suchst, wenn du mal einen Namen änderst :wink:

Michael

Alles klar. Verstehe das möglicherweise noch falsch. Werd ich mir mal genauer anschauen.
Vielen Dank dir für die super schnelle Hilfe.