Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX Dummy GA (Kontakt) über openhab setzen

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

    KNX Dummy GA (Kontakt) über openhab setzen

    Hallo zusammen ,

    hatte jemand schon das Problem das er Dummy GA als Contact im knx.thing nicht per Rule setzen konnte ?
    Es scheint es kommt im Bus nichts an.

    Möchte gerne meine MQTT Fenster Kontakte auf den Bus bringen für die MDT Lüftungsfunktion.

    Die MQTT Items sind auch als Kontakt definiert und meine Rule sieht so aus :

    Code:
    rule "Window Contact Eltern"
      when Item ContactRoom changed
    then
                    Eltern_Fenster_Kontakt.postUpdate(ContactRoom.state)
    end
    scheint die Änderung wird nicht auf den Bus gesendet .

    Code:
     Type contact: Eltern-Fenster-Kontakt "3.1-3-Obergeschoss.Eltern-Fenster.Kontakt"        [ ga="1.019:6/3/10"]

    #2
    Versuch mal sendCommand statt postUpdate.

    Kommentar


      #3
      Leider gleiches Problem

      Kommentar


        #4
        1. Warum verwendest Du Type contact, wenn doch per Definition openHAB als Kontakt auftritt, es müsste also Type contact-control sein.
        2. Warum definierst Du die Kontakte überhaupt als Kontakt? Das geht genauso gut mit Switch (und dann kannst Du auch einen Befehl senden - ein Kontakt kennt eigentlich keine Befehle, nur Zustände).

        postUpdate() wirkt nur auf den Status des Items, sendet aber nichts an ein verbundenes Binding.
        sendCommand() sendet einen Befehl an das verbundene Binding.
        Per Default setzt openHAB zusätzlich ein postUpdate() gegen das Item ab, um den Status anzupassen. Das kann man aber mit dem Parameter autoupdate="false" unterbinden, womit dann eine Trennung zwischen Befehlen und Status gegeben wäre.

        Kommentar


          #5
          ​Ich muss das Thema leider noch einmal aufnehmen. Ich komme einfach nicht weiter :-(

          knx.items
          Code:
          Switch Lars_anwesend            "Lars Anwesend"            {knx="8/1/115"}
          unifi.items
          Code:
          Switch   S7_Lars           "S7 Lars"             { channel="unifi:wirelessClient:ec935e4b:online" }
          knx.rules
          Code:
          rule "Anwesenheit Lars"
          when
              Item S7_Lars changed from OFF to ON
          then    
              Lars_anwesend.sendCommand(ON)
          end
          rule "Abwesenheit Lars"
          when
              Item S7_Lars changed from ON to OFF
          then    
              Lars_anwesend.sendCommand(OFF)
          end
          Wenn ich in der Rule direkt das Licht im Wohnzimmer statt lars_anwesend nehme funktioniert das wunderbar.

          Ich habe das Thing mit Switch und mit Switch-Control versucht, aber das Ergebnis bleibt leider gleich.

          Ich möchte den Anwesenheitsstatus gern auf dem Homeserver haben um diesen hier verarbeiten zu können.
          Dazu habe ich in der ETS ein Gira Dummy Device eingebunden und die 8/1/115 GA hinzugefügt und die GA's
          So scheint das ja leider nicht zu funktionieren, gibt es hierzu irgendwo eine Doku?

          Danke Leute
          Angehängte Dateien

          Kommentar


            #6
            Nutzt Du tatsächlich das knx1 Binding?

            Kommentar


              #7
              Gute Frage, also das welches ich per PaperUI einbinden kann.
              Wie gesagt der Rest funktioniert wunderbar, also ich kann dimmen und schalten z.B. per Alexa und wenn ich bei Anwesenheit eine GA an einem "echten" Aktor wähle funktioniert die Rule auch, nur eben bei der Dummy GA kommt nix an.

              Danke und Gruß
              Lars

              Kommentar


                #8
                Du kannst beide Bindings über Paper UI installieren (knx1 nur, wenn Legacy Bindings aktiviert sind), über Paper UI konfigurieren kannst Du ausschließlich das knx2 Binding.
                Dann ist allerdings der Link am Item komplett falsch, denn er muss dann so aussehen, wie beim unifi Item (also { channel="knx:..." }
                Die GA musst Du natürlich in einem Channel eintragen, der zu einem Thing gehört, welches wiederum einer knx Bridge zugeordnet ist. Falls das zu verschwurbelt ist, frag nochmal nach...

                Kommentar


                  #9
                  Ok, ich nutze knx2, aber es lief wohl auch mit den Angabe der direkten GA, hab das jetzt mal umgestellt

                  Code:
                  Switch Lars_anwesend            "Lars Anwesend"                         {channel="knx:device:036ee2d9:Lars_anwesend"}
                  Ändert allerdings leider nix daran, das ich zwar z.B. Lampen per Anwesenheit schalten kann, aber eben die Dummy Adresse leider nicht :-(

                  Noch jemand eine Idee?

                  Danke und Gruß
                  Lars

                  Kommentar


                    #10
                    Zitat von Borgal Beitrag anzeigen
                    Ok, ich nutze knx2, aber es lief wohl auch mit den Angabe der direkten GA, hab das jetzt mal umgestellt
                    Nein, es gibt keine Möglichkeit, die GA im Item anzugeben, wenn man knx2 nutzt.

                    Wie sieht denn nun Deine exakte Konfiguration aus?

                    Kommentar


                      #11
                      Ich finde das noch alles sehr verwirrend.
                      Habe jetzt auch die things per Datei realisiert.
                      Wie gesagt, alle physisch vorhandenen befehle werden auf den Bus gesendet.


                      knx.things
                      Code:
                      Bridge knx:ip:bridge
                      [
                          type="TUNNEL",
                          ipAddress="192.168.0.103",
                          portNumber=3671,
                          localIp="",
                          readingPause=50,
                          responseTimeout=10,
                          readRetriesLimit=3,
                          autoReconnectPeriod=60,
                          localSourceAddr="0.0.1"
                      ]
                          {
                              Thing device generic
                              {
                                  Type switch         : Gong                      "Gong"                      [ ga="8/1/114" ]
                                  Type switch         : Bad_Radio                 "Bad Radio"                 [ ga="8/7/52+<8/7/53" ]
                                  Type dimmer         : Wohnen_Licht_Sofa         "Wohnen Licht Sofa"         [ switch="8/0/31+<8/0/32", position="8/0/89+<8/0/34", increaseDecrease="8/0/33" ]
                                  Type dimmer         : Wohnen_Licht_Esstisch     "Wohnen Licht Esstisch"     [ switch="8/0/38+<8/0/35", position="8/0/117+<8/0/37", increaseDecrease="8/0/36" ]
                                  Type dimmer         : Bad_Licht                 "Bad Licht"                 [ switch="8/7/66+<8/7/67", position="8/7/69+<8/7/111", increaseDecrease="8/7/68" ]
                                  Type switch-control : Lars_anwesend             "Lars Anwesend"             [ ga="8/1/115" ]
                                  Type switch-control : Sandra_anwesend           "Sandra Anwesend"           [ ga="8/1/116" ]
                              }
                              
                           }
                      knx.items
                      Code:
                      /*Licht*/
                      Dimmer Wohnen_Licht_Sofa        "Wohnen Licht Sofa"             {channel="knx:device:bridge:generic:Wohnen_Licht_Sofa" }
                      Dimmer Wohnen_Licht_Esstisch    "Wohnen Licht Esstisch"         {channel="knx:device:bridge:generic:Wohnen_Licht_Esstisch"}
                      Dimmer Bad_Licht                "Bad Licht"                     {channel="knx:device:bridge:generic:Bad_Licht"}
                      /*Gong*/
                      Switch Gong                     "Gong"                          {channel="knx:device:bridge:generic:Gong"}
                      /*Bad Radio*/
                      Switch Bad_Radio                "Bad Radio"                     {channel="knx:device:bridge:generic:Bad_Radio"}
                      /*Anwesenheiten*/
                      Switch Lars_anwesend            "Lars Anwesend"                 {channel="knx:device:bridge:generic:Lars_anwesend" }
                      knx.rules
                      Code:
                      rule "Anwesenheit Lars"
                      when
                          Item S7_Lars changed from OFF to ON
                      then    
                          Lars_anwesend.sendCommand(ON)
                      end
                      rule "Abwesenheit Lars"
                      when
                          Item S7_Lars changed from ON to OFF
                      then    
                          Lars_anwesend.sendCommand(OFF)
                      end
                      Danke und Gruß
                      Lars
                      Zuletzt geändert von Borgal; 28.01.2020, 23:44.

                      Kommentar


                        #12
                        Ah. Du musst bitte in der Rule statt sendCommand postUpdate verwenden. Der Channeltyp switch-control definiert openHAB als Aktor, der natürlich keine Kommandos sendet, sondern nur Statusupdates. Das knx2 Addon verhält sich hier leider etwas unorthodox (ich meine mich auch erinnern zu können, dass es dazu eine Diskussion auf github gab). Eigentlich ist postUpdate ja explizit dazu gedacht, ausschließlich den Item Status zu ändern, während sendCommand eigentlich ausschließlich einen Befehl an das gebundene Addon senden soll (aber da geht's ja schon los - default setzt openHAB dabei den Status des Items passend, ohne zu warten, ob auch eine Statusmeldung vom Bus kommt - mindestens fragwürdig, immerhin kann man das abschalten...)

                        Kommentar


                          #13
                          bringt leider keine Änderung.
                          Ich kann ja auch die Anwesenheit per PaperUI Schalter ein und aus schalten, daher spielt in dem Fall die Rule ja keine Rolle.

                          Kommt leider nix auf dem Bus an. :-(

                          Danke und Gruß
                          Lars

                          Kommentar


                            #14
                            Ich steig da echt nicht durch.
                            Ich habe jetzt einfach um weiter zu kommen mal die beiden Anwesenheiten in einer Logik eines Aktors ODER Verknüpft um die beiden GA physisch zu verbinden.
                            Den Ausgang der Logik sehe ich jetzt auch auf dem Bus, die beiden Eingänge also 8/1/115 und 116 sehe ich allerdings nicht.
                            Wie kann die Logik darauf reagieren, obwohl die beiden Signale scheinbar gar nicht auf den Bus kommen.

                            Gruß
                            Lars

                            Kommentar


                              #15
                              Also, was mir noch gerade auffällt, wäre die Definition der Bridge. Lass mal alle Parameter außer die absolut notwendigen weg (also nur ipAddress und type setzen. localIp kannst Du wahlweise auch noch auf die IP vom Rechner setzen, auf dem openHAB läuft. Hingegen auf "" zu setzen, ist nicht so gut, dann lieber gar nicht setzen.

                              Kommentar

                              Lädt...
                              X