Toggle Button

Du hast mich nicht verstanden, Du musst die Assoziationen über Script zuweisen mit IPS_SetVariableProfileAssociation.

Hier hast mal ein Beispiel.

Integervariable mit eigenem Profil anlegen, dieses Script als Aktionsscript übergeben. Assoziation Wert 0 speichern. Profilname im Script eintragen!

<?

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

Boah, verdammt, muss ich noch lernen…da wär ich doch nie drauf gekommen…unfassbar, das sowas einfaches so „schwer“ umzusetzten ist…und ihr macht das alles mal eben so…:rolleyes:
In der Doku wäre so ein „Typischer“ Vorgang aber auch mal nicht verkehrt!

So, wie von dir vorgegeben funktioniert es auch, wenngleich ich das auch immer noch nicht durchschaue.
Allerdings ändert dieses, ja dann nun erst mal nur die selbst angelegte Variable, der Funkbefehl wird aber noch nicht ausgelöst!?

Und dann noch eine andere Sache, so wie von dir umgestzte brauche ich das sicher auch noch, für diesen einen NUR Aus Schalter allerdings hätte ich es ja gerne wenn der Button einfach kurz gedrückt, anschliessend aber wieder in die ursprungsposition zurückgeht. Ein echtes Tasten also!?

der Funkbefehl wird aber noch nicht ausgelöst!?

wie auch, den musst Du noch einbauen.

Und dann noch eine andere Sache, so wie von dir umgestzte brauche ich das sicher auch noch, für diesen einen NUR Aus Schalter allerdings hätte ich es ja gerne wenn der Button einfach kurz gedrückt, anschliessend aber wieder in die ursprungsposition zurückgeht. Ein echtes Tasten also!?

auch kein Problem damit, bau es dir entsprechend um. :wink:

Das ganze sollte nur als Beispiel herhalten, wie so was aussehen könnte. Das ist nix fertiges.

Hm, dazu müsste man nur erst einmal verstehen, was da passiert…

Unfassbar, einen Tag für einen dösigen Knopf…wenn ich da erst an die Quellen-Wahl denke…:eek:

Ich glaube ich muss das Projekt hier erst mal abhaken :frowning:

Extravagante Wünsche benötigen extravagante Lösungen. :smiley:

Ich seh jetzt auch nicht wirklich dein Problem. Schreib den Funkbefehl doch einfach in die case-Anweisung mit rein. Mehr ist es doch nicht.

räusper Ein einfacher Taster??? Extravagangt???

Oh ha, da komm ich besser nicht meinen Ideen die noch so im Kopf sind ;):p:D

Es geht in diesem Forum um die Lösung von Problemen … Jammern usw. geht in anderen Foren (Seelsorge …) besser. :confused:

Wenn Du also schon das Script bis hierher abgeschrieben hast und es funktioniert, dann kannst Du doch den Rest auch noch erfragen. :smiley:

Was soll senden (Instanz, blabla) … wirst schon merken, wenn keiner antwortet

Gruß
Bruno

Ein einfacher Taster

dieser hat halt seit V2.4 zwei Schaltflächen und nicht mehr eine.!

Ich Jammer gar nicht, bin einfach nur „leicht“ frustriert nach stunden des lesen frickeln, testen…trotz wissbegieriger lernphase!

        case 1:
        IPS_SetVariableProfileAssociation("Aus_Aus", 0, "Aus", "", -1);
        IPS_SetVariableProfileAssociation("Aus_Aus", 1, "", "", -1);
        break;

Warum wird hier zwei mal dieser Befehl angeführt? Und was macht das -1 am Ende!? Steht nix von in der Doku… sobald ich die weg nehme geht nix mehr

Dann hab ich eine andere Doku wie Du. :confused:

IPS_SetVariableProfileAssociation: IP-Symcon :: Automatisierungssoftware

Yepp, und unter Farbe steht Sonderfall … -1

