Ankündigung

Einklappen
Keine Ankündigung bisher.

Linknx trigger und listener

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

    KNX/EIB Linknx trigger und listener

    Hallo,

    kann mir jemand den Unterschied erklären zwischen einem trigger="true" in einer condition und dem <listener gad="x/x/x"/> in der object definiton?

    Ich meine der Listener muss doch die Status GA sein, richtig? Das heißt, dass das Objekt automatisch bei ändern des Status den richtigen Wert hat.

    Aber was macht der Trigger = true in einer Condition?

    Ich meine, wenn ich Beispiel weise folgende Rulehabe:
    <rule id="licht_aus_nach_30sec">
    <condition type="and" trigger="true">
    <condition type="object" id="licht_kueche" value="on" />
    </condition>
    <actionlist>
    <action type="set-value" id="licht_kueche" delay="30" value="off" />
    </actionlist>
    </rule>

    wird das Licht immer 30sek nach einschalten wieder ausgeschaltet.

    Nun soll dies aber nur dann passieren wenn nicht zwischendrinnen das Licht ausgeschalte und wieder eingeschaltet wurde. (Ist natürlich in dem Beispiel unlogisch)
    Aber dann sollen die 30sek. wieder von neu beginnen.
    Benötige ich hierfür einen Trigger?

    Denn so funktioniert das auch nicht:

    <rule id="licht_aus_nach_30sec">
    <condition type="and" trigger="true">
    <condition type="object" id="licht_kueche" value="on" trigger="true" />
    </condition>
    <actionlist>
    <action type="set-value" id="licht_kueche" delay="30" value="off" />
    </actionlist>
    </rule>

    heißt somit dieser trigger="true" das bei jeglicher Statusänderung einer GA diese Condition nochmals ausgeführt wird und somit die Regel erneut geprüft wird?

    Und meine letzte Frage ist bzgl. des ändern eines Status.
    Wie mache ich es, dass mir in einer kleinen Bsp. Visu das Icon geändert wird wenn eine Leuchte ausgeschaltet wird durch einen KNX Taster. Irgendwie bekommt das linknx nicht mit. Kann man das irgendwie einstellen?

    #2
    Es hat hier im Forum einige Leute, die das sicher besser erklären können als ich. Trotzdem:
    Zitat von Jache Beitrag anzeigen
    Aber was macht der Trigger = true in einer Condition?
    Trigger benötigst du um in der Rule anzugeben, bei welcher GA-Änderung die Rule überhaupt ausgewertet werden soll. Es könnte also eine Rule auch eine Condition enthalten mit einem Listener, dessen Änderung keine Auswirkung hat und der aktuelle Zustand einfach nur berücksichtigt wird, wenn die Rule aus einem anderen Grund aktiviert wird. Selber habe ich dafür allerdings noch nie eine Anwendung gesehen. Bei mir haben alle verwendeten GA jeweils einen Trigger gesetzt.

    Ein Trigger auf eine "AND" oder "OR" Condition wie in deinem Beispiel ist allerdings nutzlos. Ebenfalls eine "AND" Condition mit nur einem Element.
    Zitat von Jache Beitrag anzeigen
    Und meine letzte Frage ist bzgl. des ändern eines Status.
    Wie mache ich es, dass mir in einer kleinen Bsp. Visu das Icon geändert wird wenn eine Leuchte ausgeschaltet wird durch einen KNX Taster. Irgendwie bekommt das linknx nicht mit. Kann man das irgendwie einstellen?
    Dafür müssen die Flags bei der Objekt-Definition richtig gesetzt sein. Das betrifft primär linknx und ist damit unabhängig von der Visu.

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

    Kommentar


      #3
      Hallo,

      danke dir für die Ausführung.

      Ich habe mir nun auch mal knxweb2 angeschaut. Was sind Events bei linknx?

      Und kann man irgendwo die Sprache von FR auf DE oder EN umstellen?

      Was ich noch gar nicht verstehe ist folgendes.

      Unabhängig von irgendeiner Visualisierungsmöglichkeit habe ich folgende Frage.

      Ich kann mit linknx über PHP verschiede Gas schalten.
      Nun habe ich mir eine einfache PHP Seite gemacht, welche ich im Browser aufrufe und einen Button habe zum schalten der GA. Das funktioniert auch super. Anschließend wird die site neu geladen und dabei der Wert der eben geschalteten GA gelesen und dann entweder "An" oder "Aus" angezeigt auf dem Button.
      Soweit so gut. Aber ich möchte nicht die Seite neu laden müssen. Auch kein Problem. Habe das ganze mittel Ajax realisiert. Funktioniert auch.

      Nun möchte ich aber eine Statusänderung mitbekommen. Entweder muss ich nun den Ajax Request alle X Sekunden absenden (Viel zu viel traffic) oder ......
      Und das ist meine Frage. Wie bekomme ich den Wert mit, wenn dieser sich ändert, so dass ich Ihn auf meiner Testseite aktualisiert anzeigen lassen kann?

      Kommentar


        #4
        Zitat von Jache Beitrag anzeigen
        Ich habe mir nun auch mal knxweb2 angeschaut. Was sind Events bei linknx?
        Bei knxweb2 kenne ich mich nicht so gut aus. Ich denke Events sind Sache von knxweb2, nicht von linknx.
        Zitat von Jache Beitrag anzeigen
        Und kann man irgendwo die Sprache von FR auf DE oder EN umstellen?
        Ja, unter "Admin"-"Config KnxWeb". Die Entwickler sind französisch-sprachig, das dringt schon mal durch.
        EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

        Kommentar

        Lädt...
        X