Ankündigung

Einklappen
Keine Ankündigung bisher.

Rollershutter mit Rückmeldungen (syntax)

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

    Rollershutter mit Rückmeldungen (syntax)

    Hallo zusammen, ich hab mal eineFrage bezüglich Jalousien und der korrekten Syntax. Meine Eli hat mir pro Jalousie im Haus folgende Objekte (GAs) gegeben. Es sind LingJahnke Aktoren die die Position der Jalousie und Lamellen wissen.

    - Fahren lang
    - Verstellen kurz
    - Jalousie Position
    - Lamelle Position
    - Jalousie Rückmeldung
    - Lamelle Rückmeldung

    Meine Idee ist das ich pro Jalousie drei Einträge auf der Visu auftauchen lasse. Einen für ganz normal Hoch/Stop/Runter und einen zweiten wo ich z.B. 0/25/75/100 % Position anfahren könnte und einen dritten wo ich mich um die Lamellen Positionen (0, 30, 45, 75, 90Grad) kümmern möchte. Oder könnte man das auch alles in „einem Objekt“ lösen ?

    Wäre super wenn mir jemand mit der Items und Siteconfig syntax helfen könnte. Ich bin noch OpenHAB newbie, darum die vielleicht doofe Frage bzw Syntaxvorschlag von mir. Ich sehe das in etwa so:

    Items Datei :
    Code:
    Rollershutter Rollladen_EG_Kueche "EG Kueche" (EG_Kueche) { knx="GA FahrenLang+ <GA Jalousie Rückmeldung , GA VerstellenKurz + <GA Lamelle Rückmeldung ,GA Position + < GA Jalousie Rückmeldung " }
    Sitemap datei:
    Code:
    Switch item= Rollladen_EG_Kueche label="Jalousie Küche Normal ” icon="rollershutter  mappings=[UP="Hoch", STOP=”Stop”, DOWN="Runter"]
    Switch item= Rollladen_EG_Kueche label="Jalousie Küche Position” icon="rollershutter  mappings=[0="ZU", 25="25%", 50="50%", 75="75%", 98="FROST", 100="OFFEN"]
    Switch item= Rollladen_EG_Kueche label="Jalousie Küche Lamelle” icon="rollershutter  mappings=[0="Waagerecht“, 30="30%", 45="45%", 75="75%", 90="Geschlossen"]
    Irgendwo müssen da noch % Zeichen und Eckige Klammern rein, damit wenn man die Visu started auch die Aktuellen Werte dargestellt werden. Ich hoffe ihr wisst wo das reinkommt?

    Puh ich hoffe mir eurer Hilfe bekommen wir das gebacken. Ich freue mich auf Korrekturen/Vorschläge zum Code.

    Wenn es funktioniert schreib ich das gerne ins Wiki rein.

    Gruss
    bkumio

    #2
    Hi,

    die Prozentzeichen kannst du so angeben
    Code:
    Rollershutter Jalousie_EG_WG_O  "EG Wintergarten Ost Jalousie [%d %%]"  (EG_Wintergarten, Jalousien)    { knx="2/2/0, 2/2/1, 2/2/11+2/2/8" }
    Rollershutter Lamelle_EG_WG_O   "EG Wintergarten Ost Lamelle [%d %%]"   (EG_Wintergarten, Jalousien)    { knx="2/2/0, 2/2/1, 2/2/17+2/2/14" }
    Ich kann meine Lamellen stufenlos verfahren.

    Gruß,
    thoern

    Kommentar


      #3
      Ach ja, wenn du das so machst und über Switches ausformulierst, musst du den Prozentwert in der Sitemap mit angeben:

      Code:
                              Group item=EG_Wintergarten {
                                      Switch item=JalousienSperren            label="Jalousien sperren"
                                      Switch item=Jalousie_EG_WG_O            label="Jalousie Ost [%.0f %%]"
                                      Slider item=Lamelle_EG_WG_O             label="Lamelle Ost [%.0f %%]"
                                      Switch item=Jalousie_EG_WG_S            label="Jalousie Sued [%.0f %%]"
                                      Slider item=Lamelle_EG_WG_S             label="Lamelle Sued [%.0f %%]"
                                      Switch item=Jalousie_EG_WG_W            label="Jalousie West [%.0f %%]"
                                      Slider item=Lamelle_EG_WG_W             label="Lamelle West [%.0f %%]"
                                      Switch item=FBH_EG_Wintergarten         label="Bodenheizung"
                              }

      Kommentar


        #4
        Ok, bin der Sache schon näher, vielen Dank thoern nochmals

        Jetzt drehst sich es um die Rückmeldungen. Kann mir jemand erklären wie OpenHAB das mit den [%d %%] Geschichten macht. Ich verstehe die Formatierungen, würde aber gerne wissen was passiert wen auf dem KNX Bus eine Rückmeldung für eine GA platziert wird die ich als "listening" angegeben habe.

        Im ETS Gruppenmonitor bekomme ich folgende Rückmeldungen (siehe Bild ETS Log) . Sprich auf 2/5/2 heisst es die Jalousie ist zu 82% ausgefahren und die Lamelle (GA 2/6/2) stehen bei 50,2% .

        Wenn ich aber jetzt in meine Visu schaue (Siehe Bild OpenHABVisu) übersetzt mir das openHAB in 100% für die Jalousie und 50% für die Lamelle.

        Meine Item sieht so aus:
        Code:
          Rollershutter Jalousie_EG_Kueche "EG Kueche [%d %%]" (EG_Kueche) { knx="2/1/2+2/5/2, 2/2/2, 2/2/2" } 
          Rollershutter Jalousie_EG_Kueche_Lamelle "EG Kueche Lamelle [%d %%]" (EG_Kueche) { knx="2/2/2, 2/2/2, 2/2/2+2/6/2" }
        Sprich bei der Lamelle scheint es zu funktionieren , bei der Jalousie nicht.

        Wenn ich das OpenHab Debug Log anschaue:
        11:33:23.259 INFO tuwien.auto.calimero[:43] - [KNXnet/IP receiver] link 192.168.1.34:3671: indication from 1.1.10
        11:33:23.264 INFO runtime.busevents[:26] - Jalousie_EG_Kueche state updated to UP
        11:33:23.286 INFO tuwien.auto.calimero[:43] - [KNXnet/IP receiver] link 192.168.1.34:3671: indication from 1.1.10
        11:33:23.291 INFO runtime.busevents[:26] - Jalousie_EG_Kueche_Lamelle state updated to 100

        Das würde erklären warum bei der Jalousie 100% steht da OpenHab den Wert 82% in ein "Up" (100%) umwandelt ???

        Also 2 Fragen :-).
        - Wie verarbeitet OpenHab die [%d %%]. Ist es so das "einfach" als das es pro Zeile eine z.B. KNX GA rückmelde adresse gibt. ?
        - Wie kann ich könnte ich die 82% Jalousie Rückmeldung darstellen, wenn OpenHab mir da ein "UP" interpretiert und daraus 100% macht :-(

        Danke
        bkumio
        Angehängte Dateien

        Kommentar


          #5
          Hi,

          sorry, aber was du konfiguriert hast ist Unfug. Du verwendest ja fast überall dieselbe GA (2/2/2) was soll das bringen?

          Die Syntax ist wie folgt:
          Code:
          /* Rollershutters  Up/Down, Stop/Move, Position */ 
          Rollershutter Shutter_GF_Living "Shutter" (GF_Living, Shutters) { knx="4/2/10, 4/2/11, 4/2/12" }
          Mach dir erst einmal klar, welche GA's hinter diesen Funktionen stecken:

          Zitat von bkumio
          - Fahren lang
          - Verstellen kurz
          - Jalousie Position
          - Lamelle Position
          - Jalousie Rückmeldung
          - Lamelle Rückmeldung
          Am besten du schreibst sie mal dahinter. Das müssen alles verschiedene GA's sein.

          Ich könnte mir vorstellen, dass das bei dir so aussehen muss (vorausgesetzt "Up/Down"=2/1/2, "Stop/Move"=2/2/2, "Position"=2/x/x bzw. 2/y/y und "Rückmeldung"=2/5/2 bzw. 2/6/2:
          Code:
          Rollershutter Jalousie_EG_Kueche         "EG Kueche [%d %%]"         (EG_Kueche) { [URL="http://redaktion.knx-user-forum.de/lexikon/knx/"]knx[/URL]="2/1/2, 2/2/2, 2/x/x+2/5/2" }
          Rollershutter Jalousie_EG_Kueche_Lamelle "EG Kueche Lamelle [%d %%]" (EG_Kueche) { [URL="http://redaktion.knx-user-forum.de/lexikon/knx/"]knx[/URL]="2/1/2, 2/2/2, 2/y/y+2/6/2" }
          Gruß,
          thoern

          Kommentar


            #6
            Hi thoern,

            also heute morgen (nach einem Kaffee) :-) . Ist ja fast privater Support hier. Vielen lieben Dank nochmals!

            Also laut Eli Doku :
            - Fahren lang 2/1/2 (Datentyp = 1 Bit)
            - Verstellen kurz 2/2/2 (Datentyp = 1 Bit)
            - Jalousie Position (2/3/2 (Datentyp = 1 Byte)
            - Lamelle Position 2/4/2 (Datentyp = 1 Byte)
            - Jalousie Rückmeldung 2/5/2 (Datentyp = 1 Byte)
            - Lamelle Rückmeldung 2/6/2 (Datentyp = 1 Byte)

            Resultat in der Visu (siehe Bild im Anhang)

            Neuer Code Jalousie :
            Code:
              Rollershutter Jalousie_EG_Kueche_thoern         "EG Kueche thoern [%d %%]"         (EG_Kueche) { knx="2/1/2, 2/2/2, 2/3/2+2/5/2" }
            Wenn ich nun auf dem Jalousie kurz "hoch" drücke fährst sie hoch bis ich auf den mittleren "Stop" drücke. Wenn ich "lang" drücke fährt sie hoch/runter bis ich loslasse. Gut.
            Aber wie funktioniert den das mit der "Position" direkt anfahren ? Ich hab ja nur die 3 knöpfe runter/stop/hoch . Auch die Rückmeldung funktioniert nicht. Auf dem Bus sehe ich das ein "2/5/2 : 83% gesendet wird, aber das kommt in der Visu nicht an. Muss ich auch den Datentyp evtl. noch angeben da der ja 1 Byte?

            Nun zur Lamellensteuerung. Wenn ich dich richtig verstanden habe

            Neuer Code Lamelle:
            Code:
              Rollershutter Jalousie_EG_Kueche_Lamelle_thoern "EG Kueche Lamelle thoern [%d %%]" (EG_Kueche) { knx="2/1/2, 2/2/2, 2/4/2+2/6/2" }
            Ich kann mit dem Code allerdings die Lamellen nicht verstellen. Die Jalousie verhält sich genau gleich wie oben. E.g. fährt nur hoch/runter lang/kurz.

            Wenn ich allerdings { knx="2/2/2, 2/2/2, 2/2/2+2/6/2" } angebe, sprich auf dem ersten hoch/runter die 2/2/2 für die Lamelle angebe dann tun zumindest die Lamellen. Wahrscheinlich brauche die die mittleren 2/2/2 nicht, aber beim Letzen Parameter hätte ich ja gerne die Position zurück geschickt bekommen und darum habe ich halt beim mittleren auch nochmal die 2/2/2 angegeben.

            Du schreibst das ist Unfug :-) und ich würde es natürlich auch gerne "richtig" machen. Hast du mir der Information noch ne Idee ?

            Die Frage die sich für mich auch noch stellt ist eh der 3te KNX wert "Position" da ich ja in der Visu keine Möglichkeit habe Positionen anzugeben. Oder müssen wir hier über die Sitemap mit einer mapping table wie z.B. "runter,stop,hoch,oben,25%,50%,75%,unten" gehen ?

            Hätte nicht gedacht, das Jalousien sooo kompliziert sein können *g*

            Vielen Dank für deine Hilfe nochmals. Very much apprechiated. Mit all den Information sollte am Ende ein Wiki beitrag „Jalousie mit KNX“ von mir rauspringen.

            Gruss
            bkumio
            Angehängte Dateien

            Kommentar


              #7
              Hi,

              sorry, das mit dem "Unfug" war nicht so passend.

              Ich schau mir das bei mir nochmals genauer an. Ich glaube, im Classic-UI funktioniert das nicht richtig. Aber ich verwende fast ausschließlich HABDroid und dort funktioniert das super. Mit dem Slider lässt sich dort auch die Lamelle quasi per Scrollbar stufenlos verstellen.
              Ich hänge dann mal einen Screenshot rein...

              Und ja, Jalousieunterstützung ist in Openhab nicht richtig implementiert. Deshalb lässt sich das quasi nur über Workarounds lösen.

              Gruß,
              thoern

              Kommentar


                #8
                Hi Thoern, alle,

                Also Urlaub vorbei, Kinder im Bett und dann kann man sich ja wieder mal an OpenHAB machen :-)

                Ich habe immer noch das "Rückmeldungs problem". Auf den KNX Bus kommen die Prozent Angaben sauber rüber. Aber in der Visu (GreenT) kommt nix an.

                Nun habe ich aber spasseshalber ein zusätzliches "number" item nur mit der Rückmelde GA der Jalousie angelegt und siehe da , dort kommen die Prozentwerte an und werden auch aktualisiert.

                schaut euch mal das Bild an.

                Anbei auch noch der Item Code:
                Code:
                 Rollershutter Jalousie_EG_Wohnzimmmer		"Bodenfenster [%d %%]"		(EG_Wohnzimmer)	{ knx="2/1/6+5.001:2/5/6, 2/2/6, 2/2/6" }
                  Rollershutter Jalousie_EG_Wohnzimmmer_Lamelle	"Bodenfenster Lamelle [%d %%]" 	(EG_Wohnzimmer)	{ knx="2/2/6+5.001:2/6/6, 2/2/6, 2/2/6" }
                  
                  Number Jalousie_EG_WohnzimmmerRM		"Bodenfenster [%d %%]" 		(EG_Wohnzimmer)	{ knx="<5.001:2/5/6" }
                  Number Jalousie_EG_Wohnzimmmer_LamelleRM	"Bodenfenster Lamelle [%d %%]" 	(EG_Wohnzimmer)	{ knx="<5.001:2/6/6" }
                Kann ich eigentlich den Label Text eines Item via Code/Rule ändern? Falls das geht könnte ich ja mit einer rule dem rollershutter so den Update "erzwingen"

                Nur so ne Idee (PseudoCode) :
                If Item Jalousie_EG_WohnzimmmerRM received update then Jalousie_EG_Wohnzimmmer.label == "Jalousie " +Jalousie_EG_WohnzimmmerRM.value

                Freue mich auf eure Antworten
                Bkumio
                Angehängte Dateien

                Kommentar


                  #9
                  Hi :-)


                  Zitat von bkumio Beitrag anzeigen
                  Code:
                   Rollershutter Jalousie_EG_Wohnzimmmer        "Bodenfenster [%d %%]"        (EG_Wohnzimmer)    { knx="2/1/6+5.001:2/5/6, 2/2/6, 2/2/6" }
                    Rollershutter Jalousie_EG_Wohnzimmmer_Lamelle    "Bodenfenster Lamelle [%d %%]"     (EG_Wohnzimmer)    { knx="2/2/6+5.001:2/6/6, 2/2/6, 2/2/6" }
                    
                    Number Jalousie_EG_WohnzimmmerRM        "Bodenfenster [%d %%]"         (EG_Wohnzimmer)    { knx="<5.001:2/5/6" }
                    Number Jalousie_EG_Wohnzimmmer_LamelleRM    "Bodenfenster Lamelle [%d %%]"     (EG_Wohnzimmer)    { knx="<5.001:2/6/6" }
                  Du hast das Item falsch definiert. laut Wiki ist die erste Adresse Up/Down, die zweite Adresse Stop/Move und die dritte Adresse die Position, also sollten Deine Items so aussehen:
                  Code:
                   Rollershutter Jalousie_EG_Wohnzimmmer        "Bodenfenster [%d  %%]"        (EG_Wohnzimmer)    { knx="2/1/6, 2/2/6, 5.001:2/5/6" }
                    Rollershutter Jalousie_EG_Wohnzimmmer_Lamelle    "Bodenfenster Lamelle  [%d %%]"     (EG_Wohnzimmer)    { knx="2/2/6, 2/2/6, 5.001:2/6/6"  }
                  Hab grad noch https://knx-user-forum.de/414822-post6.html gelesen darum noch ergänzend...

                  Code:
                   Rollershutter Jalousie_EG_Wohnzimmmer        "Bodenfenster [%d   %%]"        (EG_Wohnzimmer)    { knx="2/1/6, 2/2/6, 2/3/6+2/5/6" }
                    Rollershutter Jalousie_EG_Wohnzimmmer_Lamelle    "Bodenfenster Lamelle   [%d %%]"     (EG_Wohnzimmer)    { knx="2/2/6, 2/2/6, 2/4/6+2/6/6"   }
                  Absolut-Positionen kannst Du z.B. aus einer Rule heraus ansteuern, z.B. mit Jalousie_EG_Wohnzimmmer.sendCommand(60) sollte die Jalousie dann auf 60% fahren. Wenn Du in der sitemap ein Selction Item verwendest, sollte das auch funktionieren (ich kann es aber nicht ausprobieren, meine Aktoren untestützen leider keine Positionsfahrten, außer über Szenen, und dann fahren sie immer zuerst in die obere Endlage :-( )

                  Kommentar


                    #10
                    Hi udo1toni

                    Danke für die Antwort...und zum Haare raufen! :-) . Also das Fahren der Jalousien ist/war ja eh kein Problem. Ich habe es aber trotzdem mal mit den KNX GAs die du vorgeschlagen hast probiert.

                    Also interessanterweise funktioniert das mit der Rückmeldung nun beim Hoch/runter lang fahren . Aber bei der Lamellenverstellung bekomme ich nun immer nur entweder 0% oder 100% angezeigt. Allerdings stehen bei meinen "Kontroll number items“ die Richtigen Prozentwerte . Siehe Bild.

                    Interpretiere ich es richtig im Wiki (UpDown, StopMove, Percent), dass ich also an dritter Position immer die Rückmelde GA eintragen sollte? Aber geschieht da noch ne Umrechnung? oder warum könnte bei den Lamellen da nur 0% bzw. 100% stehen , bzw. warum funktioniert es bei dem Lang Fahren?

                    Fragen über fragen

                    Merci für eine Antwort

                    Gruss
                    Bkumio

                    (änderung: Bild hinzugefügt)
                    Angehängte Dateien

                    Kommentar


                      #11
                      Zitat von bkumio Beitrag anzeigen
                      Interpretiere ich es richtig im Wiki (UpDown, StopMove, Percent), dass ich also an dritter Position immer die Rückmelde GA eintragen sollte? Aber geschieht da noch ne Umrechnung? oder warum könnte bei den Lamellen da nur 0% bzw. 100% stehen , bzw. warum funktioniert es bei dem Lang Fahren?
                      Ja, wenn Du den DPT dazu schreibst, kannst Du die GA auch an andere Stelle schreiben, aber die Standard-Reihenfolge ist UpDown,StopMove,Percent. Eventuell gibt es da bei den Lamellen ein Problem, weil Du für UpDown und StopMove die gleiche GA verwendest. evntuell müsstest Du bei der Lamelle die zweite GA weglassen und für die Percent stattdessen den DPT mit angeben, also
                      Code:
                      Rollershutter Jalousie_EG_Wohnzimmmer_Lamelle    "Bodenfenster Lamelle   [%d %%]"     (EG_Wohnzimmer)    { [URL="http://redaktion.knx-user-forum.de/lexikon/knx/"]knx[/URL]="2/2/6,5.001:2/4/6+5.001:2/6/6"   }
                      theoretisch... :-) wie verhält es sich denn, wenn Du einen anderen Client verwendest (also einen mit Slider, der dann die Lameele direkt verstellt)?

                      Kommentar

                      Lädt...
                      X