Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS: Trigger befüllt mehrere interne KOs aus GA

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

    LBS: Trigger befüllt mehrere interne KOs aus GA

    Hallo zusammen,

    ich habe gerade die LBS von Edomi durchgegangen. Entweder gibt es so einen LBS noch nicht, oder ich habe es übersehen.
    Zur Sicherheit frage ich nochmal nach - um das Rad ggf. nicht zweimal erfinden zu müssen.

    Ich möchte anhand eines Triggers mehrere aktuelle Werte von GA 1:1 zu zugehörigen internen KOs zuordnen.
    Grund: Für eine Paniktaste soll zu beginn der aktuelle Status von bestimmten GAs in interne KOs gespeichert werden, damit beim beenden des Panikmodus der vorherige Zustand wiederhergestellt werden kann.
    Dazu suche ich einen LBS, der einen Triggereingang und mehrere Ein- und Ausgänge hat. Sobald der Trigger kommt, sollen die aktuellen Zustände der Eingänge auf die Ausgänge gemappt werden (E1 -> A1 ; E2 -> A2 ; ....)

    Gibt es sowas schon und habe ich etwas übersehen, oder ist es einfach mit Bordmitteln möglich und ich denke zu kompliziert?

    Danke und Grüße,
    Hardy

    #2
    Können deine Aktoren nicht Sperre / beenden der Sperre vorherigen Zustand wiederherstellen? So löse ich das meist. Ganz oldschool, ohne EDOMI.

    Kommentar


      #3
      Kannst du das nicht mit einer Ausgangsbox machen?
      Da kannst du ja mehrere Aktionen nach dem Schema Ko Wert eines anderen Ko zuweisen.
      Dann einfach die Ausgangsbox triggern.
      Gruß
      Michael

      Kommentar


        #4
        Naja, es kann ja sein, dass meine BWM zuvor bereits gesperrt waren. In diesem Fall möchte ich die Sperre auch danach aufrecht erhalten und den manuell gesetzten Status ebenfalls beibehalten.

        Stimmt mit einer Ausgangsbox könnte ich es machen, allerdings müsste ich nach dem zwischenspeichern weitere LBS triggern. Erst wenn die Werte erfolgreich gespeichert wurde, darf ich diese im Anschluss manipulieren.
        Gut möglich, dass ich zu kompliziert denke?

        Danke und Gruß,
        Hardy

        Kommentar


          #5
          Dann setzt noch eine Verzögerung parrallel zum Ausgang und führe die anderen Aktionen mit 1s verzögerung durch dann sollte die Ausgangsbox auch fertig sein.
          Gruß
          Michael

          Kommentar


            #6
            Ich finde den Lösungsvorschlag mit der Zeitverzögerung nicht optimal.
            Was ich jetzt jedoch verstanden habe ist, dass ich eigentlich eine Ausgangsbox benötige, die die Befehle der Ausgangsbox abarbeitet (entspricht Methodenaufruf aus LBS executeLogicCmdList($id,$E[1]['value']); ) und danach den Trigger aus E1 weitergeben müsste.

            Somit wollte ich mit meinen laienhaften Programmierkenntnissen einen neuen LBS bauen.
            Allerdings habe ich gerade das Problem, dass ich keinen LBS bauen kann, der "Befehle" ausführen kann und zusätzlich weitere Ausgänge hat?

            Dann wäre ich an dem Punkt, dass am Ende der Befehlsliste ein "temporäres" internes KO gesetzt wird, das mir die nächsten Bausteine triggert?

            Hat von Euch jemand ein Idee, wie ich eine Ausgangsbox mit weiteren Ausgängen hinbekomme, da ich den Workaround auch nicht sonderlich schön finde :-/
            Wäre das evtl. etwas für gaert für eines der nächsten Updates?

            Danke und Gruß,
            Hardy

            Kommentar


              #7
              Warum magst Du alle KO einlesen? Die Stati jeder GA liegen doch live in Edomi vor. Beim Auslösen der Paniktaste die GAs in ein IKO wegschreiben, und beim Reset die GA auf den Wert des IKO setzen. Du brauchst genau 2 Ausgangsboxen mit je 1 Befehl je GA.

              Kommentar


                #8
                Vielleicht stehe ich auch auf dem Schlauch.
                Ich möchte bei Panik:
                1. „Sichern“ der aktuellen Status von bestimmten GAs
                2. andere Werte auf den Bus senden
                3. Nachdem Panik beendet wurde, den Status aus 1. wiederherstellen

                Ich möchte die „ transaktionale Sicherheit“ sicherstellen - sprich Punkt 2 darf erst ausgeführt werden, sobald Schritt 1 komplett ausgeführt wurde. Dafür wäre es optimal eine Ausgangsbox zu haben, die die Befehle ausführt und im Anschluss einen Ausgang triggert.
                Dadurch kann sichergestellt werden, dass der nächste Schritt (hier: 2.) schnellstmöglich ausgeführt wird - ohne „unsaubere“ Hilfskonstrukte wie „sleep“ o.ä.

                Danke für Feedback!

                Kommentar


                  #9
                  Dann setze doch als letzten Befehl in die Ausgangsbox ein IKO "Alles fertig", normal sollten die Befehle ja sequentiell abgearbeitet werden.

                  Kommentar


                    #10
                    Ja, diesen „Workaround“ würde ich bevorzugen, wenn es anders nicht geht.
                    Leider gibt es dann grafisch ein Bruch und man erkennt nicht mehr, was genau zusammengehört.
                    Ich habe das Feature „Ausgangsbox kann zusätzlich triggern“ schon öfter vermisst, damit man grafisch noch mehr Übersicht hat.
                    Aber ich scheine der Einzige zu sein. Werde es mal mit dem Workaround „letzte Befehl triggert die restliche Logikkette“ implementieren.

                    Danke Eure Meinungen.

                    Grüße
                    Hardy

                    Kommentar

                    Lädt...
                    X