Taster für KNX

Hallo
Ich habe in der KNX Weld in jedem
Raum einen Taster „alles Aus“
Da ich am Taster einstellen kann bei Tastendruck Aus senden funktioniert das auch sehr gut

Wenn ich dies nun in die IPS Weld importiere habe ich einen Schalter den ich bevor ich ihn auf aus stellen kann erst auf an stellen muss,
Aber drauf reagiert die KNX Weld auch … was nicht so passend ist wenn zum Licht ausschalten erst wieder das Flutlicht aktiviert wird.

Ich habe mir schon mal mit einer zusätzlichen Variablen geholfen die dann bei Änderungen die eigentlich Variabel immer auf aus setzt und wenn die auf Aus Aktualisiert wird die Hilfsvariable wieder aus schaltet
Aber irgendwie fühlt sich das an als wenn das nicht die sauberste Programm Lösung ist
Könnte man das Aktionsskript der Variablen so anpassen das diese nur das „aus“ sendet ?
Danke

2 „Gefällt mir“

Ich hatte gerade versucht dir eine Lösung mit Aktionscript zur KNX-Instanz zu bauen, bin aber auch gescheitert. :thinking:

Nah Auf jeden Fall
Danke für den Versuch

    $parentID = IPS_GetParent($_IPS['VARIABLE']);
    KNX_WriteDPT1($parentID,false);

Als Skript speichern und als Aktionsscript auswählen. Das sendet immer ein False für den Parent auf den Bus.

PS: Wenn du eine true benötigst, die 2.te Zeile abändern und ein true statt false eintragen

1 „Gefällt mir“

Ja, das funktioniert so.

Für eine im KNX-Sinne schöne Lösung würde man sich wünschen, einen zustandslosen (!) Taster zu haben, der nur einen Festwert sendet, in diesem Fall ein AUS.

Die IPS-Lösung des Boolean leidet in manchen Visu-Varianten ja daran, dass man erstmal den Wert auf EIN ändern muss, bevor man erneut ein AUS senden kann. Selbst wenn man den Sendewert des EIN in deinem Scriptbeispiel auf AUS verbiegt so ist es im User Interface doch verwirrend.

Darum nimmt man auch kein boolean, sondern eine eigene Integer Variable mit einer Assoziation und dort als Aktionsskript den Aus Befehl senden.
Michael

1 „Gefällt mir“

Ja, Michael, aber dann haben wir uns einmal im Kreis gedreht und stehen wieder dort, wo der Thread begann: man benötigt eine Hilfsvariable zusätzlich zur KNX Instanz.

Nicht ganz, weil das ein Taster wäre und am Anfang war es eine bool Hilfsvariable mit an/aus.
Es geht auch als Taster ganz ohne Variable. Einfach ein Script mit dem KNX Befehl anlegen und das über das Frontend starten. Das wäre ein Taster, zustandslos.
Michael

2 „Gefällt mir“

Die Idee verstehe ich

Und es wäre erstmal auch eine gute erste Option für mich um bei allen vorhandenen boolchen die Fehlbedienung auszuschließen

Leider bekomme ich die Fehlermeldung nicht weg

Warning: Undefined array key „VARIABLE“ in C:\ProgramData\Symcon\scripts\44114.ips.php on line 4

W

Auch wenn Nall Chan Empfehlung mit Skript fürs Frontend auch eine Option wäre

Weil du versuchst das Script in der Konsole auszuführen, korrekt?
Das ist aber ein Aktionsskript, und wird somit bei der Variable also eigene Aktion eingetragen.
Dann wird das Script beim schalten der Variable ausgeführt und es gibt keinen Fehler.
Siehe auch die Doku zu:

Michael

Danke
Ja und nein…

Hab aber jetzt ein Weg gefunden
Zum einen Ja die Fehlermeldung waren beim Start aus der Konsole

Wenn ich die Variable neu mit der KNX Adresse verknüpfe klappt es auch
Aber alle alten Verknüpfungen die noch als EIS1 mit Symcom 5. angelegt wurden geht das nicht.
( Anderes Thema kann man das per Batch Befehl aktualisieren? )

An dieser Stelle möchte ich mich noch mal bei der Hilfe bedanken
Erst durch die Unterstützung im Forum ist auch für nicht Programmierer in großer Mehrwert in IPS
Danke

Dort sollte EIB_Switch anstatt KNX_WriteDPT1 funktionieren.