Ankündigung

Einklappen
Keine Ankündigung bisher.

Flags

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Flags

    Ich habe mich in den ganzen Jahren mit KNX noch nicht einmal mit den Flags auseinander gesetzt. Es war bisher schlichtweg auch nicht nötig. Ich habe jetzt allerdings eine Situation, wo das ggf. zum Tragen kommen könnte.

    Und zwar habe ich eine Wetterstation mit Logikmodul von Theben. Als Logik verwende ich einen externen Eingang und einen Schwellwertschalter. Beides ist mit UND verknüpft. Ich möchte aber, dass die Logik nur dann auslöst, wenn der Schwellwertschalter auslöst, also quasi der Trigger ist der Schwellwertschalter und nicht der externe Eingang. Kann ich das mit den Flags am Eingang steuern? Aktuell ist da ausgewählt Kommunikation, Lesen, Schreiben und Aktualisieren.

    #2
    Nein, das ist kein Problem der Flags. Es gibt kein sbc Flag.
    Dieser Beitrag enthält keine Spuren von Sarkasmus... ich bin einfach so?!

    Kommentar


      #3
      Nein

      die Flags dienen nur dazu festzulegen ob überhaupt ein KO etwas sendet oder etwas aus dem Bus empfangen kann.

      Triggerverhalten der Logiken sind in Parametern der Logik zu definieren.
      ----------------------------------------------------------------------------------
      "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
      Albert Einstein

      Kommentar


        #4
        Zitat von gbglace Beitrag anzeigen
        Triggerverhalten der Logiken sind in Parametern der Logik zu definieren.
        Kann man leider nicht einstellen, wenn ich aber das "Schreiben"-Flag wegnehmen würde, würde das auch nicht gehen? Nach meinem Verständnis würde die GA dann nicht aufs Gerät schreiben .. aber es könnte noch gelesen werden, wenn die Logik das dann explizit macht... ?

        Kommentar


          #5
          Eine gute Beschreibung zu den Flags gibt es im Forumlexikon oder hier​​

          Zitat von Cannon Beitrag anzeigen
          Verständnis würde die GA dann nicht aufs Gerät schreiben .. aber es könnte noch gelesen werden, wenn die Logik das dann explizit macht...
          Wenn Du das S Flag entfernst wird das KO keinen Wert vom KNX-Bus aus erhalten, weil der Bus dieses KO nicht beschreiben kann.

          Und da Änderungen nur per Programmierung durch die ETS wirksam werden sind die Inhalte des KO auch immer resettet. Du wirst da also niemals einen Wert in die Logik via diesem KO per Telegramm mit GA reinbekommen. Das wäre dann aber auch kein externer Eingang sondern ein Fixwert, den Du dann aber in den Parametern definieren müsstest wie bei Aktoren Zustand nach Busreset oder so.
          ----------------------------------------------------------------------------------
          "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
          Albert Einstein

          Kommentar


            #6
            Danke für die Erklärung!

            Kommentar


              #7
              Zitat von Cannon Beitrag anzeigen
              wenn ich aber das "Schreiben"-Flag wegnehmen würde, würde das auch nicht gehen? Nach meinem Verständnis würde die GA dann nicht aufs Gerät schreiben .. aber es könnte noch gelesen werden, wenn die Logik das dann explizit macht... ?
              Nach meinem Verständnis auch. Wenn das Gerät explizit GroupValueRead Telegramme schickt uns die korrekt mit GroupValueResponse beantwortet werden.
              Ob deine Logik bei Telegrammen an eine GA eine andere explizit lesen kann, müsstest du schauen - ist eher eine "exotischere" Funktion.

              Siehe https://support.knx.org/hc/de/articl...03188089-Flags für eine gute Erklärung der Flags.

              Kommentar


                #8
                GroupValueResponse ist aber wieder etwas anderes, ob ein Gerät darauf reagiert hängt vom A Flag ab.
                Gruß Florian

                Kommentar


                  #9
                  Genau, das ist was anderes als ein Write. Aber das ist es ja auch, wonach gefragt wurde...

                  > könnte noch gelesen werden, wenn die Logik das dann explizit macht... ?​

                  Man muss halt aufpassen, dass andere Geräte das nicht auch lesen - weil ja auf jedes Response reagiert wird.

                  Kommentar


                    #10
                    Cannon: Wie schon meine Vorredner gesagt haben, eine gute Logik erlaubt Dir einzustellen, welche Eingänge die Logik triggern. Das ist auch die sauberste Lösung, jede andere hat Nachteile.

                    Die von Dir angedachte Lösung mit dem Ausschalten des S-Flag und wie Beleuchtfix sagte, dem Einschalten des A-Flags, würde auch nur indirekt funktionieren (aber vielleicht für Deinen Fall ausreichend), FALLS Deine Logik GroupValueRead auf einen Eingang wirklich senden kann:
                    1. Angenommen Schwellwertschalter hat jetzt ausgelöst und schreibt eine GA x.
                    2. Deine Logik empfängt GA x und wird getriggert. Für das UND wird jetzt der aktuelle Wert der GA x verwendet und der ALTE Wert des externen Eingangs (GA y), denn dieser Eingang hat kein S-Flag.
                    3. Gleichzeitig löst der Schwellwertschalter einen GroupValueRead auf GA y aus (mir ist nicht klar, wie das geschehen soll).
                    4. Die Antwort von GA y kommt innerhalb einer Sekunde an (oder gar nicht) und triggert das UND nochmal über das A-Flag. Jetzt hast Du am Ausgang vom UND erst den korrekten Wert (also erst 1 Sekunde später).
                    Du hast mit diesem Ansatz also immer erstmal einen potentiell falschen Wert auf dem Bus, bevor Du einen korrekten bekommst.
                    ​​​​​​​
                    Weiterer Seiteneffekt: Irgendein anderes Gerät am Bus liest nach einem Neustart alle nötigen GA, da ist auch GA y dabei (das machen Visus häufig so). Dann wird Deine Logik auch getriggert werden und das UND ein dann gültiges Ergebnis senden.

                    Gruß, Waldemar
                    OpenKNX www.openknx.de

                    Kommentar


                      #11
                      Will keinen neuen Tread aufmachen daher nur ne Verständnisfrage bevor ich beim Kunden an den Flags spiele:

                      Hab nen BJ Tenton der seine Sollwertanzeige von nem MDT AKH erhält.
                      Aber irgendwie brauch der Neustart diesen Sollwert, was ich bisher zyklisch senden gelöst habe. Vorher funktioniert Sollwertverschiebung 1bit nicht.

                      Nun wünscht sich Kunde Display dunkel, nur bei Bedienung an. Allerdings geht es immer beim zyklischen Sollwert für Displaywechselzeit an, deshalb würde ich das gerne eliminieren.

                      Ich verstehe es also so das wenn ich am Tenton das A Flag vom Sollwertstatus für Anzeige setze und er es nach Neustart automatisch abfragt oder ist das von Gerät zu Gerät unterschiedlich?

                      Und was ist das ominöse I-Flag?

                      https://support.knx.org/hc/de/articl...03188089-Flags
                      Punk ist nicht tot, Punk macht jetzt KNX

                      Kommentar


                        #12
                        Das I-Flag steuert die automatische Abfrage nach einem Neustart, wenn das Gerät das unterstützt.
                        Das A-Flag bedeutet das die Antwort auf ein ReadRequest den Status aktualisiert.
                        Gruß Bernhard

                        Kommentar


                          #13
                          Also sollte das so funktionieren mit dem A-Flag? Komme heute nicht mehr ins Testlabor und heute auch keine Lust mehr auf ETS und GPA... Gerade Projekt mit Bauleitung ohne Terminplanung... ganz schlimm, jetzt solls vor Weihnachten fertig sein.

                          Hättest du evtl ein Beispiel für ein Gerät mit I-Flag?
                          Punk ist nicht tot, Punk macht jetzt KNX

                          Kommentar


                            #14
                            Das mit dem A-Flag wird nur funktionieren, wenn irgendjemand auf der GA einen ReadRequest sendet.
                            Das ist bei Dir glaube ich nicht der Fall. Könnte man natürlich über ein anderes Gerät wie z.B. den X1 erzwingen. Gilt dann allerdings nur für den Erststart der gesamten Anlage.

                            I-Flag habe ich noch nie verwendet, aber Versuch macht klug
                            Zuletzt geändert von willisurf; 06.12.2023, 19:17.
                            Gruß Bernhard

                            Kommentar


                              #15
                              Du brauchst A und I das I schickt nen Readrequest bei Neustart und das A sorgt dafür daß die Antwort auch entgegengenommen wird. Ohne A werden halt respond Telegramme ignoriert, steht ja nicht dabei wer den Requests abgeschickt hat.

                              ----------------------------------------------------------------------------------
                              "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
                              Albert Einstein

                              Kommentar

                              Lädt...
                              X