Ankündigung

Einklappen
Keine Ankündigung bisher.

LINKNX - Abstützen auf vorhandene Regeln?

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

    LINKNX - Abstützen auf vorhandene Regeln?

    Hi,
    ich habe 2 Gruppenadressen definiert, die ich über LINKNX mit dem Gesamtstatus des Lichtes eines Geschosses bediene.

    Erste Frage - ist der Code noch zu optimieren?

    Zweite Frage - Ich möchte nun eine weitere Gruppenadresse definieren, die für das gesamte Haus gilt. Soweit ich das sehe kann ich mich nicht auf die Stati "Licht_EG" und "Licht_OG" stützen, sondern muss die Regeln komplett neu einkopieren (und habe dadurch bei späteren Änderungen einen erhöhten Pflegeauswand). Ist das richtig?

    Code:
     
       <object id="Licht_EG" gad="1/7/110" flags="cwrtuf" type="1.001" init="persist" log="true">Licht_EG</object>
       <object id="Licht_OG" gad="1/7/120" flags="cwrtuf" type="1.001" init="persist" log="true">Licht_OG</object>
    
       <rule id="Licht_EG_Lichtcheck">
          <condition type="or">
            <condition type="object" id="Arbeit_Schalter" trigger="true" value="on" />
            <condition type="object" id="Wohn_Schalter" trigger="true" value="on" />
            <condition type="object" id="Wohn_Helligkeit" trigger="true" value="0"  op="gt"/>
          </condition>
          <actionlist type="if-true">
            <action type="set-value" id="Licht_EG" value="true" />
          </actionlist>
          <actionlist type="if-false">
            <action type="set-value" id="Licht_EG" value="false" />
          </actionlist>
        </rule>
    
        <rule id="Licht_OG_Lichtcheck">
          <condition type="or">
            <condition type="object" id="Arbeit_Schalter" trigger="true" value="on" />
            <condition type="object" id="Wohn_Schalter" trigger="true" value="on" />
            <condition type="object" id="Wohn_Helligkeit" trigger="true" value="0"  op="gt"/>
          </condition>
          <actionlist type="if-true">
            <action type="set-value" id="Licht_OG" value="true" />
          </actionlist>
          <actionlist type="if-false">
            <action type="set-value" id="Licht_OG" value="false" />
          </actionlist>
        </rule>

    #2
    Oder Du vergibst halt noch eine Gruppenadresse für "Gesamt_Haus", welche die Aktoren dann auch kennen.

    Alternativ definierst Du ein Objekt "Gesamt_Haus" und baust das in deinen Rules als "oder" Verknüpfung mit ein.
    Derzeit zwischen Kistenauspacken und Garten anlegen.
    Baublog im Profil.

    Kommentar


      #3
      Zitat von knxtester Beitrag anzeigen
      ist der Code noch zu optimieren?
      Ja, ist zwei Mal die gleiche Bedingung, das kannst du in einer Regel abhandeln. Aber wahrscheinlich sollten die Bdingungen für EG und OG wohl unterschiedlich sein, oder? Jede Regel für sich sieht OK aus.
      Zitat von knxtester Beitrag anzeigen
      Ich möchte nun eine weitere Gruppenadresse definieren, die für das gesamte Haus gilt. Soweit ich das sehe kann ich mich nicht auf die Stati "Licht_EG" und "Licht_OG" stützen, sondern muss die Regeln komplett neu einkopieren (und habe dadurch bei späteren Änderungen einen erhöhten Pflegeauswand). Ist das richtig?
      Nein, das ist nicht richtig, du kannst sehr wohl eine weitere Regel basierend auf "Licht_EG" und "Licht_OK" definieren.

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

      Kommentar


        #4
        Hi,
        ich habe jetzt eine weitere Gruppenadresse für das gesamte Haus eingebaut.
        Diese stützt sich auf die vorhandenen Gruppenadressen ab und reagiert bei deren Änderungen (deswegen der Trigger auf EG und OG).

        Code:
        <object id="Licht_im_Haus" gad="1/7/150" flags="cwrtuf" type="1.001" init="persist" log="true">Licht_im_Haus</object>
        
            <rule id="Licht_Haus_Lichtcheck">
              <condition type="or">
                <condition type="object" id="Licht_EG" trigger="true" value="on" />
                <condition type="object" id="Licht_OG" trigger="true" value="on" />
              </condition>
              <actionlist type="if-true">
                <action type="set-value" id="Licht_im_Haus" value="true" />
              </actionlist>
              <actionlist type="if-false">
                <action type="set-value" id="Licht_im_Haus" value="false" />
              </actionlist>
            </rule>

        Kommentar

        Lädt...
        X