Ankündigung

Einklappen
Keine Ankündigung bisher.

Erfahrungsaustausch Berechnung X1 Logiken Gültigkeit der Eingänge inkl. ReadRequest

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

    X1 Erfahrungsaustausch Berechnung X1 Logiken Gültigkeit der Eingänge inkl. ReadRequest

    Da ich einige Logiken habe und auch viel den Formelberechner von hyman (Danke nochmals!) einsetze, habe ich mal begonnen die Gültigkeit/Initialisierung von Eingangsgrößen und Auslösung der Berechnung zu untersuchen. Insbesondere wollte ich auch klären, wann ein ReadRequest eine Neuberechnung auslöst.

    Das Ergebnis möchte ich hier zur Info - aber auch zum Review - mit Euch teilen.

    X1 Logiken:
    Eingänge die nicht initialisiert sind, werden bis zur ersten Botschaft als "false" bewertet (das war für mich durchaus überraschend).
    Bei Logiken mit mehreren Eingängen führt eine Botschaft an einem anderen Eingang auch zum Senden am Ausgang, wenn an anderen Eingängen noch nichts empfangen wurde.

    Eine Initialisierung der Eingangs-GA mit "vom KNX Bus lesen", "Wert beibehalten", "Vorgabewert" führt erwartungsgemäß zu einer entsprechenden Initialisierung ggf. auch ungleich "false".


    Formelberechner:
    Wie in der Doku (sehr lesenswert!) beschrieben, müssen erst alle Eingangswerte vorliegen, bevor der Ausgang der Logik berechnet wird. Zitat aus der Doku:
    "Alle Ausgänge geben erst dann Werte aus, wenn alle Eingangswerte vorliegen. Wenn mehrere Formeln und Ausgänge verwendet werden, gilt dies auch für Formeln, in denen die fehlenden Werte gar nicht vorkommen.​"


    Generell Behandlung von ReadRequest:
    Bei Eingängen für die "vom KNX Bus lesen" aktiviert ist (und nur bei diesen), wird ein ReadRequest auf der GA wie der Empfang einer Botschaft ausgewertet. Dies ist bei genauer Überlegung natürlich erwartungskonform, da es dem Setzen des A-Flags am Eingang entspricht. Wenn man jedoch nicht darüber nachdenkt, kann es überraschend sein.

    Anbei dazu ein kleiner Testaufbau und Gruppenmonitorauszug (GA 31/5/20 ist nicht relevant), direkt nach einem Neustart:

    image.pngimage.png
    Zuletzt geändert von willisurf; 28.06.2024, 08:46.
    Gruß Bernhard

    #2
    Hi, ja das mit dem Initialisieren der GA's beim X1 muss man gerade bei komplexen Logiken eine besonderer Beachtung schenken.

    Sonst werden beim Lesen der Tag/Nacht GA nach einer Inbetriebnahme ungewollt Funktionen oder Szenen ausgeführt. Daher mache ich gerne kein Initialwert und wähle aber "Wert beibehalten" aus.

    Aber wie ist es nun, wenn bei Initialisierung der Eingangs-GA "vom KNX Bus lesen" und gleichzeitig die Checkbox "Wert beibehalten" ausgewählt ist? Das kann man ja beides zusammen setzen. Ich will das jetzt nicht testen, weil mich sonst der Kunde wieder fragt, warum mitten am Tag alle Jalousien hoch fahren
    Zuletzt geändert von bambam; 01.07.2024, 15:33.

    Kommentar


      #3
      Bei den LBS gibt es ja auch eine Einstellung für die Eingänge. Ich konnte in der Dokumentation jetzt keine Beschreibung dazu finden. Dient die Einstellung, die man hier vornimmt, auch der Initialisierung bei einem Neustart?

      Screenshot 2024-07-06 084150.png

      Kommentar


        #4
        Ich kann im Moment nichts ausprobieren, da wir im Urlaub unterwegs sind.
        Gruß Bernhard

        Kommentar


          #5
          Damit tust die Eingänge vor belegen.

          wenn du beim oder hier überall eine 1 setzt wird beim Eintreffen einer 0 der Ausgang 1 sein, da die anderen Eingänge 1 sind.

          sehr nützlich da du damit deine Logik im Verhalten definieren kannst.

          Kommentar


            #6
            Axel du meinst jetzt, wenn nach dem Neustart, die erste 0 an einem Eingang ankommt? Später verhält sich das ODER ja dann ganz normal und was ich hier definiert habe, ist wird dann nicht mehr relevant sein, weil es an allen Eingängen mal Werte gegeben hat?

            Kommentar


              #7
              Ja genau. Sozusagen der INIT Wert der überschrieben werden kann.

              Kommentar

              Lädt...
              X