Ankündigung

Einklappen
Keine Ankündigung bisher.

Button zum Toggeln des Gegenteils einer GA im Visu-Assistenten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Button zum Toggeln des Gegenteils einer GA im Visu-Assistenten

    Hallo allerseits, ich hab da mal ne Frage.
    In meiner Visu habe ich für jede Automatik-Funktion einen Toggle-Button, um diese Funktion freizugeben. Button inaktiv = Funktion aus, Button aktiv = Funktion ein.
    grafik.png

    Es gibt aber auch Funktionen, die als Gruppenadresse nicht eine Freigabe sondern eine Sperre haben. Diese würde ich gerne mit einem Button umschalten, der genauso aussieht wie ein Freigabe-Button, da es für den Anwender ja keine Rolle spielt, ob die Technik über Freigabe oder Sperre läuft. Genauso aussehen heißt: Button inaktiv = Sperre ein, Button aktiv = Sperre aus.

    Ich habe also einen Button angelgt vom Typ "Mit Logik verknüpfen". Und diese Logik hier entwickelt, die das gewünschte macht. Allerdings kommt mir das Verfahren etwas aufwändig vor (angesichts der Tatsache, dass ich 8 solche GAs habe).
    Hat jemand eine Idee, wie man das ganze etwas schlanker lösen könnte?

    Logik_Button_Negierte_GA.png

    #2
    Lege dir ne Variable an und verknüpfe sie mit der GA, über ein NOT geleitet. Diese wählst du in der Visu wie jede andere GA. Ggf noch die GA mit Init in der Objektliste versehen, um sie beim Start zu lesen.

    Kommentar


      #3
      Danke für die schnelle Antwort. Ja, das klingt logisch.
      Wahrscheinlich geht es ganz einfach. Aber bei mir klappt das Anlegen der Variable noch nicht so ganz.

      Wenn ich es in der Logik mache, dann ist eigentlich alles richtig. Außer die Initialisierung beim Start de EibPC. Da geht die Variable immer auf den definierten Wert, aber nicht auf den von der Gruppenadresse abhängigen richtigen Wert, obwohl ich im Gruppenmonitor sehen kann, dass der EibPC die Staus-GA abholt.
      grafik.png

      Im Experten-Modus hab ich auch das Problem mit der Initialisierung. Zusätzlich geht der Wert ein paarmal hin und her bis er sich auf einen (in diesem Fall den falschen) Wert einpendelt.
      grafik.png

      Kommentar


        #4
        Wenn du eine Ziel-GA hast, auf die du abbildest, ist es sinnvoller, Busereignisse zu nutzen und dann jeweils zu senden. Und wenn du mehr von der gleichen Sorte hast, dann ist am wartbarsten und übersichtlichsten ein Makro.
        Erstelle eine neue Makrobibliothek und füge das Makro ein:
        Code:
        :begin GAStatusInvertiert(GA, GAInvertiert)
        if eventwrite(GA) or eventresponse(GA) then write(GAInvertiert, !GA) endif
        :end


        In deinem Programm dann für jedes relevante GA-Pärchen:
        Code:
        GAStatusInvertiert("Heizen Schulabsenkung Sperre Status-3/0/14", "Heizen Nachtabsenkung Sperre-3/0/11")

        Kommentar

        Lädt...
        X