Ankündigung

Einklappen

Sammelbestellung ETS6 Vollversionen aktiv!

Sammelbestellung für ETS6 Vollversionen (Prof., Home, Lite) mit 40% Rabatt aktiv! Infos im Forum!
Mehr anzeigen
Weniger anzeigen

KNX-Binding: Status-GA

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

  • udo1toni
    antwortet
    Freut mich, dass ich helfen konnte, weiterhin viel Spaß beim autohomisieren !

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • udo1toni
    antwortet
    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)

    Einen Kommentar schreiben:


  • MatzR
    antwortet
    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

    Einen Kommentar schreiben:


  • JoergA
    antwortet
    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

    Einen Kommentar schreiben:


  • teichsta
    antwortet
    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.

    Einen Kommentar schreiben:


  • JoergA
    antwortet
    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

    Einen Kommentar schreiben:


  • tony
    antwortet
    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

    Einen Kommentar schreiben:


  • JoergA
    antwortet
    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

    Einen Kommentar schreiben:


  • kkreuzer
    antwortet
    Die Zeile
    Code:
      Jalousie_Wohnzimmer.sendCommand(new PercentType(50))
    kann man sogar noch einfacher als
    Code:
      Jalousie_Wohnzimmer.sendCommand(50)
    schreiben.

    Einen Kommentar schreiben:


  • Jockel
    antwortet
    Ich hab für so etwas Szenen im KNX-Aktor definiert, dann muss man nicht jede Rollade einzeln fahren sondern kann sie Gruppenweise ansprechen.

    Einen Kommentar schreiben:


  • teichsta
    antwortet
    Hi,

    Zitat von JoergA Beitrag anzeigen
    "Sonne = 1 ; dann fahre auf x%)
    ahh, ok, die Regel dazu sähe so aus:

    Code:
    rule "Jalousie-Automatik"
    when
      Item Sonne changed to ON
    then
      Jalousie_Wohnzimmer.sendCommand(new PercentType(50))
    end
    Voraussetzung ist der import von

    Code:
    import org.openhab.core.library.types.*
    zu Beginn des Rules-Files.

    Gruß,

    Thomas E.-E.

    Einen Kommentar schreiben:


  • JoergA
    antwortet
    Danke, werde ich morgen mal testen.

    Zitat von teichsta Beitrag anzeigen

    Die Frage verstehe ich nicht ganz? Willst Du von openHAB aus die prozentuale Position an eine Rollade schicken, also bspw. Rollade-Küche=50%?
    Hi,

    ja. Ich könnte einmal im Aktor programieren "Sonne = 1 ; dann fahre auf x%) aber ich fände es charmanter dies aus openHAB zu senden. Oder wie regelt ihr dies??

    VG
    Joerg

    Einen Kommentar schreiben:


  • teichsta
    antwortet
    Hi Jörg,

    Zitat von JoergA Beitrag anzeigen
    Wenn der Rollladen hochgefahren wird, wird erst einmal das icon aktualisiert (ganz offen) und wenn dann vorher gestoppt wird, wird das Icon mit der entsprechenden Höhe angepasst.
    das kriegst Du weg, indem Du das Item wie folgt definierst:

    { knx="0/1/1,0/1/2,0/1/3+0/1/6", autoupdate="false" }

    In diesem Fall dürfte sich das Icon wirklich erst dann verändern, wenn über die entsprechende GA die Position gemeldet wird.

    Zitat von JoergA Beitrag anzeigen
    Wie definiere ich den ein Item um eine Position aus einer Rule heraus als Status zu senden??
    Die Frage verstehe ich nicht ganz? Willst Du von openHAB aus die prozentuale Position an eine Rollade schicken, also bspw. Rollade-Küche=50%?

    Einen Kommentar schreiben:


  • JoergA
    antwortet
    Zitat von kkreuzer Beitrag anzeigen
    Hier: https://openhab.ci.cloudbees.com/job/openHAB/

    Sollte bei Dir mit irgendwas wie { knx="0/1/1,0/1/2,0/1/3+0/1/6" } funktionieren. Hast Du sichergestellt, dass der Aktor auf 0/1/6 auch wirklich regelmäßig die aktuelle Position meldet?

    Grüße,
    Kai
    Klappt prima

    Der Aktor gibt bei Status Änderung immer die neue Position mit.

    Was mir aufgefallen ist:
    Wenn der Rollladen hochgefahren wird, wird erst einmal das icon aktualisiert (ganz offen) und wenn dann vorher gestoppt wird, wird das Icon mit der entsprechenden Höhe angepasst.

    Sehe ich aber als Feature ;-)

    Wie definiere ich den ein Item um eine Position aus einer Rule heraus als Status zu senden??

    In der ETS geht dies als Prozentwert über 5.001

    Viele Grüße
    Joerg

    Einen Kommentar schreiben:

Lädt...
X