Ankündigung

Einklappen
Keine Ankündigung bisher.

linKNX Problem mit mehrfacher gleichem GA-Wert

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

    KNX/EIB linKNX Problem mit mehrfacher gleichem GA-Wert

    Hallo,
    ich arbeite mich gerade in linKNX ein und bin auf ein Problem gestoßen, bei dem ich keine Lösung finde.

    Ich habe folgendes Object angelegt:
    Code:
    <object type="1.001" id="kueche_vlc_vor-zurueck" gad="8/1/26" log="true">EG Kueche VLC Vor-Zurueck</object>
    Auf dieser GA wir eine 1 gesendet wenn ein Titel weiter und eine 0 wenn ein Titel zurück gesprungen werden soll.

    Dafür habe ich folgende rules angelegt:
    Code:
        <rule id="Radio_Kueche_Vor">
          <condition type="or">
            <condition type="object" id="kueche_vlc_vor-zurueck" value="on" trigger="true" />  
          </condition>
          <actionlist>
            <action type="shell-cmd" cmd='/etc/linknx/kueche-vlc-control.sh next' />
          </actionlist>
        </rule>
        <rule id="Radio_Kueche_Zurueck">
          <condition type="or">
            <condition type="object" id="kueche_vlc_vor-zurueck" value="off" trigger="true" />  
          </condition>
          <actionlist>
            <action type="shell-cmd" cmd='/etc/linknx/kueche-vlc-control.sh back' />
          </actionlist>
        </rule>
    Das Problem ist, dass ich zwar einmal einen Titel vorspringe aber bei jeder weiteren 1 nicht mehr, zurück geht auch nur einmal. D.h. ich wechsel nur zwischen zwei Titel (hier Streams) hin und her.
    Kennt jemand eine Lösung für mein Problem (das auch die rule bearbeitet wird, wenn sich der Wert nicht geändert hat)?

    Dann noch eine zweite Frage, wie ist es möglich den Rückgabewert eines Shell-Skriptes (typ="shell-cmd") einer GA zu zuordnen und damit auf den Bus zusenden?

    #2
    Zitat von panzaeron Beitrag anzeigen
    Das Problem ist, dass ich zwar einmal einen Titel vorspringe aber bei jeder weiteren 1 nicht mehr, zurück geht auch nur einmal. D.h. ich wechsel nur zwischen zwei Titel (hier Streams) hin und her.
    Kennt jemand eine Lösung für mein Problem (das auch die rule bearbeitet wird, wenn sich der Wert nicht geändert hat)?
    Schau dir mal die Syntax auf SourceForge.net: Rules section - linknx an.
    actionlist ohne Angabe des Typs ist gleichbedeutend mit dem Typ on-true. Dies hat die Auswirkung, dass die Aktion nur ausgeführt wird bei einem Wechsel von 0 auf 1 oder umgekehrt.
    Was helfen sollte ist der Typ if-true. Hier wird die Aktion jedes Mal ausgeführt, wenn die Bedingung zutrifft.

    Zur Frage 2 kann ich nicht helfen, aber der Weg führt wahrscheinlich über LUA (nicht meine Welt).

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

    Kommentar


      #3
      Und wahrscheinlich müsstest du am object noch das "s" Flag setzen:

      z. B. flags="cwus"

      Damit wird das Object bei jedem Telegramm geupdatet.
      Join smartVISU on facebook. Web: smartvisu.de.
      Dir gefällt smartVISU? Bitte spenden für die Weiterentwicklung.

      Kommentar


        #4
        Danke ihr zwei, jetzt geht es.

        das Objekt sieht jetzt so aus, ohne dem s-Flag geht es nicht:
        Code:
        <object type="1.001" id="kueche_vor-zurueck" gad="8/1/26" flags="cwus" log="true">EG Kueche Vor-Zurueck</object>
        und die entsprechende rule so:
        Code:
            <rule id="Radio_Kueche_Vor-Zurueck">
              <condition type="object" id="kueche_vor-zurueck" value="on" trigger="true" />  
              <actionlist type="if-true">
                <action type="shell-cmd" cmd='/etc/linknx/kueche-vlc-control.sh next' />
              </actionlist>
              <actionlist type="if-false">
                <action type="shell-cmd" cmd='/etc/linknx/kueche-vlc-control.sh back' />
              </actionlist>
            </rule>
        Für den Rückgabewert werde ich wohl die xml-Schnittstelle nutzen...

        Kommentar

        Lädt...
        X