Ankündigung

Einklappen
Keine Ankündigung bisher.

Reihenfolge der Aktionen / Befehle in Ausgangsbox

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

    Reihenfolge der Aktionen / Befehle in Ausgangsbox

    Hallo zusammen,

    da ich zur Zeit mit Steurungsfunktionen kämpfe, stellt sich mir häufiger die Aufgabe, ältere Werte für spätere Vergleiche zu retten, etwa "vorletzter Wert:=letzter Wert, dann letzter Wert:=aktueller Wert".

    Zur Zeit verwende ich für diese Rettung von Werten Sequenzen, da dies die einzige mir bekannte Möglichkeit ist, eine Reihenfolge sicherzustellen. Nicht nur, dass man dafür zwischen dem grafischen Editor und dem Sequenz-Editor wechseln muss, stört es mich auch, dass Teile der Logik dadurch ausgelagert werden. Daher würde ich das gerne innerhalb der Logik lösen.

    Die beiden angehängten Schaltungen wären prinzipiell möglich, aber lösen das Problem nicht sicher.
    In der ersten Schaltung dürfte die Reihenfolge der Aktionen zufällig sein, da man sie nicht umsortieren kann.
    In der zweiten Schaltung suggeriert die Ausgangsbox eine Reihenfolge, da man sie umsortieren kann - möglicherweise nicht nur aus kosmetischen Gründen (zweite Aktion ist "letzter Wert:=aktueller Wert").

    Ist auch bei der zweiten Schaltung das Verhalten nicht deterministisch? Wenn es nicht deterministisch ist: Gibt es eine Möglichkeit, aufeinanderfolgende Aktionen innerhalb einer Logik sicher hintereinander auszuführen, ohne die simple Logik ausfzublähen?
    Angehängte Dateien
    openHAB 4.2

    #2
    da ich gerade mit dem gleichen Problem konfrontiert bin: gibt es dazu schon Erkenntnisse? Oder muß man eine Sequenz anlegen um sicher zu sein...
    EPIX
    ...und möge der Saft mit euch sein...
    Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

    Kommentar


      #3
      das sollte mit dem SystemLog Baustein sehr komfortabel gehen.

      Gruss
      Marcel
      seit: 11'08 KNX / 04'09 HS3 / 12'09 WG mit 21 Temp & 4 Feuchtesensoren / 10'10 Enocean mit 15 Fenstergriffe Hoppe / 02'11 MBus2Serial Gas-Wasserzähler
      HS3: 99% / VISU: PV 99%, iPad 99%
      60 Akt. Linie1 / 14 Akt. Linie2

      Kommentar


        #4
        es ist doch kein Hexenwerk dafür einen eigenen kleinen Baustein zu schreiben. Die Anforderung müsste einfach mal ganz klar dargestellt werden.
        welche Art von Werten ist das und was genau passiert wann?
        never fummel a running system...

        Kommentar


          #5
          Nö, keine Hexerei...
          aber wenn's "per Default" geht wäre es auch schön...

          Sonst ist die Sequenz eben die Lösung!

          Die Flexibilität eines eigenen Bausteins ist eher nicht so gegeben, da man ja vorher entsprechende Dinge fixieren muss, was ja bei der Sequenz nicht notwendig ist und zudem verschiedene Aktionen zulässt...
          EPIX
          ...und möge der Saft mit euch sein...
          Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

          Kommentar


            #6
            Der Nachteil einer Sequenz an dieser Stelle ist aber, dass die Logik aufgetrennt wird, also man wissen muss, was in der Sequenz geschieht, und es eben nicht mehr Logik-nah sehen kann.
            Auf Grund dessen habe ich mir auch einen kleinen Baustein geschrieben, der, einmal getriggert, hintereinander auf 3 Ausgänge feuert, so dass man an diese verschiedene Operationen hängen kann.

            Viel schöner wäre es aber, wenn man wüsste, dass die Befehle in der Ausgangsbox hintereinander ausgeführt werden würden.

            Vielleicht könnte Dacom in einer HS-Version 7.4 eine Ausgangsbox mit den Möglichkeiten einer Sequenz ausstatten, im besonderen mit dem Timing.
            openHAB 4.2

            Kommentar


              #7
              bei der 2.4 lassen sich die befehle sortieren. in dieser reihenfolge werden sie dann auch abgearbeitet.

              was aber trotzdem fehlt, ist ein zeitpuffer ähnlich der sequenz.
              glück auf

              günther

              Kommentar


                #8
                Zitat von blue04 Beitrag anzeigen

                was aber trotzdem fehlt, ist ein zeitpuffer ähnlich der sequenz.

                Das ist es, die Funktion könnte mir gut gefallen

                gruß olli

                Kommentar


                  #9
                  Das würde die Logik aus meiner Sicht zu komplex machen. Es ist derzeit schon "schwierig genug aus der ByteCode Logik die Ausgänge asynchron zu bechreiben. Wenn jetzt an dieser Stelle noch Funktionen dazwischen stehen würden die einen Timer implementieren wird es auf jedenfall intern recht komplex.
                  Nils

                  aktuelle Bausteine:
                  BusAufsicht - ServiceCheck - Pushover - HS-Insight

                  Kommentar


                    #10
                    Hallo!

                    Wenn es darum geht, bspw. die letzten 5 Werte, die ein Objekt hatte zu speichern, eignet sich dafür doch der Ringspeicher hervorragend - immer bei Änderung den aktuellen Wert oben reinschreiben, dann schiebt er die Werte ja weiter runter. An die Ausgänge des Ringspeichers dann eben Kommunikationsobjekt "Aktueller Wert", "letzter Wert", "vorletzer Wert" etc.

                    Gruß
                    Olaf
                    Möchte den Komfort meiner Installation nicht mehr missen!

                    Kommentar

                    Lädt...
                    X