Variable umrechnen

Hallo,

ich versuche nun eine Variable umzurechnen die ich von einem Analogen HM Wired Input bekomme.

Wie kann ich das in symcon 4 machen?

Ich habe schon wie hier im Forum beschrieben ein Ereignis „bei Aktualisierung“ mit der Aktion „Variable ändern“ gemacht und eine weitere Variable als Ziel angelegt und definiert aber es wird einfach nie umgerechnet. Nicht einmal wenn ich eine Vorgabe wie z.B. mit 10 dividieren auswähle…

Was mache ich hier falsch?

Muss ich überhaupt eine andere Variable als Ziel auswählen oder kann ich diese nicht gleich berechnet anzeigen lassen?

Paul

Hi Paul!

Du legst ein Skript an, z.B. mit Namen „Umrechnung“. Dieses Skript bekommt ein Ereignis, welches die von dir genannte Variable auf Variablenänderung überwacht.

Sowas könnte dann z.B. in deinem Skript stehen:

<?
if ($_IPS['SENDER'] == "Variable") {
   $Ergebnis = $_IPS['VALUE'] / 100;
   IPS_LogMessage("Umrechnung", "Ergebnis = $Ergebnis");
}
?>

Damit würde bei jeder Änderung der Variable das Skript ausgeführt werden, dann wird der Wert der Variable (steht in $_IPS[‚VALUE‘]) durch 100 geteilt werden und danach in der IPS-Console im Meldungen-Fenster angezeigt werden.

Mit „SetValue“ (statt „IPS_LogMessage“) könntest du den umgerechneten Wert auch in eine neue Variable schreiben.

Grüße,
Chris

Hallo Bayaro,

vielen dank für deine Rasche Rückmeldung!

Kann ich die Variable aber nicht gleich umgerechnet in der selben Anzeigen ohne eine zweite anzulegen?

Vielen Dank im Voraus!

Paul

Nein, wenn du das in die selbe Variable zurück schreibst, dann gibt das ein böses durcheinander und das Skript läuft in einer Endlosschleife und joa :smiley:

Du kannst ja nur die neue Variable im WebFront verlinken, dann siehst du auch nur eine…

Grüße,
Chris

Hallo Bayaro,

wenn ich aber in Symcon 4 unter Linux laufend ein Ereignis zu einer Variable hinzufüge habe ich keine Möglichkeit ein Script auszuwählen da alle Steuerelemente ausgegraut sind!

Und wenn ich das mache was der Wizzard vorschlägt Funktioniert es nicht.

Paul

Ein Skript erstellen, im Editor öffnen, oben rechts ein Ereignis hinzufügen, deine Variable auswählen, Variablenänderung auswählen, mein Skript rein, Ausgabe auf eine neue Variable ändern, fertig :slight_smile:

Das Ereignis hängt dann unter dem Skript. Skript und Ereignis können irgendwo in deinem Baum liegen und müssen nicht bei der eigentlichen Variablen liegen!

Danach etwas mehr mit IPS beschäftigen, damit du erstmal einen Überblick bekommst wo wie was funktioniert :wink:

Grundlagen — IP-Symcon :: Automatisierungssoftware
IP-Symcon - Wie kann ich… 2.0

Grüße,
Chris