Also steuert der Wert die Button-Farbe (wenn ichs auf die Schnelle richtig sehe) :smiley:

Gruß
Bruno

Jup, tatsächlich:

boolean IPS_SetVariableProfileAssociation ( integer $ProfilName, float $Wert, string $Name, string
$Icon )

Habe hier die „IPS-Bibel“ neben mir liegen…brauche immer was zum blättern…ist dann wohl überholt.
Nebenbei bemerkt sieht die auch schon aus wie ein Buch aus den 60ern :stuck_out_tongue:

Die dürfte noch von V2.2 sein.

Wenn aktuell, die Doku lesen.

Ok, guckt mal was ich hier gebaut habe:

<?

if($IPS_SENDER == "WebFront")
{
    switch($IPS_VALUE)
    {
        case 1:
        IPS_SetVariableProfileAssociation("Aus_Aus", 0, "Aus", "", 0xE53300);
        IPS_SetVariableProfileAssociation("Aus_Aus", 1, "", "", 0xE53300);
        SetValueInteger(42217, 0);
        IPS_Sleep(100);
        SetValueInteger(42217, 1);
		  break;
        case 0:
        IPS_SetVariableProfileAssociation("Aus_Aus", 1, "Aus", "", 0xE53300);
        IPS_SetVariableProfileAssociation("Aus_Aus", 0, "", "", 0xE53300);
        SetValueInteger(42217, 0);
        IPS_Sleep(100);
        SetValueInteger(42217, 1);
        break;
    }
}

Jetzt gibt es nur noch Aus und ich bekomme ein kurzes Feedback bei Tastendruck.
Allerdings nur bei jedem 2. mal. Warum ist das so?

Lass mich raten, 42217 ist deine Integervariable mit Profil. Warum setzt Du diese noch mal. Sie wird doch über SetVariableProfile… gesetzt.

Oder liege ich falsch.

<?

if($IPS_SENDER == "WebFront")
{
   SetValue($IPS_VARIABLE, $IPS_VALUE);
    switch($IPS_VALUE)
    {
        case 0:
        IPS_SetVariableProfileAssociation("Aus_Aus", 0, "Aus", "", 0xE53300);
        break;
    }
}

?>

Also wenn ich das jetzt mal so durchschaut habe, setze ich mit IPS_SetVariableProfileAssociation einfach nur die Assoziation für 0 und 1 in meiner Variable (plus Wert & Farbe)

Also wird meine Variable im Ersten schritt mit der Assoziation 0 auf den Wert Aus gesetzt. Die Assoziation 0 wird gelöscht.

Anschliessend setzte ich sie allerdings manuell für eine kurze Zeit (100ms) auf aus und dann wieder ein, das bringt mir eine kurzes visuelles feedback im WF.

Nur eben im zweiten Step haut das nicht hin.

Worauf bezieht sich denn das case0 / case1?

Wenn Du nur einen z.B. Aus-Befehl senden willst, brauchst Du das ganze Gedönse nicht. Im Profil nur einen Wert anlegen und im Script den Code von dfhome ohne ! vor $IPS_VALUE.

case bezieht sich auf den Wert der hinterlegt ist. Wenn Du jetzt 2345 hinterlegst muss um zu schalten der case auch 2345 sein. Also case 2345:

Hurra, ich kann nun AUS schalten! (wenn auch ohne optisches feedback)

Jetzt reicht es aber auch erst mal für heute, Kopf frei kriegen…

Morgen gehts dann ans eingemachte: Quellen Auswahl in einer Zeile :slight_smile:

Hast du morgen schon was vor, Rainer?? :D;)

Hallo,

ich habe das jetzt auch mal ausprobiert und es hat soweit funktioniert; aber entweder habe ich etwas falsch gemacht oder man muss dann für jede Variable ein eigenes Profil anlegen, denn wenn man das Profil ändert, schlägt sich das ja auf alle durch. Oder verstehe ich es gerade nicht so recht ?