Transparenter Hintergrund

Hallo,

Ich brauche oft den „Switch“ Button nur 1 mal (Taster), kann ich den Hintergrund für (Aus) auch auf Transparent schalten?
Es gibt die Einstellung Transparent aber ich benutze das „Dark“ Profil und hier muss ich immer eine Farbe auswählen und die passt auch nicht 100% überein.

nicht_transparent.PNG

Vielleicht hat hier jemand einen Tipp für mich, suche das schon lange! :o

Danke!!

Andreas

Integer Variable benutzen und Profil mit einer Assoziation. Das gibt genau einen Button :slight_smile:
Michael
PS: ich verschiebe es zu Bereich WebFront.

Hallo,

Danke! Das hat so weit funktioniert …

Wie kann ich die Farbe des jeweiligen Buttons bei Klick auf grau/grün ändern?


IPS_SetVariableProfileAssociation("AlexaShoppingListe", 0, "gekauft", "", 0x0FFF00); 
IPS_Sleep(1000);
IPS_SetVariableProfileAssociation("AlexaShoppingListe", 0, "gekauft", "", 0x808080); 

so funktioniert es zwar, es ändern sich aber alle Buttons.

Gibt es die Funktion IPS_SetVariableProfileAssociation anhand von ID oder Namen auch?

Hat jemand einen passenden Workaround für diesen Anwendungsfall?

Danke!
Andreas

Nein, du musst dann pro Variable ein eigenen Profil erstellen.
Aber es geht auch einfacher.
Wenn deine Assoziation bei dem Wert 1 ist, dann geht auch
SetValue($_IPS[‚VARIABLE‘], 1);
IPS_Sleep(1000);
SetValue($_IPS[‚VARIABLE‘], 2);
Michael

ok versteh ich nicht ganz, :slight_smile:

SetValue($_IPS[‚VARIABLE‘], 2);
IPS_Sleep(1000);
SetValue($_IPS[‚VARIABLE‘], 1);

sobald ich beim Profil einen 2. Wert angebe werden wieder 2 Buttons erstellt.
Da hilft mir der Wert auf 2 (grün), dann wieder auf 1 (grau - Standard) nichts oder?

Da muss ich zwingend für jede Variable ein eigenes Profil erstellen, wobei ich die Variable
dynamisch erstelle und sie auch wieder lösche und ich hier immer nebenbei noch die Profilverwaltung machen muss.
Ansonsten habe ich irgendwann viele Profile die ich gar nicht mehr brauch.

Oder meinst du das anders?

Danke!

Lass das Profil bei einer Assoziation und probier es mit den Script aus.
Dann hast du (nach dem erstmaligen Bestätigen) einen abgedunkelten Button welche bei Betätigung für eine Sekunde aktiv (hell) wird.
So wie das ganze Konzept des WebFronts aufgebaut ist.
Michael

Nall-chan bin zu doof … :rolleyes:

Profil bei einer Assoziation:

Einstellung:

Aktionsskript:


<?
//IPS_SetVariableProfileAssociation("TasterInteger", 0, "Ein", "", 0x0FFF00); 
//IPS_Sleep(1000);
//IPS_SetVariableProfileAssociation("TasterInteger", 0, "Ein", "", 0x808080); 

SetValue($_IPS['VARIABLE'], 2);
IPS_Sleep(1000);
SetValue($_IPS['VARIABLE'], 1);
?>

Ergebniss:
Button Sanduhr kommt, wird aktuslisiert, bleibt aber grau und wird nicht kurz hellgrün…

Ändere die Assoziation von grau auf grün.
Und dann nur den Code von mir.


<?

SetValue($_IPS['VARIABLE'], 1);
IPS_Sleep(1000);
SetValue($_IPS['VARIABLE'], 2);


Michael

OK

so funktionierts: :slight_smile:


<? 
SetValue($_IPS['VARIABLE'], 1); 
IPS_Sleep(1000); 
SetValue($_IPS['VARIABLE'], 0);

