Hallo Leute,
kann man ein Offset vom Location Control per Webfront ändern?
Hallo Leute,
kann man ein Offset vom Location Control per Webfront ändern?
Nicht von Haus aus. Du kannst aber eine eigene Variable + Aktionsskript nehmen, die dies per IPS_GetProperty/IPS_SetProperty+IPS_ApplyChanges erledigt.
paresy
Danke!
Das wird mir weiterhelfen.
Hallo,
ich stehe grade leider etwas auf dem Schlauch Kann mir jemand dazu ein Vorlag oder ein Beispiel geben?
Ich bedanke mich schon mal für eure Hilfe.
Kannst du deine Frage konkretisieren? Wobei brauchst du Hilfe?
Ich bräuchte ein Vorlage für das Aktion Script für den Befehl den parsey beschrieben hat.
z.B. so:
define('LOCATION_CONTROL_ID', 57046); //anzupassen
//Offsets auslesen
$offsets = json_decode(IPS_GetProperty(LOCATION_CONTROL_ID, 'Offsets'), true);
//neues Offset setzen
$offsets[0]['Offset'] = $_IPS['VALUE']; //der Index ist anzupassen, wenn mehr als ein Offset vorhanden ist
//Property setzen
IPS_SetProperty(LOCATION_CONTROL_ID, 'Offsets', json_encode($offsets));
IPS_ApplyChanges(LOCATION_CONTROL_ID);
Burkhard
Vielen Dank für deine Hilfe
Hab das jetzt auch mal getestet.Habe eine Variable erstellt (Integer) und darunter das Aktionsskript dann bekomme ich immer eine Fehlermeldung (Bild)
Der Fehler kommt weil du das Script über die Konsole startest.
Der Wert (VALUE) wird nur bei der Bedienung der Variable aus dem Frontend gesetzt.
Also genau das, was du wolltest
Michael
Das funktioniert aber nicht das script wird aus geführt aber ich bekomme im Web Front einen Fehler eingeblendet(Bild).
Hast du IRENDWAS an dem Script geändert? Leider sieht man die entsprechende Zeile ja nicht im Hintergrund.
Doch hast du. Die Zeilennummern passten schon nicht mehr.
Mach mal aus
$offsets[0]['Offset'] = $_IPS['VALUE'];
$offsets[0]['Offset'] = (int)$_IPS['VALUE'];
Deine Variable ZZ schaut nach String aus. Es hilft anderen ungemein, wenn man auch zusätzlich einen Screenshot aus dem Objektbaum hat.
Michael
Ja das mit zz komt aus meinen tests die Meldung war aber immer die gleiche sorry
Est tut mit der änderung das ist die Hauptsache ich hatte aber das Skript aus diesem Beitrag weiter oben einfach kopiert da steht nicht (int)vor $_IPS hat sich da mal was geändert?
Danke noch mal.
In dem Script wir korrekterweise eine IP-Symcon Integer Variable verwendet. Da man ja sowieso nur Zahlen eingeben kann. Du zweckentfremdest hier unsinnigerweise eine String Variable.
Ja, PHP will jetzt immer den korrekten Variablen Typ haben. Was hier kein Problem ist, sofern du eine Integer Variable in Symcon angelegt hast
Michael