Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX-Binding: Status-GA

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

    #16
    Hallo alle,

    vielen Dank für die Tips, meine Rollladen fahren nun wie gewünscht.

    Als i-Tüpfelchen habe ich aber noch 2 Fragen:

    1) Beim starten oder Neustart weiß openHAB natürlich nicht die Position der Rollladen, da diese nur bei Änderung übertragen werden um den BUS sauber zu halten. Nun würde ich die Positionen gerne beim StartUp einlesen und habe aus der Demo folgendes umgesetzt
    Code:
    [SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055][LEFT][B]rule[/B][/LEFT][/COLOR][LEFT][/LEFT][/SIZE][LEFT][/LEFT][/COLOR][LEFT][/LEFT][/SIZE][LEFT][SIZE=2][COLOR=#000000] Initialisierung[/COLOR][/SIZE][/LEFT][SIZE=2]
    [/SIZE][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055][LEFT][B]when[/B][/LEFT]
    [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][LEFT][/LEFT][/SIZE][LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]System[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] [/SIZE][/B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055][B]started[/B]
    [B]then[/B][/COLOR][/SIZE][/COLOR][/SIZE][/LEFT][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]
    [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][LEFT][B]SleepModus.[/B][/LEFT][/SIZE][LEFT][I][SIZE=2][COLOR=#ab3000][SIZE=2][COLOR=#ab3000][B]postUpdate[/B][/COLOR][/SIZE][/COLOR][/SIZE][/I][SIZE=2][COLOR=#ab3000][SIZE=2][COLOR=#ab3000][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][B](OFF)[/B]
     
    [/SIZE] [/LEFT]
    [SIZE=2][LEFT]
    [B][U]Lights[/U]?.[U]members[/U].[U]forEach[/U]([/B][U][B]light|[/B]
    [B][I]postUpdate[/I](light, [/B][/U][/LEFT][/SIZE][LEFT][U][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]if[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2](Math::[I]random[/I] > [/SIZE][SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d]0.7[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]) ON [/SIZE][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]else[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][B] OFF)[/B][/SIZE][/U][/LEFT][U][SIZE=2]
    [/SIZE][/U][SIZE=2][LEFT][B]) [/B]
    [/LEFT]
    [/SIZE][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055][LEFT][B]end[/B][/LEFT]
    [/COLOR][/SIZE][/COLOR][/SIZE][/COLOR][/SIZE][/COLOR][/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055][/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055][/COLOR][/SIZE][/COLOR][/SIZE]
    Leider bekomme ich dies nicht für die Rollladen angepasst

    2) Kann ich ähnlich wie Lights_all auch alle Rollladen fahren, ohne dafür eine GA zu definieren??

    Viele Grüße
    Joerg

    Kommentar


      #17
      Hallo Jörg,

      Zitat von JoergA Beitrag anzeigen
      1) Beim starten oder Neustart weiß openHAB natürlich nicht die Position der Rollladen, da diese nur bei Änderung übertragen werden um den BUS sauber zu halten. Nun würde ich die Positionen gerne beim StartUp einlesen
      Das ist seit OpenHAB 1.2 (SNAPSHOT) einfach. Du musst nur das Statusobjekt für die Opsition der Rolläden in ETS so konfigurieren dass es nicht nur bei Änderungen übertragen wird, sondern auch auf Anforderung. Dann im knx-Binding die entsprechende GA mit "<" kennzeichnen und OpenHAB liest beim Start automatisch den Positionsstatus des Rolladens ein.
      Angenommen 5/3/4 ist die GA auf der der Positionsstatus übertragen wird (Mit 5/1/4 steuerst du auf und ab, mit 5/2/4 fährst du eine bestimmte Position an):
      Code:
      {knx="1.008:5/1/4, 5.004:5/2/4+<5/3/4"}
      Funktioniert bei mir einwandfrei und geht ähnlich auch bei Schaltern.


      Zitat von JoergA Beitrag anzeigen
      2) Kann ich ähnlich wie Lights_all auch alle Rollladen fahren, ohne dafür eine GA zu definieren??
      Ich habe mir für den Zweck ein Item (ShuttersW) definiert und über eine Regel alle Jalousien in der Gruppe ShuttersWF an:
      Code:
      rule "JalWest"
          when 
              Item ShuttersW received command
          then
              if(receivedCommand==DOWN) 
                  ShuttersWF?.members.forEach(shutter|sendCommand(shutter,DOWN))
              else if(receivedCommand==UP) 
                  ShuttersWF?.members.forEach(shutter|sendCommand(shutter,UP))
      end
      Gruß

      Tony

      Kommentar


        #18
        Zitat von tony Beitrag anzeigen
        Du musst nur das Statusobjekt für die Opsition der Rolläden in ETS so konfigurieren dass es nicht nur bei Änderungen übertragen wird, sondern auch auf Anforderung.
        Merdu! Bei meinen beiden ABB 4fach 230V wird der Status nur bei Änderung gesendet. Lediglich den 8-fach könnte ich umstellen. Somit hätte ich für 50% der Rollladen eine Lösung.

        Trotzdem besten Dank für den Tip.

        VG
        Joerg

        Kommentar


          #19
          Zitat von JoergA Beitrag anzeigen
          Bei meinen beiden ABB 4fach 230V wird der Status nur bei Änderung gesendet
          was passiert denn, wenn Du einfach mal den Wert an der Status-KO liest (per ETS)? Bekommst Du da ein Ergebnis? Wenn ja, dann "L"-Flag setzen und von dort den Wert lesen, wie oben beschrieben.

          Gruß,

          Thomas E.-E.
          Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

          Kommentar


            #20
            Zitat von teichsta Beitrag anzeigen
            was passiert denn, wenn Du einfach mal den Wert an der Status-KO liest (per ETS)? Bekommst Du da ein Ergebnis? Wenn ja, dann "L"-Flag setzen und von dort den Wert lesen, wie oben beschrieben.

            Gruß,

            Thomas E.-E.
            DANKE, dies war es dann wohl. Die ETS lieferte den Wert zurück. Mit folgenden Zeilen geht es nun.

            Code:
            { knx="5/1/4,5/1/5,5.004:5/2/4+<5/3/4", autoupdate="false" }
            oder
            { knx="5/1/4,5/1/5,5/2/4+<5/3/4", autoupdate="false" }
            Wobei ich die Annahmen von Tony übernommen habe und 5/1/5 stop ist.

            Aber: Scheinbar macht es keinen Unterschied ob bei der Positionsanfahrt die 5.004 vorangestellt ist?!

            Evtl. kann mir einer kurz noch erklären wo der Unterschied liegt??

            Viele Grüße,
            Jörg

            Kommentar


              #21
              Hallo,
              Ich habe folgende GA:
              2/3/11 Auf/Ab
              2/3/12 Position
              2/3/13 RM Position
              2/3/14 Lamelle auf/zu
              2/3/15 Lamelle Position
              2/3/16 RM Lamelle

              Das Item ist wie folgt eingestellt: Rollershutter RS_Leo "Leo" (gE3_04, gRS) {knx="2/3/11, 2/3/14, <2/3/13"}

              Aber ich bekomme keine vernünftige Rückmeldung angezeigt.
              Vor allem wenn der Raffstore durch eine Szene verstellt wurde, reagiert openHAB gar nicht.
              Was mache ich falsch?

              Danke
              Matthias

              Kommentar


                #22
                Als GA sind erstmal folgende interessant:
                Code:
                2/3/11 Auf/Ab
                2/3/12 Position
                2/3/13 RM Position
                2/3/14 Lamelle auf/zu
                Wobei das Item dann so aussähe:
                Code:
                Rollershutter RS_Leo "Leo [%s]"[COLOR=#3933FF][FONT=Monaco][SIZE=11px][COLOR=#000000] [/COLOR][/SIZE][/FONT][/COLOR] (gE3_04, gRS) {knx="2/3/11, 2/3/14, 2/3/12+<2/3/13"}
                Damit sollte der Raffstore sich öffnen und schließen lassen. Auch eine direkte Position sollte sich anfahren lassen, mit einem Extra Item:
                Code:
                Switch item=RS_Leo mappings=[100="Zu",75="75",50="50",25="25",0="Auf"]
                Mit dem [%s]bekommst Du in der GUI die aktuelle Position als Zahl angezeigt, wobei 0 offen und 100 geschlossen bedeutet. Schau mal in der ETS nach, welcher DPT auf 2/3/13 kommt, da kann schon mal der Erste Knackpunkt liegen. Manchmal muss man den passenden DPT manuell mitgeben, Calimero als Unterbau vom openHAB-KNX-Binding unterstützt auch nicht alle DPT, dann kann ein falscher, aber passender DPT helfen.
                Bei manchen Aktoren muss man auch eine Rückmeldung bei Wertänderung aktivieren, sonst wird der Wert nur nach Anforderung geschrieben, das passiert dann nur beim Start von openHAB.
                Falls das Senden bei Änderung nicht eingestellt werden kann, bliebe noch das zyklische Senden oder alternativ könntest Du openHAB so konfigurieren, dass der Wert zyklisch gelesen wird. Der Eintrag im Binding heißt, glaube ich autorefresh, schau mal im Wiki nach, ich hab grad nicht im Kopf, wann das dazu gekommen ist, kann sein, dass das erst mit 1.7 (oder die aktuelle Nightly-Version) funktioniert. das zyklische Senden oder lesen ist natürlich suboptimal, weil Du abwägen musst zwischen häufigem Update (belastet den Bus) oder seltenem Update (zeitweise falsche Anzeige)

                da der Raffstore ja auch dne Lamellenwinkel benötigt, musst Du hierfür ein zweites Item anlegen (da gibt's hier im Forum einige Threads zu)

                Kommentar


                  #23
                  Danke für Deine Hilfe. Funktioniert jetzt wunderbar.
                  Habe jetzt meine Aktoren auch auf Aktive Rückmeldung umgestellt.
                  Lg
                  M

                  Kommentar


                    #24
                    Freut mich, dass ich helfen konnte, weiterhin viel Spaß beim autohomisieren !

                    Kommentar

                    Lädt...
                    X