jetzt das große aber, beim Handy stürzt die App ab mit: IP-Symcon wird wiederholt beendet,

Die App zeigt erst den Taster mit - an und beim klicken ist die App weg.
Ausserdem ist der Taster in der App ein Auswahlfenster und nicht so wie bei „Switch“ ein Kästchen zum gleich drücken…

Es zeigt auch keinen Fehler in der Log an.

Wenn ich so wie du den Befehl: SetValue($_IPS[‚VARIABLE‘], 2); mit 2 und nicht 0 mache bleibt der Taster immer hell (aktiv)
und wird nicht mehr dunkel.

Danke!

Stimmt mit der 2 und 0 da wurde ja etwas angepasst.
Das in der App kein direkter Schalter auftaucht ist so korrekt.
Du hast ja keinen boolean mehr welcher immer zwei Zustände bereitstellt, sondern nur noch einen Taster.
Bei der App wäre es einfacher direkt mit einem Link auf ein Script zu arbeiten.
Abstürzen sollte die App aber nicht.
Michael

Ich glaube sie stürzt ab weil beim Wert 0 kein Namen hinterlegt ist deshalb zeigt die App auch nur - an.

Wir haben ja nur den Namen auf den Wert 1 vergeben, da wir nur einen Button brauchen.
Sobald der Wert jetzt „virtuell“ auf 0 geht hat die App keinen Text und zeigt -
Wenn ich jetzt auf das - klicke stürzt sie ab …

Ich werde mal in der App mit Boolean und Script arbeiten, schauen ob das so geht.

Generell wäre doch so eine Funktion mit „Taster“ hilfreich wie beim Schalter mit „Switch“,
das würden sicher einige Leute brauchen… Weiß nicht wie die es mit Tastern in IPS machen,
die sind ja meistens Bool Variablen mit 1/0 oder?

Vielleicht kann man das mal in einer Hauptfunktion erweitern von IPS :slight_smile:

Zu 99% braucht es keinen Taster.
Man will ja eigentlich immer den Zustand Aktor an/aus, Script (Programmablauf) arbeitet noch, etc. wissen.
Auch wenn ich z.B. durch einen Druck auf Ein hier meinen Lüfter oder Gäste-WLAN für Zeit X starte, so zeigt mir an/aus auch immer den aktuellen Zustand an.
Bool sind keine Taster.
Eher ganz normale Schalter für An/Aus.
Michael

So habe nochmal rumgespielt.

am besten geht es mit:


<?php
if ($_IPS['SENDER'] == "WebFront")
{   
        IPS_SetVariableProfileAssociation("EinAus", 0, "Ein", "", 0x00FF00);   
        SetValue($_IPS['VARIABLE'], 1);      
        IPS_Sleep(1000);
        SetValue($_IPS['VARIABLE'], 0); 
        IPS_SetVariableProfileAssociation("EinAus", 0, "Aus", "", -1);
}

hier muss man aber für jeden Taster ein neues Profil anlegen, dafür geht es auch in der App!!

mit diesem Vorschlag:


<? 
SetValue($_IPS['VARIABLE'], 1); 
IPS_Sleep(1000); 
SetValue($_IPS['VARIABLE'], 0);
?>

hier geht alles im Browser auch kein neues Profil wird verlangt, aber am Handy stürzt die App ab, weil bei 0 der Text „“ (null -) ist!!

Gibt es eine Möglichkeit Handy und Webfront getrennt zu steuern mit dem selben Code, so das ich Boolean (Switch) am Handy und in der Webfront die Lösung mit Integer verwenden kann, ohne das man das jeweilige andere sieht?

mit Variable Visible Webfront/App oder so??

Danke!!
Andreas

Nein das geht nicht.
Den Fehler (App ist aktuell?) solltest du am besten einmal im App Bereich des Forums melden. Der Absturz darf nicht sein.
Michael