Schalten über Skript funktioniert der Status nicht

Hallo erstmal,

naja meine erste Frage, und wahrscheinlich bin ich gerade bisschen blöd.

Ich habe ein Skript, das mir ein KNX Instanz schaltet.
Das Funktioniert auch. Aber wenn von woanders geschalten wird, wird der Button zu dem Skript nicht aktualisiert.
Wie bekomme ich hin, das die Instanz ( in meinem Fall 35270) die Button aktualisiert?

Danke schonmal
Gruß Martin

<?
SetValue($_IPS[‚VARIABLE‘], $_IPS[‚VALUE‘]);

if ($_IPS['VALUE'] == true) { 
    KNX_WriteDPT1(35270, true);
} 

if ($_IPS[‚VALUE‘] == false) {
KNX_WriteDPT1(35270, false);
}
?>

Dein Skript ließe sich vereinfachen:

<?
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
KNX_WriteDPT1(35270,  $_IPS['VALUE']);
?> 

Nehmen wir an, es handelt sich um einen Aktorkanal, der geschaltet wird. Wenn von wo anders geschaltet wird und sich der Status im IPS nicht aktualisiert, dann wird von wo anders entweder von einer anderen Gruppenadresse geschaltet oder die Gruppenadresse, auf welcher der Aktor ggf. seinen Status zurückmeldet, ist nicht in IPS eingetragen.
In beiden Fällen muss die Adresse, die geschaltet wird oder auf der die Rückmeldung kommt, in der Instanz unter „mehr“ eingetragen werden.

Hallo und erst mal Danke für die Antwort.

Das Skript ist jetzt nur mal einfach gehalten um es auszuprobieren. Die Funktion so alleine wäre ja sinnlos.

Ich habe einmal einen ganz normale Bedienung Schalten + Intensität über Instanz und dann das Standartprofil SWITCH.KNX bzw. SCALING.KNX erstellt.


Zusätzlich für die gleiche Funktion eine Bedienung über das Skript.


Wenn ich über das Skript schalte aktualisiert sich die Anzeige vom Standart Schalter (ohne Skript).
Wenn ich den Standart Schalter schalte, aktualisiert sie die Anzeige nicht vom Schalter das über das Skript schaltet.

Ich sende die Gap. Adresse 1/1/40 zum schalten, dann kommt der Status 1/1/41

In der Instanz der 35270 (Grp.Adr. 1/1/40) habe ich als hörende Adresse die 1/1/41 eingetragen.

Wass muß ich tun, das sich der Anzeige_Button aktualisiert?

Entschuldigung wenn ich mich fachlich bei der Symcon falsch ausdrücke…aller Anfang ist schwer

Gruß Martin

Und für was benötigst du den „Schalter über Script“?

weil ich verschiedene Aktionen mit dem Skript auslösen will, bin dann davon ausgegangen daß das Antworttelegramm die Anzeige aktualisiert.

Auch bei LCN, wenn ich eine 3 Leuchten gleichzeitig über LCN schalte, geht es in der Symcon über ein Skript in dem ich die 3 Leuchten einzeln eintrage.
Auch da bekomme ich nicht den Status angezeigt wenn ich die Leuchten (selbst über den WebFront) über einen Helligkeitswert einschalte.

Und es gibt sicherlich noch viele Anwendungen

Gruß
Martin

Die tatsächliche Instanzvariable wird aktualisiert von Symcon? Nur woher soll die selbst erstellte Variable wissen, dass die ihr zugeordnete Aktion ausgeführt wurde? Das musst du ihr schon selbst mitteilen.

sowas habe ich auch vermutet, deswegen habe ich ja gefragt

Wie bekomme ich hin, das die Instanz ( in meinem Fall 35270) die Button aktualisiert?

.
Da gibt es doch sicherlich ein Befehl im Skript, wenn „xx“ dann schalte „Button“ auf „on“. Oder so ähnlich :smiley:
Also if…

Ereignis unter deiner „eigenen“ Variable setzen. Auslöser ist die Geräte-Instanz-Variable. Dann auf „setzen auf Wert“ einstellen. NICHT „schalten auf Wert“.

Danke,

habs gleich probiert, funktioniert einwandfrei.

Gruß
Martin