Ankündigung

Einklappen
Keine Ankündigung bisher.

Linknx Lichtszene mehrmals aufrufen

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

    Linknx Lichtszene mehrmals aufrufen

    Hallo,
    Ich möchte eine Lichtszenenlogik machen.
    Wenn auf einer Gruppenadresse den Wert 2 kommt, sollen bestimmte Gruppenadressen gesendet werden (soweit ok).
    Dies funktioniert aber nur soweit, als daß der Wert 2 nicht 2 mal hintereinander kommen darf, weil sonst die Regel nicht mehr durchlaufen wird.

    Hat jemand eine Lösung für mich ??

    #2
    Zitat von gerald07 Beitrag anzeigen
    Dies funktioniert aber nur soweit, als daß der Wert 2 nicht 2 mal hintereinander kommen darf, weil sonst die Regel nicht mehr durchlaufen wird.
    Hast du den Actionlist-Typ auf if-true gesetzt?

    Gruss, Othmar
    EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

    Kommentar


      #3
      Ja.
      Jedoch steht in der Doku:
      If trigger is true, a change in the object value will force the rule to re-evaluate it's condition.
      Und das Objekt ändert sich nicht, sondern wird auf dem Bus nur neu gesendet.

      Kommentar


        #4
        Zitat von gerald07 Beitrag anzeigen
        Ja.
        Wenn das nicht hilft, dann könntest du in der Actionlist eventuell einen Pseudowert auf die GA schicken, so dass ein erneutes Senden des Werts 2 wieder frisch triggert.

        Gruss, Othmar
        EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

        Kommentar


          #5
          Ich hab das jetzt erst mal so gelöst:

          Die GA wird auf einen Pseudo-Wert gesetzt.
          Das t-flag habe ich herausgenommen, somit wird der Wert nur intern gesetzt und nicht auf den Bus gesendet.

          Kommentar


            #6
            Hi,

            richtige Lösung: Objekt bekommt das s-Flag (statisches Objekt) und Du verarbeitest die Rules mit if-true/if-false (statische Regeln).

            Gruß, Waldemar
            OpenKNX www.openknx.de

            Kommentar


              #7
              @mumpf,

              Deine "Lösung" funktioniert nicht.
              Wenn ich das s-Flag setze wird zwar der Wert am Bus gesendet, die Regel aber nicht neu ausgeführt (da sich der Wert nicht geändert hat).
              If trigger is true, a change in the object value will force the rule to re-evaluate it's condition.

              Meine Lösung funktioniert aber gut

              Kommentar


                #8
                Hi,

                ich kann aus der Ferne nicht beurteilen, warum es bei Dir nicht läuft und freue mich auch, dass Du eine funktionierende Lösung gefunden hast.

                Nichtsdestotrotz führt das s-Flag dazu, dass die Rules auch evaluiert werden, wenn der gleiche Wert auf dem Bus auftaucht (wird also wie ein neuer Wert behandelt). Sonst würden ja if-true und if-false actionlists ja gar keinen Sinn machen.

                Damit wir über das gleiche reden:
                Code:
                	<objects>
                		<object type="5.xxx" id="SceneIn" gad="1/6/1" flags="crwts">Scene input</object>
                		<object type="5.xxx" id="SceneOut" gad="1/6/1" flags="crwts">Scene output</object>    
                	</objects>
                	<rules>
                		<rule id="DoScene">
                			<condition type="object" id="SceneIn" value="2" trigger="true"/>
                			<actionlist type="if-true">
                				<action type="set-value" id="SceneOut" value="7"/>
                			</actionlist>
                		</rule>
                	</rules>
                Das obige snippet sollte immer beim empfangen einer 2 auf SceneIn eine 7 auf SceneOut senden. Das hier ist noch ungetestet, ich kann das erst heut Abend zu Hause testen. Da ich aber solche Dinger mehrfach verwende, bin ich mir ziemlich sicher, dass das klappt.

                Gruß, Waldemar
                OpenKNX www.openknx.de

                Kommentar

                Lädt...
                X