Hi
Habe es nur über den Bus getestet, da ist das verhalten auch.
Gruss
Dani
KNX Data Secure Unterstützung
für KNX Logger und KNX Busmonitor
KNX Diagnose Monitor, Import des ETS Projektes deutlich beschleunigt, Suche in der Navigation
Mehr Informationen dazu hier im Forum
Insider Version 6 zur 4.5 jetzt für alle Mitglieder des Insider Clubs installierbar
Alle Infos zum Update im Timberwolf Wiki
[Gelöst] Logik "nur einer TRUE von 3 Eingängen"
Forumsregeln
- Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
- Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
- Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
- Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
-
- Reactions:
- Beiträge: 1908
- Registriert: Di Okt 09, 2018 9:26 am
- Hat sich bedankt: 643 Mal
- Danksagung erhalten: 797 Mal
Moin Dani,
Ich glaube ich habe verstanden, warum doppelt gesendet wird. Es ist ja immer eine der drei Werte true. Nehmen wir einmal als Beispiel an, dass input 1 bereits aus der Vergangenheit true ist und nun wird input 2 aktiviert (steigende Flanke). Das triggert die Logik das erste Mal und nach durchlaufen der Logik werden alle Ausgänge einmal gesendet, weil sie auf a=always stehen. Dabei wird auch der Wert vom input 1 geändert und zwar mit einer fallenden Flanke, was die Logik erneut triggert. Und wieder werden alle Ausgänge gesendet, aber OHNE Änderung.
Das ist für dich zwar verkraftbar, aber meiner Meinung nach "dreckig* programmiert und sollte vermieden werden. Lass uns versuchen den Code zu verbessern.
Schön wäre hier, wenn man als trigger event auch i=increase und d=decrease wählen könnte, ist glaub ich auch schon ein FR von irgendjemand mal gewesen.
Ich glaube ich habe verstanden, warum doppelt gesendet wird. Es ist ja immer eine der drei Werte true. Nehmen wir einmal als Beispiel an, dass input 1 bereits aus der Vergangenheit true ist und nun wird input 2 aktiviert (steigende Flanke). Das triggert die Logik das erste Mal und nach durchlaufen der Logik werden alle Ausgänge einmal gesendet, weil sie auf a=always stehen. Dabei wird auch der Wert vom input 1 geändert und zwar mit einer fallenden Flanke, was die Logik erneut triggert. Und wieder werden alle Ausgänge gesendet, aber OHNE Änderung.
Das ist für dich zwar verkraftbar, aber meiner Meinung nach "dreckig* programmiert und sollte vermieden werden. Lass uns versuchen den Code zu verbessern.
Schön wäre hier, wenn man als trigger event auch i=increase und d=decrease wählen könnte, ist glaub ich auch schon ein FR von irgendjemand mal gewesen.
Zuletzt geändert von Robosoc am So Okt 06, 2019 7:33 am, insgesamt 2-mal geändert.
VG, Sven - 3500 XL ID:1369 | 3500 L ID:1355, VPN offen, Reboot OK
-
- Reactions:
- Beiträge: 415
- Registriert: Mo Sep 10, 2018 8:40 pm
- Hat sich bedankt: 293 Mal
- Danksagung erhalten: 278 Mal
Habe es jetzt noch mit einem Timer versehen, Ausgang auf CT + Persistenz gesetzt, damit dann der Status nicht verloren geht und halt periodisch auf den Bus geschrieben wird.
TW 3500L (#882) + TW 950Q (#321, im Moment inaktiv), VPN offen, Reboot nach Rücksprache