Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Öffnungsgrad per Icon

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Öffnungsgrad per Icon

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky @aldoa1 last edited by liv-in-sky

      @aldoa1 das wird

      über ein binding gemacht

      hier ein beipiel - bei dir müßte eine simple formel rein

      {value:controll-own.0.AAATEST.testTollo; value=Math.floor(290-(value*1.4))}
      

      der rollo-%-datenpunkt ist ja zwischen 0 und 100

      die bildhöhe ist ja anders - also: x ist ein faktor - abhängig von der tats. bildhöhe

      {value:controll-own.0.AAATEST.testTollo; value=value* x }
      

      du mußt den rollo dp einsetzen - bei mit im bsp ist das ein test dp

      A 1 Reply Last reply Reply Quote 0
      • A
        aldoa1 @liv-in-sky last edited by

        @liv-in-sky

        danke für die erneute Hilfe.
        Leider verstehe ich es noch nicht.

        Das erste Binding kommt in ein eigenes Widget?
        Das zweite ist dann ein Icon-Widget und dort trage ich das Binding bei der Bildhöhe ein?

        Benötige ich noch ein Blockly Script wegen der Zeit?

        liv-in-sky 1 Reply Last reply Reply Quote 0
        • MichMein
          MichMein @aldoa1 last edited by

          @aldoa1 Hi, mit was werden die Rollos angesteuert?

          MichMein 1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @aldoa1 last edited by

            @aldoa1 du solltest einen datenpunkt haben, indem du siehst, wie der stand ist - kommt meist von einem adapter - zwischen 0 und 100%

            hast du keinen solchen datenpunkt - musst du dir ein script machen das zählt

            hast du einen adapter datenpunkt ?

            A 1 Reply Last reply Reply Quote 0
            • A
              aldoa1 @liv-in-sky last edited by

              @liv-in-sky
              ja den Adapter habe ich angelegt und deine Bindings angepasst. Wenn ich die Werte im Datenpunkt manuell ändere, sehe ich in einem html widget die Veränderung.

              Das hatte ich testweise bei html Widget eingetragen:
              {value:controll-own.0.AAATEST.testTollo; value=Math.floor(290-(value*1.4))}

              Das Blockly Script zum zählen machen ich jetzt noch.
              Der Adpater liefert das nicht.

              Nur wohin mit beiden bindings im Verbindung mit dem icon widget?

              liv-in-sky 1 Reply Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky @aldoa1 last edited by

                @aldoa1

                ich dachte eher an 2 img-widgets

                • eines für den hintergrund - z.b ein symbolisches fenster

                • das andere liegt über dem hintergrund-widget und beinhaltet das binding - als bild ein rollo oder eine frbl. fläche

                • es muss einen datenpunkt zum steuern geben

                das script kann das umrechnen übernehmen und somit muss das binding nur der datenpunkt in geschweiften klammern darstellen

                das script: getriggert durch hoch oder runterfahren - das musst du irgendwie organisieren, dass du dafür die richtigen trigger hast - bzw du mußt auch wissen, wo es gerade steht

                die berechnung im script hängt ja von der größe des bildes und der zeit ab - das musst du auch berechnen

                als beispiel zum zählen geht sowas (testTollo ist der binding datenpunkt):

                Image 3.png

                wahrscheinlich musst du auch etwas coden für den momentnen zustand der rollo - da brauchst du irgendeinen dp, sonst ist bei neustart des scriptes nicht klar, wo die rollo steht - normal macht das ein adapter - den mußt du virtualisieren

                A 1 Reply Last reply Reply Quote 0
                • A
                  aldoa1 @liv-in-sky last edited by

                  @liv-in-sky

                  ich habe das rauf und runter icon mit einem materialdesign progress widget hinbekommen. Das ist normalerweise waagrecht. Mit css rotate habe ich es auf senkrecht formatiert.

                  Gesteuert wird das Widget über einen Datenpunkt (Zahl von 0 bis 100). Bei einem weitereren Datenpunkt ist ist die Zeit (Sekunden) eingetragen.

                  Ein Blockly berechnet nun die Prozente der Öffnung:

                  <xml xmlns="https://developers.google.com/blockly/xml">
                    <variables>
                      <variable id="k~N~xWa~9z$*7T|}dHjw">Level</variable>
                      <variable id="7XjR$HyI.O8[}%8B3HUu">Sekunden</variable>
                      <variable id="@-bmg,5A/CNGDI!}zr@0">n</variable>
                      <variable type="interval" id="Intervall">Intervall</variable>
                      <variable type="interval" id="Intervall2">Intervall2</variable>
                    </variables>
                    <block type="on" id="ES=rZ(C%/.:hu6vqKqg6" x="-162" y="-1012">
                      <field name="OID">javascript.0.Testtrigger</field>
                      <field name="CONDITION">ne</field>
                      <field name="ACK_CONDITION"></field>
                      <statement name="STATEMENT">
                        <block type="variables_set" id="FO_YTiy6!3ZRNkMI$[i6">
                          <field name="VAR" id="k~N~xWa~9z$*7T|}dHjw">Level</field>
                          <value name="VALUE">
                            <block type="get_value" id="3[R;tQEPvMw])VT.U[k|">
                              <field name="ATTR">val</field>
                              <field name="OID">javascript.0.Garagentor-Level</field>
                            </block>
                          </value>
                          <next>
                            <block type="variables_set" id="Tp!!/-n:zAFip(T5cs;M">
                              <field name="VAR" id="7XjR$HyI.O8[}%8B3HUu">Sekunden</field>
                              <value name="VALUE">
                                <block type="get_value" id="k9p@[;3wKtCdg#zHp2,6">
                                  <field name="ATTR">val</field>
                                  <field name="OID">javascript.0.Garagentor-Oeffnungszeit</field>
                                </block>
                              </value>
                              <next>
                                <block type="variables_set" id="R^JIoo(j03dec!yHBCrE">
                                  <field name="VAR" id="@-bmg,5A/CNGDI!}zr@0">n</field>
                                  <value name="VALUE">
                                    <block type="variables_get" id="UYfDiYQz]V^P$o6!LAF^">
                                      <field name="VAR" id="7XjR$HyI.O8[}%8B3HUu">Sekunden</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="controls_if" id="tHfq|I*zrOX0a2)jmU@i">
                                      <value name="IF0">
                                        <block type="logic_compare" id="na2rA$LRcOQDDcZB6!zz">
                                          <field name="OP">EQ</field>
                                          <value name="A">
                                            <block type="variables_get" id="-EtIOjzp0shK%9(SIyqA">
                                              <field name="VAR" id="k~N~xWa~9z$*7T|}dHjw">Level</field>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="math_number" id="4_-qBYi=TQu-s;E0KU;t">
                                              <field name="NUM">100</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <statement name="DO0">
                                        <block type="timeouts_setinterval" id="(zZf1a!X6?,s/rDZ%P}W">
                                          <field name="NAME">Intervall</field>
                                          <field name="INTERVAL">1</field>
                                          <field name="UNIT">sec</field>
                                          <statement name="STATEMENT">
                                            <block type="controls_if" id="Atr6sN@3INF/%wnoM[6)">
                                              <mutation else="1"></mutation>
                                              <value name="IF0">
                                                <block type="logic_compare" id="J_)m~yZtST)AqK9^(xP8">
                                                  <field name="OP">GTE</field>
                                                  <value name="A">
                                                    <block type="variables_get" id="v`Y/6dZF9F$zVMiD)Mhh">
                                                      <field name="VAR" id="@-bmg,5A/CNGDI!}zr@0">n</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="math_number" id="]v|z^tH5?KgrY8#7rvmw">
                                                      <field name="NUM">0</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <statement name="DO0">
                                                <block type="variables_set" id="itWRzrQeza2P#uY2KQVW">
                                                  <field name="VAR" id="k~N~xWa~9z$*7T|}dHjw">Level</field>
                                                  <value name="VALUE">
                                                    <block type="math_arithmetic" id="nIT6(ShvZN=TE:Gkl;(z">
                                                      <field name="OP">MULTIPLY</field>
                                                      <value name="A">
                                                        <shadow type="math_number" id="LIDB?.!Zi{7n(vGip#|I">
                                                          <field name="NUM">1</field>
                                                        </shadow>
                                                        <block type="math_arithmetic" id="vko{/B4Gr^g(F:g*ghD8">
                                                          <field name="OP">DIVIDE</field>
                                                          <value name="A">
                                                            <shadow type="math_number" id="yS72~**=yT}``bhNlU3i">
                                                              <field name="NUM">100</field>
                                                            </shadow>
                                                          </value>
                                                          <value name="B">
                                                            <shadow type="math_number" id="7-Ic$.$.|:{FSL8?84B|">
                                                              <field name="NUM">1</field>
                                                            </shadow>
                                                            <block type="variables_get" id="vzM2GgTVqV@tDb.VU?Vf">
                                                              <field name="VAR" id="7XjR$HyI.O8[}%8B3HUu">Sekunden</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <value name="B">
                                                        <shadow type="math_number" id="ew+Z2(jGi!l#gXMnbj;c">
                                                          <field name="NUM">1</field>
                                                        </shadow>
                                                        <block type="variables_get" id="(:pDc]K)YWPSkUS0K$^Y">
                                                          <field name="VAR" id="@-bmg,5A/CNGDI!}zr@0">n</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="update" id="R#c4D4$,.fK?=S`4ITDh">
                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                      <field name="OID">javascript.0.Garagentor-Level</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE">
                                                        <block type="variables_get" id="3?bV-J}43]{~7,aEeO%C">
                                                          <field name="VAR" id="k~N~xWa~9z$*7T|}dHjw">Level</field>
                                                        </block>
                                                      </value>
                                                      <next>
                                                        <block type="debug" id="~QwmT)%rd|yu[Avtk8li">
                                                          <field name="Severity">log</field>
                                                          <value name="TEXT">
                                                            <shadow type="text" id="b!kmC=pk@Wbjbvyrb)(S">
                                                              <field name="TEXT">test</field>
                                                            </shadow>
                                                            <block type="variables_get" id="KkubjDBhgOPz3Lp%HZ{T">
                                                              <field name="VAR" id="k~N~xWa~9z$*7T|}dHjw">Level</field>
                                                            </block>
                                                          </value>
                                                          <next>
                                                            <block type="math_change" id="}R-T}J{Q8!nt3,sraJj`">
                                                              <field name="VAR" id="@-bmg,5A/CNGDI!}zr@0">n</field>
                                                              <value name="DELTA">
                                                                <shadow type="math_number" id="T#mPsXGN|=a.KcY$aTiM">
                                                                  <field name="NUM">-1</field>
                                                                </shadow>
                                                              </value>
                                                            </block>
                                                          </next>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </next>
                                                </block>
                                              </statement>
                                              <statement name="ELSE">
                                                <block type="timeouts_clearinterval" id="SNHb/i7T?}2X1tJZba,|">
                                                  <field name="NAME">Intervall</field>
                                                </block>
                                              </statement>
                                            </block>
                                          </statement>
                                        </block>
                                      </statement>
                                      <next>
                                        <block type="controls_if" id="Fsa)%a^yM?xgg4`|Fo;R">
                                          <value name="IF0">
                                            <block type="logic_compare" id="lZAP-uLJ49)O*ENScg)n">
                                              <field name="OP">EQ</field>
                                              <value name="A">
                                                <block type="variables_get" id="OE6v1J(L6:2CPVj!.Hn%">
                                                  <field name="VAR" id="k~N~xWa~9z$*7T|}dHjw">Level</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="math_number" id="x{p))3^_uzHY{yz.0$ba">
                                                  <field name="NUM">0</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <statement name="DO0">
                                            <block type="timeouts_setinterval" id="#h+5-puG,XW`nb1T3,~1">
                                              <field name="NAME">Intervall2</field>
                                              <field name="INTERVAL">1</field>
                                              <field name="UNIT">sec</field>
                                              <statement name="STATEMENT">
                                                <block type="controls_if" id="KK|=g64=gZ8}YS~Rx~B-">
                                                  <mutation else="1"></mutation>
                                                  <value name="IF0">
                                                    <block type="logic_compare" id="YNQB/0O$rzkfc]FCjGr.">
                                                      <field name="OP">GTE</field>
                                                      <value name="A">
                                                        <block type="variables_get" id="7,doWul5UOhcQ@f,fYkV">
                                                          <field name="VAR" id="@-bmg,5A/CNGDI!}zr@0">n</field>
                                                        </block>
                                                      </value>
                                                      <value name="B">
                                                        <block type="math_number" id="Hy+8N:Lq,A4V1QO.r-sU">
                                                          <field name="NUM">0</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                  <statement name="DO0">
                                                    <block type="variables_set" id="U@n2{Hc1A?ns:_28MQ$*">
                                                      <field name="VAR" id="k~N~xWa~9z$*7T|}dHjw">Level</field>
                                                      <value name="VALUE">
                                                        <block type="math_arithmetic" id="4FGq7uKJ918~%ogcj4r_">
                                                          <field name="OP">ADD</field>
                                                          <value name="A">
                                                            <shadow type="math_number">
                                                              <field name="NUM">1</field>
                                                            </shadow>
                                                            <block type="math_arithmetic" id="Ib(vKZ`w*ZS5Da.e~6HZ">
                                                              <field name="OP">DIVIDE</field>
                                                              <value name="A">
                                                                <shadow type="math_number" id="EkpXfXIT+3{McUQ6J[UY">
                                                                  <field name="NUM">100</field>
                                                                </shadow>
                                                              </value>
                                                              <value name="B">
                                                                <shadow type="math_number">
                                                                  <field name="NUM">1</field>
                                                                </shadow>
                                                                <block type="variables_get" id="S/o:^P}R,$#6,}1qTXz8">
                                                                  <field name="VAR" id="7XjR$HyI.O8[}%8B3HUu">Sekunden</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <value name="B">
                                                            <shadow type="math_number">
                                                              <field name="NUM">1</field>
                                                            </shadow>
                                                            <block type="variables_get" id="WJX~$Ka;v7bZ{Y/)*unT">
                                                              <field name="VAR" id="k~N~xWa~9z$*7T|}dHjw">Level</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <next>
                                                        <block type="update" id="]Y~O6j?3C4EGkRwDVIH6">
                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                          <field name="OID">javascript.0.Garagentor-Level</field>
                                                          <field name="WITH_DELAY">FALSE</field>
                                                          <value name="VALUE">
                                                            <block type="variables_get" id="c_~zw5t31()moXj(1PYA">
                                                              <field name="VAR" id="k~N~xWa~9z$*7T|}dHjw">Level</field>
                                                            </block>
                                                          </value>
                                                          <next>
                                                            <block type="debug" id="({+DI|zV`-Q5k,6JW#:?">
                                                              <field name="Severity">log</field>
                                                              <value name="TEXT">
                                                                <shadow type="text">
                                                                  <field name="TEXT">test</field>
                                                                </shadow>
                                                                <block type="variables_get" id="oUuW5fxl=YMl^rR}4XK6">
                                                                  <field name="VAR" id="k~N~xWa~9z$*7T|}dHjw">Level</field>
                                                                </block>
                                                              </value>
                                                              <next>
                                                                <block type="math_change" id="^.v#E{.:V^`!:9b])7MK">
                                                                  <field name="VAR" id="@-bmg,5A/CNGDI!}zr@0">n</field>
                                                                  <value name="DELTA">
                                                                    <shadow type="math_number" id="rbl|Y8X;TNV7Xx9T-H](">
                                                                      <field name="NUM">-1</field>
                                                                    </shadow>
                                                                  </value>
                                                                </block>
                                                              </next>
                                                            </block>
                                                          </next>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </statement>
                                                  <statement name="ELSE">
                                                    <block type="timeouts_clearinterval" id="Ca+~Sj5Q6a:^nYN8]_2E">
                                                      <field name="NAME">Intervall</field>
                                                    </block>
                                                  </statement>
                                                </block>
                                              </statement>
                                            </block>
                                          </statement>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </statement>
                    </block>
                  </xml>
                  

                  Was noch fehlt:
                  Ich muss noch erweitern um die unterschiedlichen Zeiten für hoch und runter.

                  Den Status ob des Öffnungsgrad prüfe ich dann noch mit dem magn. Türsensor am Garagentor. Ist das Tor zugefahren, wird sicherheitshalber immer der Level auf 100 gesetzt.

                  Mal schauen ob ich dann noch das Tor z.B. halbgeöffnet steuern kann. Dann müsste aber noch irgendwie die Richtung gespeichert werden?

                  liv-in-sky 1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @aldoa1 last edited by

                    @aldoa1 hört sich gut an - das vollständige ergebnis würde ich gerne sehen

                    A 1 Reply Last reply Reply Quote 0
                    • A
                      aldoa1 @liv-in-sky last edited by

                      @liv-in-sky

                      ich bekomme es leider nicht hin mit dem ermitteln ob hoch oder runter.
                      Es gibt ja keinen Datenpunkt bei shelly für die Richtung.
                      Einen eigenen Datenpunkt habe ich gesetzt. Das funktioniert aber dann nur wenn der Türkontkat meldet "zu" oder "offen". Bei "zu" könnte ich dann den Datenpunkt die Richtung auf "hoch" stellen.

                      Was aber wenn der Türkontakt "offen" meldet. Das ist ja alles von Level > 0

                      liv-in-sky 1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @aldoa1 last edited by

                        @aldoa1

                        momentan weiß ich nicht so wirklich , was genau für eine schaltung bzw aufbau du hast. wir können gerne mal teamviewen oder anydesk (bevorzugt) nutzen um gemeinsam das ganze anzuschauen

                        habe bis jetzt nur über das widget nachgedacht - die garagenschaltung war bisher nicht in meinem fokus

                        wie wird den das ganze geschalten? evtl muss du einen 2ten türöffner kontakt nehmen

                        1 Reply Last reply Reply Quote 0
                        • MichMein
                          MichMein @MichMein last edited by

                          @MichMein sagte in Öffnungsgrad per Icon:

                          @aldoa1 Hi, mit was werden die Rollos angesteuert?

                          @aldoa1 ich frage nochmals nach, mit was für einem Gerät steuerst Du denn Deine Rollläden an?

                          A 1 Reply Last reply Reply Quote 0
                          • A
                            aldoa1 @MichMein last edited by

                            @MichMein

                            Im Beispiel geht es um die Garage.
                            Die wird mit einem Shelly 1 gesteuert.

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            745
                            Online

                            32.0k
                            Users

                            80.4k
                            Topics

                            1.3m
                            Posts

                            how-to vis
                            3
                            16
                            920
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo