Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Linknx: Logik wird gelesen, aber action nicht ausgeführt

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

    - √ - Linknx: Logik wird gelesen, aber action nicht ausgeführt

    Hallo,

    irgendwie habe ich noch massive Probleme beim Ausführen von Logiken in Linknx. Ein paar einfache Sachen funktionieren, aber der Versuch einer Und-Verknüpfung ist bei mir schon mal gescheitert.

    Was ich machen will: Wenn "Nacht" ist, (GA 1/4/13) soll das Licht im Esszimmer (jemand will nachts was trinken) nicht auf 50 % gehen, sondern auf einen kleineren Wert (60 = 23 %).

    Da ich normalerweise das Licht über eine Szene einschalte (wird in meinem BJ Raumpanel verwaltet), würde ich gerne einfach bei "Nacht" UND "50%" auf die GA des Dimmers (2/0/2) einen kleineren Wert auf diese GA "hinterherfeuern", so dass die Lampe beim Andimmen dann bei 23 % stoppt.

    Leider wird kein Dimmbefehlt (bzw. ein 8-Bit-Wert auf die Adresse des Dimmers) gesendet.

    Zunächst zu meiner linknx.xml (Die ... Punkte markieren ausgelassene Stellen, die für die Fragestellung nicht wichtig sind):
    Code:
    <?xml version="1.0" ?>
    <config>
      <objects>
    ...
         <object type="5.xxx" id="EGEsszimmerDeckenlampeDimmen" gad="2/0/2" flags="cwtuf" init="persist" log="true">EGEsszimmerDeckenlampeDimmen</object>
         <object type="1.001" id="Nacht" gad="1/4/13" flags="cwtuf" init="persist" log="true">Nacht</object>
     </objects>
     
     <rules>
    ...
        <rule id="EsszimmerNachtsStarkDimmen">
          <condition type="and">
             <condition type="object" id="Nacht" value="on">
             </condition>
    	  <condition type="object" id="EGEsszimmerDeckenlampeDimmen" value="127">
             </condition>
          </condition>
          <actionlist>
             <action type="set-value" id="EGEsszimmerDeckenlampeDimmen" value="60" />
          </actionlist>
        </rule>                     
      </rules>
      <services>
        <xmlserver type="inet" port="1028" />
        <knxconnection url="ip:127.0.0.1" />
        <persistence type="file" path="/mnt/usbdrive/linknx/persist"/>                                      
      </services>
      <logging format="WithTimestampplease" level="INFO"/>
    </config>
    Die XML wird auch korrekt bearbeitet und selbst bei Senden auf die entsprechenden Adressen wird auch die Zusandsänderung erkannt. Hier ein Ausschnitt aus meiner Log-Datei:
    Code:
    2010-01-22 23:07:01 [ INFO] XmlInetServer: Starting on port 1028
    ...
    2010-01-22 23:07:01 [ INFO] FilePersistentStorage: Reading '127' for object 'EGEsszimmerDeckenlampeDimmen'
    2010-01-22 23:07:01 [ INFO] KnxConnection: write(gad=4098, buf, len=3):
    2010-01-22 23:07:01 [ INFO] FilePersistentStorage: Writing log'127' for object 'EGEsszimmerDeckenlampeDimmen'
    2010-01-22 23:07:01 [ INFO] Object: Configured object 'EGEsszimmerDeckenlampeDimmen': gad='4098'
    2010-01-22 23:07:01 [ INFO] FilePersistentStorage: Reading 'on' for object 'Nacht'
    2010-01-22 23:07:01 [ INFO] KnxConnection: write(gad=3085, buf, len=2):
    2010-01-22 23:07:01 [ INFO] FilePersistentStorage: Writing log'on' for object 'Nacht'
    2010-01-22 23:07:01 [ INFO] Object: Configured object 'Nacht': gad='3085'
    ...
    2010-01-22 23:07:01 [ INFO] Rule: Rule: Configuration done
    2010-01-22 23:07:01 [ INFO] Rule: Rule: Configuring EsszimmerNachtsStarkDimmen (active=1)
    2010-01-22 23:07:01 [ INFO] Condition: ObjectCondition: configured value_m='on'
    2010-01-22 23:07:01 [ INFO] Condition: ObjectCondition: configured value_m='127'
    2010-01-22 23:07:01 [ INFO] Rule: ActionList: Configuring 
    2010-01-22 23:07:01 [ INFO] Action: SetValueAction: Configured for object EGEsszimmerDeckenlampeDimmen with value 60
    2010-01-22 23:07:01 [ INFO] Rule: Rule: Configuration done
    2010-01-22 23:07:01 [ INFO] main: Config file loaded: /mnt/usbdrive/linknx/linknx.xml
    2010-01-22 23:07:02 [ INFO] KnxConnection: KnxConnection: Group socket opened. Waiting for messages.
    Write from 0.0.0 to 1/4/13: 00
    2010-01-22 23:07:20 [ INFO] SwitchingObject: New value 0 for switching object Nacht
    2010-01-22 23:07:20 [ INFO] FilePersistentStorage: Writing 'off' for object 'Nacht'
    2010-01-22 23:07:20 [ INFO] FilePersistentStorage: Writing log'off' for object 'Nacht'
    Write from 0.0.0 to 1/4/13: 01
    2010-01-22 23:07:22 [ INFO] SwitchingObject: New value 1 for switching object Nacht
    2010-01-22 23:07:22 [ INFO] FilePersistentStorage: Writing 'on' for object 'Nacht'
    2010-01-22 23:07:22 [ INFO] FilePersistentStorage: Writing log'on' for object 'Nacht'
    Write from 0.0.0 to 2/0/2: 00 
    2010-01-22 23:07:34 [ INFO] U8Object: New value 0 for U8 object EGEsszimmerDeckenlampeDimmen
    2010-01-22 23:07:34 [ INFO] FilePersistentStorage: Writing '0' for object 'EGEsszimmerDeckenlampeDimmen'
    2010-01-22 23:07:34 [ INFO] FilePersistentStorage: Writing log'0' for object 'EGEsszimmerDeckenlampeDimmen'
    Write from 0.0.0 to 2/0/2: 7F 
    2010-01-22 23:07:38 [ INFO] U8Object: New value 127 for U8 object EGEsszimmerDeckenlampeDimmen
    2010-01-22 23:07:38 [ INFO] FilePersistentStorage: Writing '127' for object 'EGEsszimmerDeckenlampeDimmen'
    2010-01-22 23:07:38 [ INFO] FilePersistentStorage: Writing log'127' for object 'EGEsszimmerDeckenlampeDimmen'
    Tja - und danach kommt halt nichts mehr - der Befehl an 2/0/2 wird einfach nicht gesendet - übrigens auch nicht, wenn ich statt des "und" ein "oder" reinschreibe...

    Kann mir jemand helfen - was mache ich falsch?

    Viele Grüße,

    Stefan
    Angehängte Dateien
    Mein Sammelsurium: TS2, Zennio Z38, Siemens LOGO!, Medeodata 140 S, Weinzierl KNX ENO 620, Eibmarkt IP Router, MDT KNX IP IF, Wiregate, Node-Red mit KNX Ultimate, MDT Smart II, diverse Aktoren verschiedener Hersteller ...

    #2
    Zitat von lobo Beitrag anzeigen
    Leider wird kein Dimmbefehlt (bzw. ein 8-Bit-Wert auf die Adresse des Dimmers) gesendet.
    Nach meinem Verständnis wird die Condition einer Rule nur validiert wenn mindestens ein Element darin "triggered". Du hast aber keinen Trigger definiert.

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

    Kommentar


      #3
      The rule will be evaluated only when one of its "trigger" conditions changes value.

      Die Regel wird nur ausgewertet, wenn einer seiner Triggerzustände den Wert ändert.

      <condition type="timer" trigger="true">
      Grüsse Bodo
      Fragen gehören ins Forum, und nicht in mein Postfach;
      EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

      Kommentar


        #4
        Vielen Dank - läuft!!!

        Hallo,

        danke für die Hinweise.

        Ich habe immer gedacht, die trigger="true"s wären nur für Timer interessant (und auch den Satz "As for timers the attribute trigger (optional) can be set to true or false (default is false)." hatte ich so verstanden, aber natürlich habt Ihr recht, denn mit:

        Code:
            <rule id="EsszimmerNachtsStarkDimmen">
              <condition type="and" trigger="true">
                 <condition type="object" id="Nacht" value="on" trigger="true">
                 </condition>
        	  <condition type="object" id="EGEsszimmerDeckenlampeDimmen" value="127" trigger="true">
                 </condition>
              </condition>
              <actionlist>
                 <action type="set-value" id="EGEsszimmerDeckenlampeDimmen" value="60" />
              </actionlist>
            </rule>
        läuft's super und die Reaktionszeit ist auch so schnell (gerade mal 34 ms), dass das innerhalb des Hochdimmens passiert.

        Viele Grüße,

        Stefan
        Mein Sammelsurium: TS2, Zennio Z38, Siemens LOGO!, Medeodata 140 S, Weinzierl KNX ENO 620, Eibmarkt IP Router, MDT KNX IP IF, Wiregate, Node-Red mit KNX Ultimate, MDT Smart II, diverse Aktoren verschiedener Hersteller ...

        Kommentar

        Lädt...
        X