Ankündigung

Einklappen
Keine Ankündigung bisher.

OH4: Rollershutter Position Emulation Profile Service

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

    OH4: Rollershutter Position Emulation Profile Service

    Hallo zusammen,

    mit OH4 wurde der "Rollershutter Position Emulation Profile Service" eingeführt.
    Ich habe das AddOn installiert und das Profile "ROLLERSHUTTERPOSITION" dem entsprechendem Item hinzugefügt.
    Im nächsten Schritt hätte ich erwartet, dass ich die Parameter

    Code:
    { channel="<channelUID>"[profile="transform:ROLLERSHUTTERPOSITION", uptime=<uptime>, downtime=<downtime>, precision=<minimun percent movement>]}​
    über das UI pflegen kann. Daran scheitert es aber momentan. Ich finde keine Möglichkeit die Pflege der Parameter über das UI zu bewerkstelligen...
    Hat jemand einen Tipp für mich?

    Danke vorab.

    2023-08-14 14_26_25-openHAB.png

    #2
    Ohne das schon mal ausprobiert zu haben, tippe ich auf die Metadaten. Schau mal, ob es dort zusätzliche Optionen gibt, die Du ausfüllen kannst.

    Kommentar


      #3
      Danke für deine Antwort. Die Metadaten hatte ich mir schon angeschaut. Finde aber nichts Sinnstiftendes, dass ich verwenden könnte.
      Ich habe die Parameter jetzt testweise in den "Code" des Things reingepackt. Komme aber nicht so wirklich weiter.
      Muss zugeben, dass mir die generelle Funktion dieses AddOns noch nicht ganz klar ist....

      Kommentar


        #4
        Die generelle Funktion ist, dass man einen Antrieb hat, der lediglich die Kommandos UP/DOWN/STOP unterstützt (und ohne Rückmeldung der Position).
        Anhand der beiden Zeiten uptime und downtime kann man dann errechnen, auf welcher Position der Shutter angehalten wurde, bzw. man kann auch über die aktuelle Position und eine gegebene Sollposition anhand der beiden Zeiten bestimmen, wie lange der Motor per UP oder DOWN betrieben werden muss (also wann der STOP Befehl gesendet werden muss, damit der Rollladen dann an der gewünschten Position steht).

        Natürlich müssen mindestens die beiden Zeiten uptime und downtime hinterlegt werden, sonst ist das Ganze sinnlos. Man sollte immer versuchen, diesen Teil der Steuerung in den Aktor zu verlegen (heutzutage unterstützt so gut wie jeder knx Rollladen/Jalousieaktor direktes Positionieren), die Lösung über openHAB ist hier bestenfalls eine Notlösung.

        Hier die Variante als DSL Rule: https://openhabforum.de/viewtopic.php?p=56327#p56327 In dem Fall natürlich mit einem Proxy Item gelöst.

        Kommentar


          #5
          Danke für die Erklärung.
          Ich hatte mich etwas unklar ausgedrückt, sorry. Wenn ich die Parameter uptime und downtime gepflegt hätte (momentan immer noch unklar "wo, wie, was"), sende ich dann nur noch einen numerischen Wert (z.B. 50 für 50%) an das entsprechende item und das AddOn erledigt den Rest und berechnet die "Fahrzeit" für den Rollladen und sendet UP/DOWN/STOP?
          Meine KNX-Aktoren sind 15 Jahre alt und unterstützen das Positionieren leider nicht.
          Danke auch für Deine DSL Rule. Werde ich mir bei Gelegenheit genauer anschauen.

          VG
          M

          Kommentar


            #6
            Genau so ist es gedacht.
            Das Minimum wird aber sein, dass Du zunächst eine Endlage anfahren musst (per UP oder DOWN-Befehl, das Item "erkennt" dann selbst, wenn es am Ende angekommen ist und zeigt als Status dann eben 0 % oder 100 % an. Und wenn Du von da an den Rollladen verfährst, sollte das Item bei manueller Fahrt nach dem STOP-Befehl die errechnete Position anzeigen sowie bei einer Positionsfahrt (z.B. 50 %) zum einen dir korrekte Richtung wählen und zum anderen den Motor automatisch an der gewünschten Position stoppen.

            Natürlich gelten die gleichen Einschränkungen wie bei Aktoren mit direkter Positionierung,
            z.B. dass es ohne regelmäßige Referenzfahrten schnell zu Abweichungen kommt (deshalb am besten einmal täglich auf eine der Endlagen fahren, z.B. morgens einfach nur UP, statt 0 %)
            Die Positionierung ist maximal so genau, wie die gemessene Fahrtzeit.
            Aufwärts dauert länger als Abwärts, weil der Motor in der einen Richtung mit, in der anderen Richtung gegen die Schwerkraft arbeitet.
            Die Rollladengeschwindigkeit ist nicht linear, weil der Rollladen auf/abgewickelt wird, die konstante Winkelgeschwindigkeit resultiert in unterschiedlicher Rollladengeschwindigkeit, weil sich der Durchmesser der Rolle ändert.
            Der Rollladen ist erst zu 100 % geschlossen, wenn der Rollladen vollständig geschlossen ist (alle Lamellen sitzen auf), d.h. die Position "alle Lamellen hängen, die unterste Lamelle berührt das Fensterbrett" entspricht dann evtl. 78 %, somit entsprechen 50 % nicht "die Hälfte des Fensters ist bedeckt".

            Kommentar


              #7
              Danke und verstanden 👍
              Bleibt offen, wo und wie ich uptime/downtime pflege.

              Kommentar


                #8
                Ja, in der Doku ist es nur für die Textdefinition definiert, muss aber auch über die UI gehen.

                Kommentar


                  #9
                  Zitat von udo1toni Beitrag anzeigen
                  muss aber auch über die UI gehen.
                  Da bin ich mir sicher. Komme bis dato aber leider nicht dahinter.....Ich hab's über den Reiter Code des Things probiert, ebenso wie über den Code des Items.
                  Auch über die Metadaten....bis jetzt ist der berühmte Groschen noch nicht gefallen.

                  Kommentar


                    #10
                    Also, ich habe mir das Ganze mal angeschaut, und muss leider feststellen: Du kannst das derzeit vermutlich nicht über die UI setzen.
                    Möglichkeit 1: Du legst das Item über eine Textdatei an und setzt das Profile direkt in der Itemdefinition.

                    Möglichkeit 2: Du setzt die fehlenden Parameter über die REST API (links - PUT - Itemname und ChannelUID sowie im Request der korrekt gesetzt Body im Format
                    Code:
                    {
                        "itemName": "DerItemName",
                        "channelUID": "die:channel:UID",
                        "configuration": {
                            "profile": "transform:ROLLERSHUTTERPOSITION",
                            "downtime": 17,
                            "uptime": 15
                        }
                    }​
                    Im Request müssen channelUID und itemName als ebenfalls angegeben werden. Die Reihenfolge der einzelnen Parameter sollte hingegen keine Rolle spielen (also wie profile, downtime und uptime in welcher Reihenfolge angegeben sind.

                    Vermutlich ist die Definition über Text weitaus einfacher, zumal man dann eine Stelle hat, an der man die Parameter vernünftig setzen kann.

                    Kommentar


                      #11
                      Okidoki, hab ich mir schon fast gedacht. Vielen Dank für Deine "Forschungsarbeit" und Hilfe.
                      Ich werde die Variante "Textdefinition" angehen und berichten.

                      VG
                      M

                      Kommentar


                        #12
                        Das wars. Mit der der textuellen Definition funktioniert das Ganze.
                        danke nochmal für Deine Unterstützung

                        Kommentar


                          #13
                          Gerne Allerdings sollte das Ganze definitiv auch über die UI funktionieren, sonst ist das ja eher ein Rückschritt (also aus Konfigurationssicht...)

                          Kommentar


                            #14
                            Guten Morgen.
                            Kurzes Update:
                            Nachdem ich nun alle ehemals über die UI angelegten items per Textdefinition angelegt und mit den channels verknüpft hatte, funktionierte die "Positions-Emulation" und ich war "euphorisch". Leider musste ich nun feststellen, dass OH nicht mehr erkennt, wenn die Rollos per physischer KNX-Bedienelemente bedient werden. Im OH log viewer (frontail) ist nichts zu sehen...

                            udo1toni Hast Du auch dafür einen Tipp? :-)

                            Kommentar


                              #15
                              Wie hast Du die Channel definiert? Wenn die Shutter keine eigene Positionsmeldung haben, was nutzt Du als Rückmeldung? Gewöhnlich gibt es nur zwei DPT1.xxx KO, UP/DOWN long und UP/DOWN short (welches gleichzeitig als STOP für UP/DOWN long dient)

                              Kommentar

                              Lädt...
                              X