Ankündigung

Einklappen
Keine Ankündigung bisher.

Suche Beispiele für knx.things

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

    #46
    ich glaube die Rule habe ich dazumals aber gebraucht für Alexa/ Siri dass die Rolladen geschalten werden können.

    da habe ich die als Dimmer angelegt was auch funktioniert hatte, da das mit den Rollershuttern noch so ein Problem war/ist.

    meine Konfig mit dem KNX 1.x Binding war dazumals:

    da hatte ich ja beides in der *.items Datei gehabt .....(ist ja jetzt getrennt durch *.items und *.things Datei)

    alexa.items:

    HTML-Code:
    /*Dimmer*/
    Dimmer RollloEssen             "Rollladen Essen [%d %%]"         <light>     (EG_Wohnzimmer)         [ "Lighting" ] {knx="4/0/1 + <4/5/0, 5.001:4/4/0 + <5.001:4/5/0"}
    
    /*Rolladen*/
    Rollershutter     RolloEssen_site       "Rollladen Essen1 [%d %%]"          (gRollo)    { knx="4/0/1,4/1/14,4/4/0+<4/5/0" }
    Switch            RolloEssen            "Rollo 123 Essen"                                    [ "Lighting" ]

    alexa.rules:

    HTML-Code:
    rule "RolloEssen"
    when
    Item RolloEssen received command
    then
    switch(receivedCommand)
    {
    case ON : RolloEssen_site.sendCommand(UP)
    case OFF : RolloEssen_site.sendCommand(DOWN)
    }
    end



    in der neuen Version KNX Binding 2.0 hätte ich das so nachgestellt, aber leider ohne Funktion


    die sehen wie folgt derzeit aus....

    knx.things

    HTML-Code:
    Thing device jalousieaktor1 "RolloGruppe1" [
            address="1.1.7",
            fetch=false,
            pingInterval=300,
            readInterval=0
        ] {
            Type dimmer    : rollo_gr_1_ch2        "Rollladen Essen"           [upDown="4/0/11",stopMove="4/1/6",position="5.001:4/4/10+<4/5/10"]
    ....habe anstatt [upDown="4/0/11",stopMove="4/1/6",position="5.001:4/4/10+<4/5/10"] auch schon die Dimmversion [ switch="4/0/1",position="5.001:4/4/0+<4/5/0" ] ausprobiert.




    knx.items:

    HTML-Code:
        Rollershutter     RolloGruppe1_Ch2            "Rollladen Essen [%d %%]"                             (Rolladen, RolladenEG,)  { channel="knx:device:bridge:jalousieaktor1:rollo_gr_1_ch2" }
        Switch            RolloEssen                    "Rollo 123 Essen"                [ "Lighting" ]

    und die knx.rules sieht dann folgendermaßen aus:

    HTML-Code:
    rule "RolloEssen"
    when
    Item RolloEssen received command
    then
    switch(receivedCommand)
    {
    case ON : RolloGruppe1_Ch2.sendCommand(UP)
    case OFF : RolloGruppe1_Ch2.sendCommand(DOWN)
    }
    end
    Zuletzt geändert von MrWichtig; 28.09.2019, 15:24.

    Kommentar


      #47
      ....ich frage einmal anders rum....

      ist es möglich das KNX Binding 2.x mit der alten *.items und *.rules zu nutzen?

      ich würde in die *.things Datei dann nur die Kommunikationsparameter zum KNX setzen ohne weiteren Inhalt.

      HTML-Code:
      Bridge knx:ip:bridge [ 
          ipAddress="192.168.1.100",  
          type="TUNNEL", 
          localSourceAddr="0.0.0"
      ] {
      
      
      }
      ist das möglich?


      ich sehe den Wald vor lauter Bäumen schon nicht mehr......

      Kommentar


        #48
        Nein.

        Vor allem musst Du für einen Rollladenaktor auch einen Channel vom Typ rollershutter verwenden, die verschiedenen Typen sind nicht so zum Spaß unterschiedlich benannt. Jeder Channeltyp hat exakt definierte Parameter (ein dimmer Channel hat keine Parameter upDown oder stopMove).
        Die Hilfskonstruktion mit Itemtypen, die nicht auf den entsprechenden Typ auf knx-Seite passen sollte nur in Ausnahmefällen angewandt werden, wen es anders nicht geht.
        Zuerst die volle Funktion knx <-> openHAB sicherstellen.
        Anschließend die volle Funktion Alexa <-> openHAB sicherstellen.
        Zuletzt eine Rule anlegen, die die Funktion von Alexa in eine Funktion für knx übersetzt.

        Kommentar


          #49
          @udo1toni......die volle Funktion über knx <--> openHAB ist bereits sichergestellt!....habe ich im Post #42 schon kundgetan! ;-)

          ich bin jetzt eigentlich schon beim Folgeschritt (wo ich jetzt anstehe) dass ich mit Sprache nun die bereits über OpenHAB schon funktionierenden Routinen steuere.

          mit Sprache kann ich ebenfalls auch schon die Lampen Schalten u. Dimmen!


          die Rollladen machen mir aber zur Zeit schwere Kopfzerbrechen!.....die Befehlszeile oben war schon eine ausprobierte Alternative von mir. ich habe nämlich auch in der Vorgänger *.items die Rollladen als "Dimmer" anlegen müssen dass ich die schalten haben können. Das dürfte sich aber mittlerweile geändert haben od. ich habe hier noch ein Verständnisproblem......das kann ich natürlich auch überhaupt nicht ausschließen .


          wo genau ist denn der Unterschied zwischen Funktion Alexa<-->Openhab und Alexa<-->KNX?
          in meinem Verständnis muss bei beiden die Kommunikation zu KNX funktionieren, dass ich auh sehe ob das gemacht wird was soll?

          eine Beispieldatei würde mir wahrscheinlich hier einmal sehr weiterhelfen wie das Leute gelöst haben die Openhab ebenfalls auch in Verbindung mit Alexa od. Siri einsetzen.




          bevor ich mit dem Experimentieren begonnen habe sah der Parameter so aus welcher auch in Openhab funktioniert zum Steuern ;-)

          HTML-Code:
          Thing device jalousieaktor1 "RolloGruppe1" [
                  address="1.1.7",
                  fetch=false,
                  pingInterval=300,
                  readInterval=0
              ] {
                 
                  Type rollershutter    : rollo_gr_1_ch2        "Rollladen Essen"       [upDown="4/0/1",stopMove="4/1/14",position="5.001:4/4/0+<4/5/0"]

          lg


          Zuletzt geändert von MrWichtig; 28.09.2019, 20:01.

          Kommentar


            #50
            Wenn knx <-> openHAB funktioniert, darfst Du an diesem Teil nichts mehr ändern, weder an den Items (außer vielleicht Tagging hinzuzufügen oder das Label, Icon oder Gruppenzugehörigkeit ändern), noch (und das gilt ganz besonders) an den Channels.

            Für das Proxy Item brauchst Du keinen Channel.

            Kommentar


              #51
              ok...dann werde ich das einmal gründlichst vermeiden bestehende Sachen jetzt zu ändern.

              bleibt dann noch immer die Frage was ich noch bez. der Rolladen ausprobieren kann dass diese mit Sprache zum Steuern werden?


              ...und was genau ist ein Proxy Item? wenn z.B.: Harmony Hub, HUE usw. verwenden möchte?

              lg

              Kommentar


                #52
                Ein Proxy Item übernimmt die Rolle des Mittlers, das heißt, das Item ist nicht selbst mit dem channel verbunden, sondern steuert das eigentliche Item (durch eine Rule).

                Kommentar


                  #53
                  dann würde das ja zusammenpassen, dass ich in der KNX Binding 1.x auch diese Rules hatte für die Rollershutter.

                  würde das schlüssig sein wenn ich das wie folgt mache für das KNKX Binding 2.x mache?

                  knx.things:

                  HTML-Code:
                  Thing device jalousieaktor1 "RolloGruppe1" [
                          address="1.1.7",
                          fetch=false,
                          pingInterval=300,
                          readInterval=0
                      ] {
                          Type rollershutter    : rollo_gr_1_ch2        "Rolladen Essen"       [upDown="4/0/1",stopMove="4/1/14",position="5.001:4/4/0+<4/5/0"]
                      }
                  knx.items:

                  HTML-Code:
                      Rollershutter     RolloGruppe1_Ch2            "Rollladen Essen [%d %%]"                             (Rolladen, RolladenEG)  { channel="knx:device:bridge:jalousieaktor1:rollo_gr_1_ch2" }
                      Switch            RolloEssen                    "Rollo 123 Essen"                [ "Lighting" ]

                  knx.rules:

                  HTML-Code:
                  rule "RolloEssen"
                  when
                  Item RolloEssen received command
                  then
                  switch(receivedCommand)
                  {
                  case ON : RolloGruppe1_Ch2.sendCommand(UP)
                  case OFF : RolloGruppe1_Ch2.sendCommand(DOWN)
                  }
                  end

                  bei der Alten habe ich in der knx.items halt die Rollladen als Type:dimmer angelegt gehabt....

                  Kommentar


                    #54
                    Ja, so sollte das eigentlich funktionieren. In den *.items Dateien gibt es aber nicht das Schlüsselwort Type :

                    Kommentar


                      #55
                      Ja, das mit dem Type ist mir eh klar.....ich wollte eigentlich nur "Dimmer schreiben.

                      kannst Du evtl. als doch sehr Wissender was diese Dateien betrifft kurz drüberschaun ob die Alte Konfiguration die nur aus der *.items und der*.rules bestanden hat jetzt richtig in die neue Version wo es ja 3 Dateien gibt (*.items, *. things und *.rules) übertragen habe.

                      ALTE VERSION:
                      knx.items
                      HTML-Code:
                      Dimmer RollloEssen             "Rollladen Essen [%d %%]"         <light>     (EG_Wohnzimmer)         [ "Lighting" ] {knx="4/0/1 + <4/5/0, 5.001:4/4/0 + <5.001:4/5/0"}
                      
                      
                      Rollershutter     RolloEssen_site       "Rollladen Essen1 [%d %%]"          (gRollo)    { knx="4/0/1,4/1/14,4/4/0+<4/5/0" }
                      Switch            RolloEssen            "Rollo 123 Essen"                                    [ "Lighting" ]
                      knx.rules
                      HTML-Code:
                      rule "RolloEssen"
                      when
                      Item RolloEssen received command
                      then
                      switch(receivedCommand)
                      {
                      case ON : RolloEssen_site.sendCommand(UP)
                      case OFF : RolloEssen_site.sendCommand(DOWN)
                      }
                      end

                      NEUE VERSION:
                      knx.things
                      HTML-Code:
                              Type rollershutter    : rollo_gr_1_ch2        "Rolladen Essen"       [upDown="4/0/1",stopMove="4/1/14",position="5.001:4/4/0+<4/5/0"]
                      knx.items
                      HTML-Code:
                          Rollershutter        RolloGruppe1_Ch2            "Rollladen Essen [%d %%]"                             (Rolladen, RolladenEG)  { channel="knx:device:bridge:jalousieaktor1:ch9" }
                          Switch                RolloEssen                    "Rollo 123 Essen"                [ "Lighting" ]
                      knx.rules
                      HTML-Code:
                      rule "RolloEssen"
                      when
                      Item RolloEssen received command
                      then
                      switch(receivedCommand)
                      {
                      case ON : RolloGruppe1_Ch2.sendCommand(UP)
                      case OFF : RolloGruppe1_Ch2.sendCommand(DOWN)
                      }
                      end

                      Kommentar


                        #56
                        Der Channel ist nicht der im Item verlinkte Channel. Wenn Deine knx bridge auch bridge heißt, das Thing, zu der der Channel gehört jalousieaktor1 heißt und der Channel in Wirklichkeit ch9 heißt, sollte es so passen.

                        Kommentar


                          #57
                          ja, das mit dem Channel 9 (ch9) ist nur ein zusätzliches Testobjekt gewesen wo ich mit Dimmer ausprobiert habe........das passt aber...

                          bez. des "bridge" Namen nehme ich an, dass damit eh dieser in der *.things Datei gemeint ist?!

                          HTML-Code:
                          Bridge knx:ip:bridge [
                              ipAddress="192.168.1.100",  
                              type="TUNNEL",
                              localSourceAddr="0.0.0"
                          ] {
                          oder müsste es dann knx:ip:bridge heissen?

                          derzeit steht ja überall knx:device:bridge ??

                          Kommentar


                            #58
                            Ja, das ist richtig. Die Bridge gehört zu knx, es geht um eine ip-Schnittstelle, der konkrete Name ist bridge. Im Item nehmen wir aber Bezug auf ein Device (genauer ein knx Device. Der Channel setzt sich also zusammen aus knx:device:<bridgename>:<devicename>:<channelname>

                            Diese Hierarchie ist wichtig, denn man könnte durchaus mehrere knx Busse aus openHAB heraus steuern. Für jeden knx Bus braucht es natürlich eine eigene Bridge, aber im Gegensatz zu knx1 geht das mit knx2 ohne Probleme.
                            Es gibt Bindings, in denen man Items auch direkt mit der Bridge verbinden kann
                            Ebenso gibt es Bindings, die keine Bridge kennen, oder gar Bindings, die eine Bridge unterhalb einer Bridge haben.
                            Da die Channelbezeichnung für alle Bindings gleich sein soll, muss der Typ (device, ip, serial) angegeben werden, auch wenn es keine sinnvolle Item-Verknüpfung für eine Bridge gibt, und deshalb das Wort device der einzig mögliche Wert ist.

                            Kommentar


                              #59
                              Ok, das hab ich jetzt auch verstanden!

                              mhm..... ich kanns drehen und wenden wie ich es will die Rollo Funktion über Sprache will einfach nicht. :-(

                              nutzen hier wirklich nur so wenige User Alexa od. Siri in Verbindung mit Openhab und KNX Binding 2.x?
                              Wie habt ihr so die items u. Things bzw rules konfiguriert?

                              Kommentar


                                #60
                                ich frage auch nochmal sicherheitshalber.....müssen die Gruppen in der things oder items Datei angelegt sein?

                                ...und spielen die Namen z.B.: "Wohnen", "Kueche" usw...... auch eine Rolle oder sind die rein als Info gesetzt?

                                HTML-Code:
                                // Gruppen
                                Group gEG           // Gruppe Erdgeschoss
                                Group gKG           // Gruppe Kellergeschoss
                                Group gAB            // Gruppe Aussenbereich
                                Group gSZ            // Gruppe Szene
                                Group gRollo        // Gruppe Rollladen
                                
                                
                                Group EG_Wohnzimmer         "Wohnen"            <sofa>      (gEG)
                                Group EG_Kueche             "Kueche"            <kitchen>   (gEG)
                                Group EG_Essen              "Essen"             <kitchen>   (gEG)

                                Kommentar

                                Lädt...
                                X