Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Der GPA 3.4 meldet bei meinen Funktions-Bausteinen vom Typ Rolladen "Navigation fehlgeschlagen. Das Zielobjekt ist nicht verfügbar." Das passiert nur bei bestehenden Rollläden - wenn ich den Baustein neu in einen Raum ziehe, kann ich ihn wieder parametrieren. Kennt das jemand und hat vielleicht Abhilfe? Bin jetzt nicht so erpicht, alle 21 Jalousien neu zu parametrieren.
Der GPA 3.4 meldet bei meinen Funktions-Bausteinen vom Typ Rolladen "Navigation fehlgeschlagen. Das Zielobjekt ist nicht verfügbar." Das passiert nur bei bestehenden Rollläden - wenn ich den Baustein neu in einen Raum ziehe, kann ich ihn wieder parametrieren. Kennt das jemand und hat vielleicht Abhilfe? Bin jetzt nicht so erpicht, alle 21 Jalousien neu zu parametrieren.
Mir hat es geholfen, mich gedanklich von dem IF-THEN-ELSE-Konstrukt bei Ereignis-gesteuerten Problemen zu lösen -> Du fängst ein Event ab und löst eine Aktion aus
Da ist was dran. Der X1 arbeitet keine Prozeduren ab, in denen if/then/else Sinn hätte. Streng genommen gibt es auf dem Bus wie auch auf den Verbindungen zwischen Logikbausteinen auch keine Zustände, sondern eben nur Ereignisse. Die echte Welt da draußen -- wie auch die Logikbausteine selbst -- haben natürlich Zustände: Das Fenster ist zu oder offen, die Temperatur soundsoviel Grad. Wenn so ein Zustand zwischen mehreren Bausteinen ausgetauscht werden muss, geschieht das wieder als Ereignis: Dieser-oder-jener Zustand hat sich gerade so-und-so geändert.
Die Logik reagiert also nicht auf Zustände, sondern auf Zustandsänderungen. Bezogen auf die ursprüngliche Fragestellung kann das nur heißen: Wenn der neue Zustand wahr ist, soll dieses passieren, wenn der neue Zustand falsch ist, soll jenes passieren. Je nachdem, wie sich die notwendigen Aktionen auslösen lassen, hilft dann mal ein Inverter, mal ein Filter, mal ...
Zu beachten ist dabei noch, dass der neue und alte Zustand durchaus derselbe sein können: Viele Zustände werden zyklisch (oder aus anderen Gründen mehrfach) gesendet. Die Frage ist in solchen Fällen, ob überhaupt auf so ein nicht-geändert-Ereignis reagiert werden soll. Oft (aber nicht immer) ist das egal, weil das was ausgelöst wird auch wieder nur nicht-geändert-Ereignisse auslöst, die ihrerseits wieder keinen Effekt haben (sondern allenfalls überflüssig sind). Wo gleiche Zustände nicht mehrfach gesendet werden sollen, da hilft der Send-by-Change-Baustein (oder das entsprechende Anhängsel für die Ausgänge von Logikbausteinen).
Mir hat es geholfen, mich gedanklich von dem IF-THEN-ELSE-Konstrukt bei Ereignis-gesteuerten Problemen zu lösen -> Du fängst ein Event ab und löst eine Aktion aus
Da gibt es diverse Möglichkeiten, wie das geht. Man könnte z.B. für das IF den Baustein Vergleicher nehmen, am Ausgang zwei Filter. Einer reagiert bei 1, der andere bei 0.
Und dann hast Du die beiden Pfade hinter den Filtern.
Du kannst das auch mit dem Ausgangswahlschalter machen oder mit dem FlipFlop. Möglichkeiten gibt's wirklich viele.
Wie bildet ihr denn ein IF THEN ELSE ab? IF/THEN lässt sich ja über AND/OR/XOR/Vergleicher etc. realisieren, aber gibt es einen Baustein, wo man direkt auch auf einen ELSE-Pfad "abbiegen" kann? Ich habe zumindest keinen derartigen Baustein gefunden...
Wunsch an GIRA : vielleicht kommt irgendwann eine "unsichtbare" Kachel in der man Funktionen ablegen kann die in der Gebäudestruktur nicht angezeigt werden
aber in Gewerken auftauchen - quasi wie es beim HS im QC ( grau hinterlegt ) ist.
Schreib das an Gira, je häufiger ein Wunsch geäußert wird, desto eher wird er implementiert. Es ist nicht garantiert. Das Gira hier alles mitliest
Bin mir jetzt nich ganz sicher... aber erstelle doch ein Raum „Zentral“ und schiebe diesen an erste Stelle. Dann müssten die Elemente auch in Gewerke oben auftauchen?!?
YEP !
genau das habe ich gebraucht -
Also in de Gebäudestruktur habe ich v o r EG , OG , DG eine Kachel " Zentralfunktionen" erstellt.
Hier alle Zentralfunktionen reingehauen wie Licht Zentral , Licht EG , Lich OG , Licht Aussen , Rolladen Zentral , Rolladen OG , Rolladen EG
somit tauchen diese im Gewerkeordner immer oben auf.
Danke für eure Hilfe !!!
Wunsch an GIRA : vielleicht kommt irgendwann eine "unsichtbare" Kachel in der man Funktionen ablegen kann die in der Gebäudestruktur nicht angezeigt werden
aber in Gewerken auftauchen - quasi wie es beim HS im QC ( grau hinterlegt ) ist.
Beste Dank fürs nachschauen. Mit Deiner Erklärung und etwas Probieren habe ich einen Workaround hinbekommen.
Einfach 2 Datenpunkte mit gleicher Gruppenadresse anlegen.
- Priosteuerung mit DPT 2.001
- Prio aus mit DPT 1.001
Sobald auf der Priosteuerung was kommt, wird die Zwangsführung aktiv. Zum Deaktivieren kann dann eine 0 auf Prio aus gesendet werden.
Im ersten Versuch klappts prima.
Der Rest sollte doch mit etwas Logik in den Griff zu bekommen sein.
Hat wer eine Idee für einen Workaround? Gibt es noch irgendwo einen 2 Bit Datentyp, welchen ich frei beschreiben kann?
Ich hab mal im Code nachgeguckt, auf KNX-Seite wird beim Schreiben das Bit 2 immer gesetzt und beim Lesen ignoriert, intern wird das immer wie ein bool verarbeitet.
Das heißt, der Wert 0 wird Binär als 0b10 versendet, alle anderen Werte (ungleich 0) werden als 0b11 versendet.
Dies liegt vermutlich daran, weil im KNX-Handbuch in der Tabelle zu DPT 2.x steht:
c
v
0
0
No control
0
1
No control
1
0
Control. Function value 0
1
1
Control. Function value 1
Und der DPT 2.x ist der einzige DPT mit zwei Bit, daher gibt es auch keinen Workaround.
Der Code hat sich seit dem ersten Release auch nicht geändert, daher könnte es derzeit schon Anlagen geben, für die das aktuelle Verhalten erforderlich ist.
Eine Lösung wäre, bei der Verwendung einer Zahl > 1 die letzten beiden Bits genommen werden, so dass alle Werte 0-3 möglich sind.
Ich werde das erstmal ins Backlog eintragen.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Einen Kommentar schreiben: