Triggert Ereignis ein Aktionsskript?

Hallo Zusammen,

ich habe mal eine ganz blöde Frage: Wenn einer Variable ein Aktionsskript zugewiesen ist und diese Variable auch das Ziel eines ausgelösten Ereignisses ist, wird dann das Aktionsskript gestartet wenn das Ereignis die Variable ändern will? Mir kommt vor, das ist so:
Ich habe bei mir einige Variablen vom Prozess getrennt. Also eine Originalvariable und eine Kopie. Die Originalvariable wird zB über MQTT gesetzt. Ein ausgelöstes Ereignis setzt dann die Kopie auf den selben Wert. Die Kopie hat ein Aktionsskript. Wenn das Ereignis auf „Switch to Trigger Value“ steht, wird mein Aktionsskript ausgelöst. Schalte ich das Ereignis auf „Execute PHP Code“ um und mache dort ein SetValue($_IPS['TARGET'],$_IPS['VALUE']);, so wird mein Aktionsskript nicht aufgerufen.
Kann das wer bestätigen oder habe ich noch irgendwo einen Knopf in meinen Skripten?

Gruß
Erich

Kommt auf die eingestellte Aktion an.

Korrekt.

Auch korrekt.
Wobei es auch eine entsprechende Aktion dafür gibt.
Der Unterschied im deutschen Symcon ist halt Variable schalten oder Variable schreiben/setzen.
Michael

Servus Michael,

vielen Dank für die rasche Bestätigung :+1:! Mich hat auch verwirrt, da $_IPS[‚SENDER‘] im Aktionsskript immer mit „Action“ ankommt. Auch wenn es über das Ereignis getriggert wird. Aber jetzt weiß ich Bescheid, dass meine Beobachtung richtig ist und dass ich mit PHP-Code im Ereignis arbeiten muss. Bin wieder versöhnt mit meinem Server :loveips:

Gruß
Erich

Nein, musst du nicht.
Nur die korrekte Aktion auswählen.
Michael

Jetzt stehe ich auf der Leitung. Sobald ich im Ereignis wieder „Switch to Trigger Value“ auswähle habe ich ja wieder das Problem. Was meinst du sonst mit „Aktion auswählen“?
Erich

Eigentlich meinte ich diese Aktion hier:
image
Aber… Die Konsole bevormundet hier ein und bietet NUR noch Schalten an, sobald die Variable eine Aktion hat (@Dr.Niels könnt ihr das bitte wieder zulassen? Warum wird das unterbunden?)

image

Somit hast du recht… aktuell musst du leider den unnötigen Umweg über den PHP-Code nehmen.
Michael

Alles klar! Ich danke dir :smiling_face:
Erich

@Dr.Niels Da bin ich auch gestern drüber gestolpert, als ich mir einen bestehenden Ablaufplan angesehen habe. Das muss neu sein.
In dem Moment ändert er die bestehende(n) Aktion(en) willkürlich :scream:

In den meisten Fällen wollen Benutzer schaltbare Variablen auch schalten und nicht setzen. Da verwirrt die Option fürs Setzen eher als das es hilft. Klar gibt es Profis wie euch, die das bewusst machen wollen. Aber da müsst ihr dann wie beschrieben auf PHP ausweichen, damit wir „Laien“ nicht unnötig verwirren :wink:

„Neu“ ist übrigens höchstens die Meldung, dass hier ein Wechsel passiert, aber auch das bestimmt schon ein paar Versionen. Vorher wurde die Aktion ganz stillschweigend geändert…

Ja das ist nachvollziehbar.

Ich vermute, kann es aber nicht mehr nachvollziehen, dass die Funktion vorher zur Laufzeit „richtig“ geändert wurde.
Jetzt wird sie meinem Eindruck nach im Dialog „willkürlich“ geändert, D.h., es wird irgendeine alternative Funktion eingesetzt. Das macht es schwer, sie zu korrigieren. Ist aber nur eine Unschönheit, die aufgefallen ist.

Ja, vielleicht sollte man den Prozess bewusster machen. Dann ist die Aktionsauswahl initial in einem fehlerhaften Zustand inklusive Anzeige der bisherigen Aktion und die Aktion wird erst bei einem Klick überschrieben. Dann kann man noch einmal sehen was hier ggfs. die Idee war und dann ein passendes Äquivalent wählen.

Dann beschreibt es besser.
Bitte, das ist so wirklich nicht sinnvoll, einfach die Aktion zu verbieten.

Auch Profis wollen Ereignisse mit anständigen Aktionen nutzen (sonst würde ich keine für PHP-Module bauen) und nicht immer ein Script schreiben/kopieren oder gar als Code direkt in das Ereignis schreiben.

Und gerade den Profis dann so etwas vorzuenthalten, wo technisch kein Grund für da ist, finde ich persönlich einfach nur schlecht umgesetzt.

Es gibt doch extra die Gruppe Experte bei den Aktionen; dort sollte diese Aktion auftauchen.
Michael

1 „Gefällt mir“

Wir schweifen hier übrigens ein bisschen vom ursprünglichen Thema ab. Wenn ihr da weiter diskutieren möchtet, erstellt gerne einen Funktionswunsch, damit wir abschätzen können, wie viele Personen das betrifft. Führt auch gerne eure Anwendungsfälle aus, wofür ihr solch eine Funktion braucht, denn die habe ich bisher ehrlich gesagt nicht verstanden.