ich stehe vor einem Problem:
Ich habe eine Temperatur die ich aus einer Wago an IPS sende. Um Nachkommastellen mit zu bekommen multipliziere ich in der Wago mit 100.
Aber wie rechne ich das Ganze jetzt wieder in IPS um ?
Kann man hier ein Skript erstellen das ich bei den Variabeleinstellungen mit eingebe ? Also unter eigene Aktion ?
Bitte habt etwas Rücksicht … habe echt keine Erfahrung …
ich kenne Wago nicht: wo kommt denn der Wago-Wert an? In einer Variable (unterhalb einer Wago-Instanz?) oder kann der vorher schon abgefangen werden (z.B. ServerSocket/Regvar)?
je nach dem kann man darauf so reagieren:
$Ziel_Var_ID = 12345 // Variable zur Speicherung der Wago-Werte in IPS
SetValueFloat($Ziel_Var_ID, $WagoInput/100);
solange die Wago-Daten direkt in die Variablen geschrieben werden, ohne dass man sie vorher abfangen kann, wirst du jeweils eine 2. Var anlegen müssen, in die die umgerechneten Werte per Umrechnungsscript hineingeschrieben werden.
SetValueFloat //=> dürfte klar sein: PHP Befehl zum schreiben eines Floatwertes in eine Variable
IPS_GetParent($_IPS['SELF']) //=> $_IPS['SELF'] enthält die ID des Scriptes (von sich selbst also), die wiederum braucht IPS_getParent, um die ID des übergeordneten Objektes zu finden. Die übergeordnete ID ist die ID, in die SetvalueFloat den Wert reinschreiben soll
$_IPS['VALUE'] //=> ist der Wert (Inhalt) der variable, die das Script via Event getriggert hat
Das alles kann man in der IPS-Doku nachlesen.
wenn ich bei mir die Daten in der Var „Value“ manuell schreibe, dann läuft das Script genau so wie es soll…hab im Moment keine Idee, warum es bei dir nicht läuft. Man kann es auch noch anders lösen, dann muss man aber wieder manuell im Script konfigurieren, das wollte ich Dir ersparen.
Vielleicht fügst du mal in des Script
print_r($_IPS);
ein und schaust, was das Meldungsfenster auswirft (muss ei n Array sein) -> das interessiert mich
Ups … mein Fehler. Wenn ich das Skript Ereignisgesteuert laufen lassen funxt es … habe immer auf den Debugknopf gedrück und diese Fehlermeldung bekommen.