KNX Taster triggert Skript

Moin zusammen und willkommen zu meinem ersten Beitrag hier,

ich habe das erste Mal Kontakt zum IP-Symcon und evtl. sehe ich den Walt voller Bäume nicht.
Daher hier die Frage:

Im Bestand ist ein X1 und ein Gerät mit RS232.
Die RS232 PHP Skripte funktionieren.
Das KNX system mit allen Gruppenadressen ist auch in IPS.

Aber wie triggere ich das Skript durch ein „ein“ durch einen KNX Taster?

VG

…schon erledigt…

Man sollte das Skript in einer Schleife laufen lassen, da IP-Symcon nicht dauerhaft lauscht…

Schau dir lieber Ereignisse an, ein Script in einer Schleife laufen zu lassen frisst sehr viel Performance.

Grüße,
Kai

Ok - aber wie mache ich das?
Wie hört IPS auf ein „true“ von einem KNX Taster?
Hast du ggf den Code?

Schau mal hier: Ereignisse — IP-Symcon :: Automatisierungssoftware

Grüße,
Kai

Jupp und läuft.

Jetzt das nächste:

Über einen HEX Code bekomme ich Stati der Anlage.
Also ich sende HEX und bekomme HEX zurück.

Das muss ich in eine Schleife aber packen - oder geht das auch anders?

Was hast du denn damit vor?

Du sendest etwas und bekommst etwas zurück, was willst du mit der Antwort tun?

Da ich selbst kein KNX habe, weiß ich nicht genau wie das mit den KNX Instanzen funktioniert. Ich werde erst in den kommenden Monaten mit KNX anfangen. :slight_smile:

Aber da kann dir sicherlich sonst @DerStandart helfen.

Grüße,
Kai

Wenn es sich nicht mehr um das ursprüngliche Thema mit den Taster handelt, bitte neues Thema erstellen.
Michael

Ich möchte in einem festen Intervall (sek) einen Status lesen - z.B. Temperaturen oder Reed Kontakte.
Bei keiner Änderung soll mir nichts angezeigt werden - wenn aber ein Fenster auf ist soll es mir angezeigt werden.
Das RS232 Gerät schickt mir nicht von selbst Stati heraus. Die muss ich aktiv requesten / pollen.

Danke das geht in IPS nur über eine schleife - oder?

Guter Punkt - sorry!

Da kannst du ein zyklisches Ereignis nehmen.

Grüße,
Kai

KNX funktioniert andersrum. Stelle Deine Sensorik so ein, dass sie z.B. die Temperaturen in dem Intervall sendet, in dem DU es haben möchtest. Gilt auch für Reed-Kontakte. Falls Du Da einen zyklischen Status brauchst, stelle es KNX-seitig so ein. Alles andere ist zwar nicht falsch, aber muss auch nicht unbedingt sein.

Moin,

ich habe ein Ereignis genommen - geht auch.

Nun verschluckt sich scheinbar IPS aber von Zeit zu Zeit meine ich - kann das sein?

Folgendes:

Ich lausche mit einem Ereignis auf den Wert einer „KNX Variablen“ (Datenpunkt eingelesen).
Der Wert schaltet in KNX und auch in IPS sehe ich ihn sofort schalten wenn ich einen KNX Taster im Haus drücke.
Dieses löst ein ein Ereignis in IPS aus.
Das Ereignis hat als Auslöser also den Wert der Variablen aus KNX und löst dann einmalig ein Skript aus, welches einen HEX wert an eine RS232 Schnittstelle sendet und dort eine Aktion auslöst (Str dann 100ms Pause dann Str dann 100msPause dann Str):

<?php

$str = "\x05";

COMPort_SendText (14895,$str);

IPS_sleep(100);

$str1 = "\x11\x11\x11\x11\x11\x11\x11\x11\x11";

COMPort_SendText (14895,$str1);

IPS_sleep(100);

$str2 = "\x06";  

COMPort_SendText (14895,$str2);

?>

Dabei kommt, wie gesagt, der Tastendruck von KNX in IPS immer an.
Jedoch scheint entweder das Ereignis den Wert des „KNX“ zu übersehen - oder aber das Ereignis führt das Skript nicht aus - oder die RS232 Schnittstelle reagiert nicht, wobei ich letzteres ausschliesse, da wenn ich mich mit einem Terminal Programm ranhänge es immer ausführt.

Was kann das sein?
Wer hat einen Tipp oder gar einen Code Schnipsel für mich?

VG
Dirk

Ereignis auf Aktualisierung oder auf Änderung?

Fehlermeldung in den Meldungen?

COM Port ist offen?

Schau dir doch den Zeitstempel deiner Scripte und Variablen an, während du die Taste drückst, dann siehst du doch schon mal, wo es klemmt?

Moin,

das Ereignis löst auf bestimmten Wert aus (False oder True) - geht das?
Keine Fehlermeldungen werden generiert.
COM port ist offen da Daten kommen und ich schrieben kann.

Grüsse

ah - bzgl. Zeitstempel:

Also wenn ich mir im Objektbaum die Zeitstempel anschaue, sehe ich, dass zuerst der WERT der „KNX“ Variable immer direkt geändert wird (fast echtzeit) - die KNX Var ist im KNX mit dem Taster direkt parametriert.

Dann reagiert mal die Rückmeldung der RS232 Schnittstelle mit einem HEX Code. dass geschaltet wird
a) auch fast in echtzeit
b) oder auch gar nicht

Ja das geht, schau dir doch mal die Einstellungen in den Ereignissen an, da ist es doch genau beschrieben.
Und wenn dein Script nur manchmal abgearbeitet wird würde ich mir bei Betätigung auch mal den Zeitstempel des Ereignisses angucken, wer weiss, was du da konfiguriert hast?
Vielleicht kommen deine Daten der RS232 ja auch gestückelt an, Splitter dazwischen?

Hmm - evtl liegt es daran:

Ich habe 2 Ereignisse die auf die KNX Variable lauschen - als Auslöser.

Evtl beide Skripte die sich in der der Auslöse True und False ein leicht anderes Skript aufrufen lieber als if / else programmieren?

Mir ist immer noch nicht klar, was du machen willst?
Möchtest du auf einer Variablen unterschiedlich auf true/false reagieren und anderen Code an deine RS232 schicken?
Wenn ja mach es doch mit if/else.
Im Moment ist das bei dir nur Glaskugelraten …