Suche Fehler in Anwendung der Systemvariable $_IPS['TARGET'] (Beispiel von paresy)

Hallo,
ich will einen Wert umrechnen und das Ergebnis in eine eigene Variable schreiben.
Dazu habe ich den Beitrag von paresy gefunden:
https://www.symcon.de/forum/threads/8177-Variablen-umrechnen-%28Version-2-1-Feature%29

Leider fehlen in dem Beitrag die Screenshots.
Momentan zum Testen habe ich nur eine Zeile Code im Script:
<?
SetValue($_IPS[‚TARGET‘], 1225.41+4/100);
?>

Nach dem Ausführen erhalte ich die Fehlermeldung:
Notice: Undefined index: TARGET in C:\IP-Symcon\scripts\18402.ips.php on line 2
Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\18402.ips.php on line 2

Es liegt also an der Systemvariable $_IPS[‚TARGET‘]
Diese soll die ID des übergeordneten Objekts ermitteln.
Die Objektanordnung sieht bei mir so aus:

Den Fehler erhalte ich auch, wenn ich Variable und Script in einer separaten Kategorie ablege.
Das übergeordnete Objekt des Scripts Solarstrahlung ist doch die Variable Solarstrahlung?
Wo ist der Fehler in der Anwendung der Systemvariable $_IPS[‚TARGET‘] ?

In der Doku steht: „Wenn das Skript durch ein zyklisches- oder Wochenplan-Ereignis ausgeführt wurde.“ :wink:

Grüße
galleto

Hallo
Die Systemvariable $_IPS[‚TARGET‘] gibt es nur wenn deine Script
von einem Ereignis oder Wochenplan gestartet wird.
Nicht bei manueller Ausfuehrung.
In deinem Fall steht in $_IPS[‚TARGET‘] die ID des Scriptes.
Probier mal folgendes

SetValue(IPS_GetParent($_IPS['TARGET']), 1225.41+4/100);

Hallo 1007,
die Bedingungen für $_IPS[‚TARGET‘] habe ich nicht gelesen.

Das funktioniert auch nicht. Aber dadurch bin ich auf die Lösung gekommen, was mit Ausführen funktioniert und somit auch mit dem auslösenden Ereignis funktionieren sollte.


SetValue(IPS_GetParent($_IPS['SELF']), 1225.41+4/100);

Danke für die Hilfe.

Alternativ, das Ereignis direkt unter der Variable platzieren und im Ereignis direkt den Code hinterlegen:


SetValue($_IPS['TARGET'], 1225.41+4/100);

Dann braucht es kein Script im Objektbaum.
Michael