Anfängerfrage: DS2408 per PHP steuern

Hallo Leute,

IPS hat den DS2408 erkannt und ich kann die einzelnen Switches (0-3 sind belegt) auch in der Maske schalten - aber leider nicht per Skript. Wie kann ich die Steuerung per Skript „einschalten“ (es steht dort „Variable kann nicht von PHP-Skripten geändert werden“)?:confused:

Joachim

hast du die pins auch als digitalen ouput belegt?
der rest steht dann Hier beschrieben

Hallo uriel2006,

vielen Dank erst einmal für Deine Antwort.
Wenn ich den DS2408 mit Rechtsklick öffne (Kontextmenü -> Objekt öffnen) habe ich die Möglichkeit, die acht auf „Digitaler Ausgang“ gestellten Pins zu schalten - ich sehe auch eine Reaktion am Gerät.
Wenn ich jedoch über „Objekt bearbeiten“ Reiter „Optionen“ steht dort „Variable kann nicht von PHP Skripten verändert werden“ - nun gut das mag ja für des DS2408 insgesamt gelten, also habe ich in die einzelnen Abgänge angeschaut:
Wenn ich hier über Rechtsklick das „Objekt öffne“ dann habe ich hier den Type Boolean und sehe eingestellt das Standardprofil „Switch“. Über „Objekt bearbeiten“ Reiter „Optionen“ sehe ich auch hier „Variable kann nicht von PHP Skripten verändert werden“ und eine inaktiv geschaltet Checkbox ist sichtbar, an der steht „Schreibgeschützt“ und es ist gesetzt.

Aber wie kann ich das ändern?

Wenn ich versuche per Skript (SetValueBoolean(58838 /[Heizung\Heizungsanlage(3) Zirkulation]/, true):wink: kommt unter "Meldungen ein entsprechender Fehlertext, das diese Variable nicht veränderbar ist.

Irgendwo muss ich doch an der falschen Stelle einen Haken gesetzt haben, der diesen Schreibschutz bewirkt?

Joachim

Statusvariablen zeigen den Status einer Instanz an. Änderungen kommen immer von der Instanz. Das Hervorrufen von Statusänderungen funktioniert über konkrete Befehle, in diesem Fall TMEX_F29_SetPin.

Ein vergleichbares Beispiel wäre das Tacho im Auto mit der Geschwindigkeit als Statusvariable: Drehst Du am Zeiger ändert sich zwar der Wert der Statusvariable (vgl. SetValue), aber das Auto bleibt trotzdem stehen. Erst durch die Betätigung des Gaspedals (TMEX_F29_SetPin) kannst Du eine sinnvolle Statusänderung hervorrufen. Um solche sinnfreien Änderungen auszuschließen gibt es den Schreibschutz, der auch nicht entfernt werden kann.

Hallo Horst,

vielen Dank für dieAntwort und die ausführliche Erklärung! Als Neuling muss man an vielen Stellen erst einmal die Philosophie erkennen…
Nun habe ich es geschafft, den entsprechenden Pin über den Befehl anzusprechen, dabei ist mir aufgefallen, dass True und False genau verdreht bezüglich des Ausgangs sind…

Aber erlaube mir noch eine Frage: Wie frage ich nun den aktuellen Zustand eines Pins korrekt ab? Ein TMEX_F29_GetPin habe ich nicht gefunden…
Über GetValue Boolean und wenn ja wo?:confused:

Joachim

Genau, einfach GetValueBoolean(ID der Statusvariable) benutzen. Den Status aktualisiert die Instanz schließlich von sich aus.

Hallo Horst,

nach ein paar Stunden basteln (und lernen!;)) sieht es so aus, als wenn die ersten Skripte laufen. Vielen Dank für Deine Unterstützung!

Joachim