Register Variable ein Ziel Script zuordnen?

Hallo.

Habe nochmal eine bescheidene Frage:

Wie kann ich einer Register Variable ein Ziel Script zuordnen?

Danke.

BYE
Thomas

Instanz RegisterVariable öffnen => Zielscript auswählen

Sorry, hatte mich falsch ausgedrückt.

Suche eine Funktion die das macht
z.B „IPS_RegisterVariableScript()“ oder so?

BYE
Thomas

Hmm, gute Frage. Find jetzt auch nichts. paresy wird es wissen.

RegVar_SetRXObjectID(InstanzID, SkriptID);

Naja, wenn da RegVar_SetZielScript gestanden hätte, hätte es jeder gewusst. :confused:

Hallo zusammen,

ich habe das Problem, dass das Ziel Skript einer Register Variablen (RV) nicht aufgerufen wird :confused:. Die RV ist mit einem Client Socket verbunden und im Debug Fenster der RV sehe ich auch das die RV Daten empfängt, nur leider wird eben nicht das entsprechende angehängte Ziel Skript der RV ausgeführt.
Hintergrund: Kommunikation soll mit einem AVR-NET-IO hergestellt werden.
Senden an das Gerät klappt über CSCK_SendText() oder auch RegVar_SendText() sehr gut :o.
IPS Version ist 2.20 #1664.
Weiß jemand Rat?

wie sieht denn dein Script aus.

Hallo RWN,
es ist noch ziemlich einfach gehalten und ist hier im Forum auch schon diskutiert worden.


<?

echo "$IPS_SENDER
";

switch($IPS_SENDER)                                
{
    case "Execute":                                
       CSCK_SendText(38052, "GETADC 1");           
    break;

    case "RegisterVariable":
        echo "$IPS_VALUE
";
    break;
}
?>

dann werden keine Daten vom AVR zurück kommen.

ersetz mal dein echo mit diesem hier.

IPS_LogMessage($IPS_SELF, $IPS_VALUE);

Du kannst dann unter Meldungen sehen ScriptID und Wert.

OK, ich habe

 echo "$IPS_SENDER
";  

in

IPS_LogMessage($IPS_SELF, $IPS_VALUE); 

geändert.

Meldungen sehen so aus.
Die Obj. ID des Skriptes ist 19498. Mir fehlt da wirklich noch Erfahrung wie ich den Wert 655 in eine Skript Variable bekomme :confused:.

Ah verstehe: In $IPS_VALUE steht ja der Wert drin. Aber warum verzweigt der switch nicht in case „RegisterVariable“ und bringt den Wert über echo "$IPS_VALUE
"; zur Ausgabe?

so sollte es eigentlich werden.

   <?

echo "$IPS_SENDER
";

switch($IPS_SENDER)                                
{
    case "Execute":                                
       CSCK_SendText(38052, "GETADC 1");           
    break;

    case "RegisterVariable":
    IPS_LogMessage($IPS_SELF, $IPS_VALUE);
    SetValue(xxxxx, $IPS_VALUE);
    break;
}
?>    

sag was Du genau willst, bekommen wir schon hin.

Leg dir mal eine Integer-Variable an und ersetz die xxxxx mit der VariablenID.

Klasse danke RWN :o,

der Wert seht jetzt in einer Integer Variablen! Deine Hilfe war Gold wert.

Es sieht wohl so aus, als ob echo bei Aufruf des Skriptes durch eine RV nicht richtig funktioniert ;). Besser man macht ein Debug Out über IPS_LogMessage() und das Meldungen Log.

ein echo ist in diesem Falle unangebracht. da die Daten in $IPS_VALUE nur zum Triggerzeitpunkt zur Verfügung stehen und Du diese nicht im Script sichtbar machen kannst mit ausführen. Daher ist IPS_LogMessage besser oder auch ein print_r(), print()