Mehrere Status in ein Variablenprofil packen

Das ist übrigens das erstellte Profil, vielleicht hilft Dir das weiter.

Reden wir aneinander vorbei oder willst du mir nicht helfen, weil die Antwort so offensichtlich ist? :confused:
Kannst du bitte auf meine vorherige Frage eingehen:

Ich hab jetzt die Anzeige im Webfront, so wie ich sie haben will. Mir ist allerdings nicht klar wie ich meine Variablen „Aktuelle Torposition“ und „Aktuelle Bewegungsrichtung“ ohne Aktionsskript anpassen soll bzw. wie ich den entsprechenden Text im Webfront ausgeben kann? Meiner Meinung nach brauche ich das bei beiden Status. Ich muss es aber weglassen um auf meine gewünschte Optik zu kommen?

Falscher Post wurde gelöscht

Was der „Vorredner“ gemeint hat, verstehe ich auch nicht :mad:

Selbstverständlich mußt Du die Variable, der das Profil zugeordnet ist, verändern damit sich was in der Anzeige ändert; das macht man über ein Skript.

Kann man natürlich auch manuell im Objektbaum machen, ist aber nicht besonders komfortabel:D

Sobald ich aber das Skript aktiviere, stehen die 3 Status alle als Button nebeneinander und ich hab dann nicht mehr die Möglichkeit nur „DEN EINEN“ aktuellen anzuzeigen.

Da mußt Du irgend einen Bug drin haben.

Mein „Aktionsskript“ führt nur dann nicht zum Wechsel der Anzeige, wenn der gesetzte Wert außerhalb des im Profil definierten Bereiches liegt. Ist der Wert innerhalb des Bereiches wechselt die Anzeige zum assoziierten String.

Ein Vergleich der Umgebung:

  1. Die Variable ist vom Typ Integer und hat ein eigenes Profil (das ich weiter oben gepostet hatte, dabei hatten sich unser Postings zeitlich überschnitten).
  2. Visualisiert wird über einen Link, der auf die Variable nach Nr. 1 verweist.
  3. Der Link ist unterhalb eines Dummy Modules lokalisiert; alle Links unterhalb des Dummy Modules werden in einem gemeinsamen Kasten visualisiert.
  4. Die Variable nach Nr. 1 erhält über den Befehl SetValue einen Integer-Wert

Damit läuft es hier obwohl SetValueInteger vielleicht besser wäre.

Schreibe Dir doch zum Eingrenzen des Fehlers ein einfaches Testskript in der Art:

SetValue (4711 /*ist die ID der Variable*/, 1); 

Hallo FiziksXT,

unter dem Begriff „Aktionsskript“ wird in IPS ein Skript verstanden, das einer Variable in den Profileinstellungen zugeordnet ist (‚Eigene Aktion‘). Dieses Skript wird aufgerufen, wenn die Variable über das Webfront geändert wird.

Da du die Variable aber im Webfront nur anzeigen lassen möchtest, ist dieser Eintrag leer zu lassen. Das meinte ich mit „weglassen“. Als Ergebnis zeigt dir das Webfront nun nur noch den Zustand, aber nicht mehr die Auswahlmöglichkeit an. Aber soweit bist du nun ja schon :slight_smile:

Als nächstes die Frage, wie deine Anzeigevariablen den korrekten Wert bekommen: dazu brauchst du deinem Skript nur die passenden Events zuzuordnen. Aber hast du das nicht bereits getan? Wenn dann ein Event ausgelöst wird, wird dein Skript ausgeführt, das den Wert deiner Anzeigevariablen setzt. Das ist alles.

Ich vermute, dass dein Skript bereits aufgerufen wird, aber noch nicht korrekt arbeitet.

Vielleicht baust du noch zu Beginn eine zusätzliche Anweisung ein:

IPS_LogMessage('Garagentor', 'Event: '.$_IPS['EVENT']);

Dann kannst du im Logfile sehen, ob und von welchem Event dein Skript aufgerufen wird …

Gruß

Burkhard

Hi Bumaas,

vielen Dank für deine ausführliche Nachricht. Genau so funktioniert es. Ich hatte einen Denkfehler bei der ganzen Sache und zwar hatte ich den Statusvariablen auch das Skript zugewiesen, was natürlich völliger Quatsch ist. Denn dieses wird wie du schon sagtest über Events aufgerufen, wenn sich eine meiner Status ändert. Dann kann ich schauen welche Status sich änderte und aktualisiere die entsprechende Variable.

Ich glaube so langsam habe ich den Dreh raus :smiley:

Hier noch ein Beweisfoto. Das hilft vielleicht anderen die das gleiche Problem haben.