Ankündigung

Einklappen
Keine Ankündigung bisher.

Rollosteuerung in CometVisu

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

    #16
    Zitat von ctr Beitrag anzeigen
    Ich benutze ein Gruppe die wiederum aus mehreren "Info" und "Trigger"-Elementen besteht.
    Das sieht dann in etwa so aus.

    Hello,

    mir gefällt die Umsetzung der Gruppe für die Rollo-Steuerung sehr gut - leider senden meine Rollo-Aktoren keine Rückmeldung ( Werte ) bei auf und ab.
    Lässt sich die fehlende Rückmeldung irgendwie kompensieren?
    Evtl. mit Plugin welches das Delta der auf-und abfahrten erfasst und in ein eintsprechenden Wert-GA Rückmeldet?
    Hat jemand soetwas in Umsetzung und kann mich hier unterstützen?

    Kommentar


      #17
      Ja das sollte sich über ein Plugin lösen lassen.

      Du bräuchtest eine neue GA mit der alle Endgeräte mit dem Plugin sprechen und dann die bisherige GA ****nur*** vom Plugin zum Jalousieaktor nutzen. Dann könnte das Plugin sich den Status "merken" und auch auf Anfragen antworten.

      Widerspricht allerdings etwas der dezentralen Idee des KNX (Dein WG ist dann ein Single-Point-of-Failure, keine Wiregate -> keine Jalousiesteuerung), aber das ist sicher verschmerzbar.

      Kommentar


        #18
        Hi,
        kann mir mal jemand ein paar screenshots vom EDITOR teilen wie man einen Rollo mit slider steuert?
        Ich checks nicht welche GAs die CV braucht und was ich im Menü einstellen soll bzw was ich vergessen habe.

        Hätte gern:
        slider in %
        und Anzeige aktuelle Rollo Position

        sorry für die dumme Fragerei! ist meine erste CV...

        Danke u Gruß
        Matthias

        2015-08-05 20_42_55-CometVisu - configuration editor.jpg

        Kommentar


          #19
          Oft ist es am einfachsten ist es bei bestehenden Configs zu spicken. So gibt es z.B. in der Metal-Demo-Config unter dem Reiter "KNX" einen "Heizung" Slider der genau das macht.
          Für einen Rollo kann man den Slider wunderbar brauchen - habe ich bei allen meinen Rollos so. Einfach den Absolutwert dafür verwenden.
          TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

          Kommentar


            #20
            Hier unsere Variante (noch aus der "alten" Visu):

            XML:
            <pagename="Rollosteuerung">
            <text>Kueche</text>
            <break/>
            <slidemax="100" min="0" step="5">
            <label>Fenster</label>
            <addressvariant="" readonly="false" transform="DPT:5.001">3/3/130</address>
            <addressvariant="" readonly="true" transform="DPT:5.001">3/4/130</address>
            </slide>
            <line/>
            <multitriggerbutton2value="1" button2label="Zu" button1value="0" button1label="Auf">
            <label> </label>
            <addressvariant="" readonly="true" transform="DPT:5.001">3/4/130</address>
            <addressvariant="" readonly="false" transform="DPT:1.001">3/1/130</address>
            </multitrigger>
            <multitriggerbutton1value="1" button1label="Stop">
            <addressvariant="" readonly="false" transform="DPT:1.001">3/2/130</address>
            </multitrigger>
            <break/>
            <text>Speise</text>
            <break/>
            <slidemax="100" min="0" step="5">
            <label>Fenster</label>
            <addressvariant="" readonly="false" transform="DPT:5.001">3/3/131</address>
            <addressvariant="" readonly="true" transform="DPT:5.001">3/4/131</address>
            </slide>
            <line/>
            <multitriggerbutton2value="1" button2label="Zu" button1value="0" button1label="Auf">
            <label> </label>
            <addressvariant="" readonly="true" transform="DPT:5.001">3/4/131</address>
            <addressvariant="" readonly="false" transform="DPT:1.001">3/1/131</address>
            </multitrigger>
            <multitriggerbutton1value="1" button1label="Stop">
            <addressvariant="" readonly="false" transform="DPT:1.001">3/2/131</address>
            </multitrigger>
            <break/>

            Ansicht:


            Rollosteuerung.PNG

            Slider im blauen Bereich bedeutet "Rollo offen".
            Prozentanzeige sollte kein Problem darstellen.

            Kommentar


              #21
              Zitat von LexionTT Beitrag anzeigen
              Hier unsere Variante (noch aus der "alten" Visu):
              An der Stelle die Frage, ob das auch unter Verwendung von openHAB als Backend machbar ist!? Wie erfolgt dort das Mapping? Auch nur durch einfache Angabe der openHAB-Items?
              Kind regards,
              Yves

              Kommentar


                #22
                Hier wäre ein Beispiel mit openHAB als Backend:

                Code:
                <group nowidget="true">
                  <layout colspan="6" />
                   <text>
                     <layout colspan="3" />
                       <label><icon name="fts_shutter" />Fenster</label>
                   </text>
                   <trigger value="UP" styling="GreyGreen" mapping="Shutter">
                        <layout colspan="1" />
                        <address transform="OH:rollershutter" variant="">Shutter_FF_Living_Window</address>
                   </trigger>
                   <trigger value="STOP" styling="GreyGreen" mapping="Shutter">
                         <layout colspan="1" />
                         <address transform="OH:rollershutter" variant="">Shutter_FF_Living_Window</address>
                    </trigger>
                    <trigger value="DOWN" styling="GreyGreen" mapping="Shutter">
                         <layout colspan="1" />
                         <address transform="OH:rollershutter" variant="">Shutter_FF_Living_Window</address>
                    </trigger>
                    <slide min="0" max="100" format="%d%%">
                         <label>
                            <icon name="fts_shutter" />Position
                        </label>
                        <address transform="OH:dimmer" variant="">Shutter_Pos_FF_Living_Window</address>
                    </slide>
                </group>
                Im Grunde braucht man das Rollershutter Item an das man UP/DOWN/STOP senden kann und ein Item an das man die Postition senden kann (vom Typ Dimmer)
                Gruß
                Tobias

                Kommentar


                  #23
                  Hey LexxionTT,

                  Kannst du mir verraten was deine GA´s sind also zb die:
                  3/3/130 und
                  3/4/130

                  da du die mit DPT5 abfrägst. Iwie fehlt mir da was denn ich hab bei mir nur kurz(stop) lang und Status. und du hast in Summe 4.

                  Kommentar


                    #24
                    ah habs mit etwas basteln nun doch hinbekommen. mein code ist derzeit:

                    Code:
                    <slide min="0" max="100" step="5" Format="%d%%">
                    <Label> Buero</Label>
                    <address transform="DPT:5.001" mode="readwrite">4/2/1</address>
                    <address transform="DPT:5.001" mode="readwrite">0/3/0</address>
                    </slide>
                    4/2/1 ist der Status
                    und 0/3/0 ist der Taster Langdruck
                    Zuletzt geändert von jore; 11.08.2015, 20:12.

                    Kommentar


                      #25
                      Zitat von peuter Beitrag anzeigen
                      Im Grunde braucht man das Rollershutter Item an das man UP/DOWN/STOP senden kann und ein Item an das man die Postition senden kann (vom Typ Dimmer)
                      Kann man auf das Dimmer Item auch verzichten? Wenn ich in deinem Beispiel den Slider auch mit dem Shutter_FF_Living_Window Item versorge, geht es genau so. Das Item muss allerdings als OH:dimmer markiert sein (obwohl es in OH natürlich ein rollershutter ist). Hat das Nebenwirkungen wenn ich das so mache?

                      Der Königsweg (= sauberste Weg) wäre natürlich wenn man auch den Slider als "OH:rollershutter" markieren könnte. Das wäre jedenfalls nicht so verwirrend für Neueinsteiger. Vermutlich braucht es diesen Workaround um in OH zu unterscheiden ob die Position oder UP/DOWN/STOP angesprochen werden soll? Kann man das evtl über eine Erkennung des Wertes lösen? Also wenn Wert == {UP/DOWN/STOP} ... else setzePos(x)?

                      Danke,
                      Florian

                      Kommentar


                        #26
                        Zitat von jolt Beitrag anzeigen
                        Kann man auf das Dimmer Item auch verzichten? Wenn ich in deinem Beispiel den Slider auch mit dem Shutter_FF_Living_Window Item versorge, geht es genau so. Das Item muss allerdings als OH:dimmer markiert sein (obwohl es in OH natürlich ein rollershutter ist). Hat das Nebenwirkungen wenn ich das so mache?
                        Wenns funktioniert ist alles gut, ich habe nur mein Setup beschreiben, das eventuell aus historischen Gründen ein zusätzliches Item für die Positionierung benutzt (kann mich zwar nicht mehr genau daran erinnern aber irgendwann hatte das mal seine Berechtigung bei mir als meine Jalousieaktoren das noch nicht konnten). Aber es geht auch ohne, wie Du ja selbst festgestellt hast.

                        Zitat von jolt Beitrag anzeigen
                        Der Königsweg (= sauberste Weg) wäre natürlich wenn man auch den Slider als "OH:rollershutter" markieren könnte. Das wäre jedenfalls nicht so verwirrend für Neueinsteiger. Vermutlich braucht es diesen Workaround um in OH zu unterscheiden ob die Position oder UP/DOWN/STOP angesprochen werden soll? Kann man das evtl über eine Erkennung des Wertes lösen? Also wenn Wert == {UP/DOWN/STOP} ... else setzePos(x)?
                        Das geht leider nicht so einfach, denn rein an der Erkennung des Wertes kann mal das leider nicht festmachen, wenn man z.B. einen Switch zur Steuerung benutzt, dann sendet der 0 für UP und 1 für DOWN und ein Slide kann ebenfalls eine 1 senden (was dann 1% runterfahren bedeutet. Diese beiden Fälle kann man nicht unterscheiden, da die Funktion, die das in der CometVisu umrechnet nur den Wert kennt und nicht den "Sender" des Wertes). Daher nimmt man für alles was normale Zahlen senden soll einen Dimmer (der Name ist dabei dann tatsächlich ein wenig irreführend, ist aber bei openHAB nicht anders, da habe ich z.B. Lautstärkeregler die auch als Dimmer-Item angelegt sind). Ich hoffe ich habs einigermaßen verständlich erklärt!

                        Gruß
                        Tobias

                        Kommentar


                          #27
                          Eigentlich wollte ich eben mein Erfolg hier präsentieren. Jetzt ist doch wieder ne Frage draus geworden.

                          Fangen wir erstmal mit dem Erfolg an. Ich habe mich von hier insperieren lassen und das Ergebniss sieht nun wie folgt aus auf dem Smartphone:

                          2.png

                          Den dazugehörigen Code möchte ich euch auch nicht vorenthalten:

                          Mapping:
                          Code:
                          <mapping name="Rolladen Position">
                                  <entry value="0">
                                    <icon name="fts_window_2w"/>
                                  </entry>
                                  <entry range_min="0.01" range_max="28.35">
                                    <icon name="fts_shutter_10"/>
                                  </entry>
                                  <entry range_min="28.36" range_max="56.68">
                                    <icon name="fts_shutter_20"/>
                                  </entry>
                                  <entry range_min="56.69" range_max="85.01">
                                    <icon name="fts_shutter_30"/>
                                  </entry>
                                  <entry range_min="85.02" range_max="113.34">
                                    <icon name="fts_shutter_40"/>
                                  </entry>
                                  <entry range_min="113.35" range_max="141.67">
                                    <icon name="fts_shutter_50"/>
                                  </entry>
                                  <entry range_min="141.68" range_max="170">
                                    <icon name="fts_shutter_60"/>
                                  </entry>
                                  <entry range_min="170.01" range_max="198.33">
                                    <icon name="fts_shutter_70"/>
                                  </entry>
                                  <entry range_min="198.34" range_max="225.66">
                                    <icon name="fts_shutter_80"/>
                                  </entry>
                                  <entry range_min="226.67" range_max="254.99">
                                    <icon name="fts_shutter_90"/>
                                  </entry>
                                  <entry value="255">
                                    <icon name="fts_shutter_100"/>
                                  </entry>
                                </mapping>
                                <mapping name="Rolladen Zu/Auf">
                                  <entry value="0">
                                    <icon name="control_arrow_up"/>
                                  </entry>
                                  <entry value="100">
                                    <icon name="control_arrow_down"/>
                                  </entry>
                                </mapping>
                                <mapping name="Rolladen Stop">
                                  <entry value="0">
                                    <icon name="message_stop"/>
                                  </entry>
                                </mapping>
                          Die Visu Page:

                          Code:
                              <page name="Rolläden" visible="false" align="center">
                                <group name="Schlafzimmer Ost">
                                  <group nowidget="true">
                                      <info mapping="Rolladen Position">
                                        <layout colspan="1"/>
                                        <address transform="DPT:1.001" mode="read">5/0/2</address>
                                      </info>
                                      <trigger value="0" styling="GreyGrey" mapping="Rolladen Zu/Auf">
                                        <layout colspan="1"/>
                                        <address transform="DPT:5.001" mode="write">5/0/2</address>
                                      </trigger>
                                      <trigger value="0" styling="GreyGrey" mapping="Rolladen Stop">
                                        <layout colspan="1"/>
                                        <address transform="DPT:1.001" mode="write">5/0/1</address>
                                      </trigger>
                                      <trigger value="100" styling="GreyGrey" mapping="Rolladen Zu/Auf">
                                        <layout colspan="1"/>
                                        <address transform="DPT:5.001" mode="write">5/0/2</address>
                                      </trigger>
                                   </group>
                                   <group nowidget="true">
                                     <slide min="0" max="100" step="10" format="%d%%">
                                      <layout/>
                                      <address transform="DPT:5.001" mode="readwrite">5/0/2</address>
                                    </slide>
                                  </group>
                                </group>
                                <group name="Schlafzimmer Süd">
                                  <group nowidget="true">
                                      <info mapping="Rolladen Position">
                                        <layout colspan="1"/>
                                        <address transform="DPT:1.001" mode="read">5/0/7</address>
                                      </info>
                                      <trigger value="0" styling="GreyGrey" mapping="Rolladen Zu/Auf">
                                        <layout colspan="1"/>
                                        <address transform="DPT:5.001" mode="write">5/0/7</address>
                                      </trigger>
                                      <trigger value="0" styling="GreyGrey" mapping="Rolladen Stop">
                                        <layout colspan="1"/>
                                        <address transform="DPT:1.001" mode="write">5/0/6</address>
                                      </trigger>
                                      <trigger value="100" styling="GreyGrey" mapping="Rolladen Zu/Auf">
                                        <layout colspan="1"/>
                                        <address transform="DPT:5.001" mode="write">5/0/7</address>
                                      </trigger>
                                  </group>
                                  <group nowidget="true">
                                      <slide min="0" max="100" step="10" format="%d%%">
                                         <layout/>
                                         <address transform="DPT:5.001" mode="readwrite">5/0/7</address>
                                      </slide>
                                  </group>
                                </group>
                              </page>
                          Nun doch zu meiner Frage. Auf dem PC sieht es leider nicht so schick aus. Siehe hier:
                          1.png

                          Ich würde gerne die Icon aus der ersten Reihe (Statu, Hoch, Stop, Runter) über die ganze Zeile verteilen und nicht so gestaucht. Es soll aber gleichzeitig auf dem Smartphone so schick sein wie jetzt. Ist das überhaupt möglich?

                          Danke euch
                          Zuletzt geändert von TomSib; 05.08.2017, 07:19.

                          Kommentar


                            #28
                            Das sollte mit den "colspan-m" und "colspan-s" Attributen im Layout möglich sein, siehe hier:
                            http://cometvisu.org/CometVisu/de/la...eren-attribute

                            D.h. vielleicht in etwa so:

                            Code:
                            <layout colspan="2" colspan-m="1" colspan-s="1"/>
                            Musst Du vermutlich ein wenig mit den Werten herumspielen um zu sehen welcher Wert auf Deinem Smartphone zum tragen kommt (zur Erklärung: colspan wird auf großen Bildschirmen genutzt, colspan-m auf "mittleren" und colspan-s auf kleinen. Je nachdem welche Breite Dein Smartphone hat dürfte das colspan-s sein ggf. aber auch colspan-m.
                            Gruß
                            Tobias

                            Kommentar


                              #29

                              Das beste Ergebniss habe ich bis jetzt hiermit erzielt. <layout colspan="2" colspan-m="0" colspan-s="0"/> Aber im Vollbild macht er jetzt, siehe rechts im Bild: 3.png


                              Das idealste wäre eigentlich, dem Group-Element zu sagen, sortiere alle immer alle Widget in einer Zeile und verteile sie innerhalb dieser sauber. Habe bis jetzt dazu aber nichts gefunden.

                              Kommentar


                                #30
                                Zitat von TomSib Beitrag anzeigen
                                Das idealste wäre eigentlich, dem Group-Element zu sagen, sortiere alle immer alle Widget in einer Zeile und verteile sie innerhalb dieser sauber. Habe bis jetzt dazu aber nichts gefunden.
                                Das gibt es auch nicht. Die Lösung dürfte aber recht einfach sein. Zur Erklärung: Die CometVisu nutzt ein 12-spaltiges Layout, Du hast da zwei gleich breite Gruppen nebeneinander, die demnach jeweils 6 Spalten belegen. Wenn Du nun 4 Widgets in einer dieser Gruppen haben möchtest, die die volle Breite belegen, muss jede 1.5 Spalten breit sein. =>

                                Code:
                                <layout colspan="1.5" colspan-m="0" colspan-s="0"/>
                                Eine colspan angabe von "0" sagt übrigens: "Nimm nur die Breite ein die der Inhalt des Widgets wirklich benötigt"
                                Gruß
                                Tobias

                                Kommentar

                                Lädt...
                                X