IPS Systemvariable

Hallo,
ich habe eine Frage zu den IPS_Systemvariablen, speziel zu IPS_Sender. Leider komme ich dabei auch mit der Doku nicht klar, also frage ich mal hier.
Ich verwende das Scipt Toggle Button von Rainer. Das Poste ich nochmal unten, der einfachheit halber.
Ich Schalte meine Homematicaktor darüber vom Webfront, geht alles super.
Wenn jedoch die Variable ( die mit dem Aktor verknüpft ist) über mein Zeitscript gesteuert wird, sehe ich im Webfront zwar das diese aktiviert wird, aber es wird nicht die „Funktion Ein“ ausgeführt, da IPS_Sender nicht Wefront ist.
Ich wollte nun IPS_Sender mit einer aktualisierten Variable nutzen, aber das bekomme ich nicht hin ( In meinem Script habe ich das in rot dargestellt ).

Hat jemand einen Tip für mich?

Hier das Scrip nochmal

 <?
/* aktionsscript schaltet vBuero-Sonos über Webfront 05.02.13
   Setzt Toggel Switch variablen Profil */
if($IPS_SENDER == "Execute")
{
    $value = IPS_GetVariableProfile("S-Buero");
    switch($value['Associations'][0]['Value'])
    {
         case 0:
        Ein();
        break;
        case 1:
        Aus();
        break;
    }
}

 if($IPS_SENDER == "WebFront")
{
   switch($IPS_VALUE)
    {
         case 0:
        Ein();
        break;
        case 1:
          Aus();
        break;
    }
}

:confused:if($IPS_SENDER == "?")
{
   switch($IPS_VALUE)
    {
         case 0:
        Ein();
        break;
        case 1:
          Aus();
        break;
    }
}

function Ein()
{
    IPS_SetVariableProfileAssociation("S-Buero", 0, "", "", -1);
    IPS_SetVariableProfileAssociation("S-Buero", 1, "aus", "", 0x00ffff);
    SetValue(26401 /*[Program\Musik\vBuero-Sonos]*/,false);
}

function Aus()
{
    IPS_SetVariableProfileAssociation("S-Buero", 1, "", "", -1);
    IPS_SetVariableProfileAssociation("S-Buero", 0, "ein", "", 0x00ff00);
    SetValue(26401 /*[Program\Musik\vBuero-Sonos]*/, true);
}


?>

Lg Ralph

Verstehe nicht ganz was Du meinst, aber wenn das Skript immer ausgeführt werden soll, dann einfach die Zeile mit dem Sender weglassen. Ist doch immer das gleiche, egal welcher Sender.

 <?

/* aktionsscript schaltet vBuero-Sonos
   Setzt Toggel Switch variablen Profil */

    $value = IPS_GetVariableProfile("S-Buero");
    switch($value['Associations'][0]['Value'])
    {
         case 0:
        Ein();
        break;
        case 1:
        Aus();
        break;
    }


function Ein()
{
    IPS_SetVariableProfileAssociation("S-Buero", 0, "", "", -1);
    IPS_SetVariableProfileAssociation("S-Buero", 1, "aus", "", 0x00ffff);
    SetValue(26401 /*[Program\Musik\vBuero-Sonos]*/,false);
}

function Aus()
{
    IPS_SetVariableProfileAssociation("S-Buero", 1, "", "", -1);
    IPS_SetVariableProfileAssociation("S-Buero", 0, "ein", "", 0x00ff00);
    SetValue(26401 /*[Program\Musik\vBuero-Sonos]*/, true);
}

?>

Ansonsten

($IPS_SENDER == "Variable")

und bitte gleich die neue Schreibweise verwenden

($_IPS['SENDER'] == "Variable")

oder TimerEvent:

($_IPS['SENDER'] == "TimerEvent")

Gruß
Bruno

Stimmt Bruno, Du hast Recht. :slight_smile:

Daran hab ich garnicht gedacht.

Aber damit ich die Syntax von IPS_Sender verstehe ( für die Zukunft )
muss ich dann z.B. (IPS_Sender == „41666“) schreiben, also den ID Wert :confused:

Kannst Du mir dafür ein kurzes Beispiel geben. Das fehlt mir in dem Teil der Doku.

Ralph

Bin kopierender Skripter … :wink: :smiley:

Soweit ich es verstanden habe, merkt sich IPS die Variable, somit bleibt

($_IPS['SENDER'] == "Variable")

Die ID kannst Du irgendwie auswerten, mit:

$_IPS['VARIABLE'] == ID

http://www.ip-symcon.de/service/dokumentation/konzepte/skripte/systemvariablen/
oder
http://www.ip-symcon.de/service/dokumentation/vorgehensweisen/wie-kann-ich/ (ab UpdateTime)

Details muss jemand beantworten der sich auskennt. :o