Ankündigung

Einklappen
Keine Ankündigung bisher.

LinKNX treibt mich (mal wieder) an den Rande der Verzweiflung... :-)

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

    LinKNX treibt mich (mal wieder) an den Rande der Verzweiflung... :-)

    Moin Jungs...

    eigentlich mag ich LinKNX und wenn es mal funktioniert, dann klappt es wirklich gut. Aber leider ist der Weg bis zur funktionierenden Lösung of ziemlich steinig.

    Folgende Idee:

    Ich habe zwei Nachtischlampen, jede einzeln mit einem Schaltaktor ansteuerbar (BJ Wippe). Lokal natürlich kein Problem...das geht.

    Nun möchte ich aber gerne durch einen längeren Tastendruck die gegenüberliegende Lampe ein uns ausschalten. Damit ich Mausis Lampe an und ausschalten kann, ohne aufstehen zu müssen.

    Die Idee war dabei, den Schalter als Dimmer zu konfigurieren. Das lokale Licht geht auch immer noch. Wenn ich nun den Taster länger drücke, so bekomme ich ein "UP" auf den Bus gesendet, was ich "einfach" auswerden möchte.

    Für die eine Seite sieht das im Moment so aus - erst einmal die Definition:

    Code:
            <object id="LichtNachtischLinks"      gad="1/2/42" flags="cwtu" log="true">LichtNachtischLinks</object>
            <object id="LichtNachtischRechts"     gad="1/2/43" flags="cwtu" log="true">LichtNachtischRechts</object>
            <object id="LichtNachtischLongLinks"  type="3.007" gad="1/2/45" flags="cwtu" log="true">LichtNachtischLongLinks</object>
            <object id="LichtNachtischLongRechts" type="3.007" gad="1/2/44" flags="cwtu" log="true">LichtNachtischLongRechts</object>
    und die entsprechende Regeln:

    Code:
      <rule id="LichtNachtischVonLinksAn">
        <condition type="and">
            <condition type="object" id="LichtNachtischLongLinks"  value="up" trigger="true" />
            <condition type="object" id="LichtNachtischRechts"     value="0" />
        </condition>
        <actionlist>  
          <action type="set-value" id="LichtNachtischRechts" value="1" />
        </actionlist>
      </rule>
    
      <rule id="LichtNachtischVonLinksAus">
        <condition type="and">
            <condition type="object" id="LichtNachtischLongLinks" value="up" trigger="true" />
            <condition type="object" id="LichtNachtischRechts"    value="1" />
        </condition>
        <actionlist>
          <action type="set-value" id="LichtNachtischRechts" value="0" />
        </actionlist>
      </rule>
    Eigentlich war meine Idee, dass wenn ein "Dim-Up" auf den Bus kommt, überprüft wird, in welchem Status die gegenüberliegende Lampe ist und dann entsprechend ein- bzw. ausgeschaltet wird.

    Der aktuelle Code sorgt aber leider dafür, dass die Lamps ständig blinks, es fängt an, wenn ich den Knopf lange drücke und selbst nach dem Loslassen macht er weiter, obwohl auf den Bus ein "Dim Stop" gesendet wird.

    Wie kann es dafür sorgen, dass die Regel nur beim ersten Empfang des "Up" Signals ausgeführt wird?

    Eigentlich dachte ich, dass es einfach sei und das man die Logik mal schnell in der Mitagspause aufbauen könnte....aber wie immer...nix ist einfach, wenn man es denkt.

    Irgendjemand eine Idee?

    Danke...Netsrac

    #2
    Hallo,

    vielleicht hab ich die Problemstellung nicht verstanden, aber kann nicht einfach der Taster bei langem Tastendruck die GA für die andere Leuchte mit EIN/AUS senden?

    Oder gibts nen anderen Grund das über LinKNX laufen zu lassen?
    cu Yfkt5A
    DALI(ABB DG/S1.1), KODI Odroid, TrueNAS, Zehnder ComfoAir 200 L Luxe
    microk8s-Cluster: HomeAssistant, MusicAssistant, mosquitto, TVHeadend, jellyfin

    Kommentar


      #3
      Zitat von nEiMi Beitrag anzeigen
      Hallo,

      vielleicht hab ich die Problemstellung nicht verstanden, aber kann nicht einfach der Taster bei langem Tastendruck die GA für die andere Leuchte mit EIN/AUS senden?

      Oder gibts nen anderen Grund das über LinKNX laufen zu lassen?
      Naja, es kommt auf den Datentype an, der bei dem langen Tastendruck ausgesendet wird. Und das ist bei meinem BJ Schalter ebend kein "1.001: switching (on/off) (EIS1)", sondern ein "3.007: dimming (control of dimmer using up/down/stop) (EIS2)". Und damit kann ich die in der ETS nicht verknüpfen.

      Hier der entsprechende Mode, den ich nutzen will:
      In der Betriebsart „Dimmsensor“ wird bei einer kurzen Betätigung einer Wip- pe auf dem 1-Bit-Kommunikationsob- jekt „Wippe–Schalten“ ein Ein- bzw. Ausschaltbefehl ausgesendet. Wird die Wippe lange betätigt, sendet der Tast- sensor auf dem 4-Bit-Objekt „Wippe– Dimmen“ Befehle zum dunkler bzw. heller dimmen. Wird die Wippe nach einer langen Betätigung losgelassen, sendet der Tastsensor den Befehl „Dimmen Stopp“.

      Kommentar


        #4
        Zitat von netsrac Beitrag anzeigen
        Damit ich Mausis Lampe an und ausschalten kann, ohne aufstehen zu müssen.
        Und wieso mußt Du dafür dimmen? Das sollte sich doch auf dem Dimmaktor auch so parametrisieren lassen, dass er Schaltbefehler kennt (also 0 für aus und 1 zum andimmen auf einen vorparametrisierten Wert, so läuft es jedenfalls mit meinem Dimmaktor)

        Kommentar


          #5
          Zitat von netsrac Beitrag anzeigen
          es kommt auf den Datentype an, der bei dem langen Tastendruck ausgesendet wird. Und das ist bei meinem BJ Schalter ebend kein "1.001: switching (on/off) (EIS1)", sondern ein "3.007: dimming (control of dimmer using up/down/stop) (EIS2)".
          So wie ich es verstanden habe kann der Taster bei langen Tastendruck kein Ein/AUs senden, daher der Umweg über LinKNX...
          cu Yfkt5A
          DALI(ABB DG/S1.1), KODI Odroid, TrueNAS, Zehnder ComfoAir 200 L Luxe
          microk8s-Cluster: HomeAssistant, MusicAssistant, mosquitto, TVHeadend, jellyfin

          Kommentar


            #6
            Zitat von nEiMi Beitrag anzeigen
            So wie ich es verstanden habe kann der Taster bei langen Tastendruck kein Ein/AUs senden, daher der Umweg über LinKNX...
            Genau so isses...ich verwende einen normalen Schaltaktor...also keinen Dimmer.

            Leider gibt es keinen anderen Weg, bei den BJ Schaltern zwischen einem kurzen und einem langen Schaltbefehl zu unterscheiden.

            Wie gesagt, ich bekomme ja auch die entsprechende GA auf den Bus, aber irgendwie macht LinKNX halt damit mehr als man will. Ich denke es ist vollkommen egal, das das jetzt hier eine GA von einem Dimmbefehl ist, oder ob das ein "normaler" Schaltbefehl ist.

            Das Problem ist meineserachtens, dass die Rule auch getriggert wird, wenn sich die Lampe selbst schaltet. Habe schon versuche, mit in einer Variablen abzuspeichern, ob die Rule schon ausgeführt wurde....aber will auch nicht.

            Also hängt auch nicht dan dem Dimm-Befehl auf, ich denke das Problem liegt hier woanders :-)

            Kommentar


              #7
              Probier´s doch einfach mal mit dem Befehl „Dimmen Stopp“. (wird ja am Ende des langen Tastendrucks gesendet)

              Kommentar


                #8
                Zitat von Tqm Beitrag anzeigen
                Probier´s doch einfach mal mit dem Befehl „Dimmen Stopp“. (wird ja am Ende des langen Tastendrucks gesendet)
                Gerade versucht, bringt leider genauso wenig, bzw. sorgt auch für den Blink-Effekt

                Ich denke das Problem liegt daran, dass ich in der Condition und Action den selben GA schalte und durch jeden Schalt-Befehl diese Rule nochmal getriggert wird.

                Der Status des Schalters selbst verändert sich ja solange nicht, but ich den Schalter loslasse. Dadurch renne ich aber schon in der Schleife.

                Wir kann ich also verhindern, dass die Rule getriggert wird, wenn sich eine Condition geändert hat.

                Ich will ja abfragen in welchem Zustand die Lampe ist, damit ich mit einem Befehl wechselseitig an und ausschalten kann.

                Kommentar


                  #9
                  So nochmals draufgesehen ... so kanns nicht gehen ...
                  rule id="LichtNachtischVonLinksAus">
                  ist genau gleich mit
                  rule id="LichtNachtischVonLinksAn">

                  also ich würde einmal hochdimmen und einmal runterdimmen ...

                  Kommentar


                    #10
                    Zitat von Tqm Beitrag anzeigen
                    So nochmals draufgesehen ... so kanns nicht gehen ...
                    rule id="LichtNachtischVonLinksAus">
                    ist genau gleich mit
                    rule id="LichtNachtischVonLinksAn">

                    also ich würde einmal hochdimmen und einmal runterdimmen ...

                    Nenen...eigentlich nicht. Einmal steht da

                    Code:
                    <condition type="object" id="LichtNachtischRechts"     value="0" />
                    und einmal

                    Code:
                    <condition type="object" id="LichtNachtischRechts"     value="1" />
                    Damit will ich erkennen, ob die Lampe an oder aus ist und entsprechend schalten. Wie gesagt, die Rule wird halt beim späteren setzen von

                    Code:
                    <action type="set-value" id="LichtNachtischRechts" value="1" />
                    Scheinbar wieder getriggert und damit kommt es zu dem Blink-Effekt.

                    Ich hatte eigentlich gehofft, dass das fehlende "trigger" bei der Condition dafür sorgt, dass sie dadurch nicht ausgelöst wird. Dem ist aber scheinbar nicht so.

                    Kommentar


                      #11
                      ... das wäre das "um"schalten ...
                      ich hätte ja gemeint jeweils einen dezidierten Befehl für an und aus zu verwenden.

                      Was passiert wenn Du das mal raus nimmst - gehts dann?

                      <rule id="LichtNachtischVonLinksAn">
                      <condition type="and">
                      <condition type="object" id="LichtNachtischLongLinks" value="up" trigger="true" />
                      <condition type="object" id="LichtNachtischRechts" value="0" />
                      </condition>
                      <actionlist>
                      <action type="set-value" id="LichtNachtischRechts" value="1" />
                      </actionlist>
                      </rule>

                      Kommentar


                        #12
                        Zitat von Tqm Beitrag anzeigen
                        ... das wäre das "um"schalten ...
                        ich hätte ja gemeint jeweils einen dezidierten Befehl für an und aus zu verwenden.

                        Was passiert wenn Du das mal raus nimmst - gehts dann?
                        Ja, das funktioniert super...genau so wie es sollte.

                        Nur das ich eben nicht ausschalten kann...

                        Wäre schön, wenn man da sozusagen eine Flip-Flop Schaltung hätte....

                        Kommentar


                          #13
                          ja, und nun brauchst Du das ja nur so zu ändern, das bei "lange nach unten" aus und bei "lange nach oben" ein ist ...

                          Kommentar


                            #14
                            Zitat von Tqm Beitrag anzeigen
                            ja, und nun brauchst Du das ja nur so zu ändern, das bei "lange nach unten" aus und bei "lange nach oben" ein ist ...

                            Nene...es soll ja mit ein und dem selben Taster funktionieren... :-)

                            Stelle Dir einfach vor, Du hast nur einen Taster und möchtest damit wechselseitig ein und ausschalten...

                            Kommentar


                              #15
                              Für mein Verständnis ...
                              Taster nach oben = ein; Lange nach oben dimmen up
                              Taster mitte = um; dimmen stop
                              Taster nach unten = aus; Lange nach unten dimmen down

                              so kenn ich das - ist das bei Dir anders?

                              Kommentar

                              Lädt...
                              X