Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Wenn 2 Datenpunkte true dann setze Datenpunkt auf true

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Wenn 2 Datenpunkte true dann setze Datenpunkt auf true

    This topic has been deleted. Only users with topic management privileges can see it.
    • DJMarc75
      DJMarc75 @Dr.Pie last edited by

      @dr-pie Warum setzt Du jetzt eigentlich den Vorschlag von @paul53 nicht einfach 1:1 um ?

      1 Reply Last reply Reply Quote 0
      • Dr.Pie
        Dr.Pie @Homoran last edited by

        @homoran sagte in Wenn 2 Datenpunkte true dann setze Datenpunkt auf true:

        @dr-pie sagte in Wenn 2 Datenpunkte true dann setze Datenpunkt auf true:

        Hat EINER der beiden false dann soll DP3 auch false haben.

        Da ist der Schwachpunkt ... der DP3 müsste einen dritten Zustand haben können.

        Homoran 1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @Dr.Pie last edited by

          @dr-pie sagte in Wenn 2 Datenpunkte true dann setze Datenpunkt auf true:

          @homoran sagte in Wenn 2 Datenpunkte true dann setze Datenpunkt auf true:

          @dr-pie sagte in Wenn 2 Datenpunkte true dann setze Datenpunkt auf true:

          Hat EINER der beiden false dann soll DP3 auch false haben.

          Da ist der Schwachpunkt ... der DP3 müsste einen dritten Zustand haben können.

          aber das war deine Vorgabe

          Dr.Pie 1 Reply Last reply Reply Quote 0
          • Dr.Pie
            Dr.Pie @Homoran last edited by

            @homoran genau.Dann aber schrieb ich ja das es so garnicht funktionieren kann ... der DP3 müsste einen dritten Zustand bekommen können.

            Homoran DJMarc75 paul53 3 Replies Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @Dr.Pie last edited by Homoran

              @dr-pie sagte in Wenn 2 Datenpunkte true dann setze Datenpunkt auf true:

              das es so garnicht funktionieren kann

              was kann nicht funktionieren?

              die boolsche Mathematik klappt

              1 Reply Last reply Reply Quote 0
              • DJMarc75
                DJMarc75 @Dr.Pie last edited by

                @dr-pie sagte in Wenn 2 Datenpunkte true dann setze Datenpunkt auf true:

                der DP3 müsste einen dritten Zustand bekommen können

                und der wäre dann "vielleicht" ?

                Was willst Du eigentlich mit dem DP3 anstellen? Steuert der irgendwas ?

                Dr.Pie 1 Reply Last reply Reply Quote 0
                • Dr.Pie
                  Dr.Pie @DJMarc75 last edited by

                  Nicht nur der DP3 steuert was ... alle 3 Datenpunkte müssen etwas steuern.

                  Es ist ziemlich schwierig das zu beschreiben 🖖

                  DJMarc75 Codierknecht 2 Replies Last reply Reply Quote 0
                  • DJMarc75
                    DJMarc75 @Dr.Pie last edited by

                    @dr-pie sagte in Wenn 2 Datenpunkte true dann setze Datenpunkt auf true:

                    Nicht nur der DP3 steuert was ... alle 3 Datenpunkte müssen etwas steuern

                    Falsche Logik.
                    DP1 und DP2 sind Trigger welche dann den DP3 ansteuern - so war die Aufgabenstellung von Dir und genau so hat es @paul53 gaaanz oben im zweiten Post auch aufgezeigt.

                    Dr.Pie 1 Reply Last reply Reply Quote 1
                    • Dr.Pie
                      Dr.Pie @DJMarc75 last edited by

                      @djmarc75 😛 jaaa .. alles Gut ...nur so gehts halt nicht.Das Script funktioniert sicher ...aber so wie ich es braucht geht es so nicht.
                      Das hatte ich ja auch schon 2x geschrieben 😝

                      DJMarc75 1 Reply Last reply Reply Quote 0
                      • DJMarc75
                        DJMarc75 @Dr.Pie last edited by

                        @dr-pie sagte in Wenn 2 Datenpunkte true dann setze Datenpunkt auf true:

                        Das hatte ich ja auch schon 2x geschrieben

                        ...

                        @dr-pie sagte in Wenn 2 Datenpunkte true dann setze Datenpunkt auf true:

                        alle 3 Datenpunkte müssen etwas steuern.
                        Es ist ziemlich schwierig das zu beschreiben

                        Da kann man dann hier und jetzt erstmal nicht helfen.

                        1 Reply Last reply Reply Quote 0
                        • Codierknecht
                          Codierknecht Developer Most Active @Dr.Pie last edited by Codierknecht

                          @dr-pie sagte in Wenn 2 Datenpunkte true dann setze Datenpunkt auf true:

                          Es ist ziemlich schwierig das zu beschreiben

                          Ist das schwierig zu beschreiben oder traust Du Dich nicht?
                          Keine Sorge - wir haben hier schon die beklopptesten Ideen gehört.

                          Und nur falls das mit der bool'schen Algebra noch nicht so ganz verstanden wurde:
                          true UND true ergibt true
                          true UND false ergibt false
                          false UND true ergibt false

                          Wenn der DP3 mit dem Ergebnis von DP1 UND DP2 beschrieben wird, erhält er das Ergebnis dieser bool'schen Berechnung ... also entweder true oder false.

                          https://de.wikipedia.org/wiki/Boolesche_Algebra

                          Homoran 1 Reply Last reply Reply Quote 1
                          • Homoran
                            Homoran Global Moderator Administrators @Codierknecht last edited by

                            @codierknecht ach was!?

                            normale boolsche Matrix!
                            as I told

                            @homoran sagte in Wenn 2 Datenpunkte true dann setze Datenpunkt auf true:

                            was kann nicht funktionieren?
                            die boolsche Mathematik klappt

                            1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @Dr.Pie last edited by

                              @dr-pie sagte: der DP3 müsste einen dritten Zustand bekommen können.

                              Dann kann er z.B. vom Typ "Zahl" sein und 3 Werte erhalten:

                              • beide false: 0
                              • einer true: 1
                              • beide true: 2

                              Blockly_temp.JPG

                              Dr.Pie 1 Reply Last reply Reply Quote 0
                              • Dr.Pie
                                Dr.Pie @paul53 last edited by

                                @paul53 Ich will euch meine Anstrengungen nicht vorenthalten.

                                garage.png
                                Damit schreibe ich den Zustand in einen Datenpunkt, mit dem ich dann weiter arbeiten kann.

                                Und hier ist das was ich mit dem Datenpunkt mache:
                                garage1.png

                                Grüße

                                paul53 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @Dr.Pie last edited by

                                  @dr-pie sagte: meine Anstrengungen nicht vorenthalten.

                                  Was für ein Ressourcenverbrauch:

                                  • 4 Trigger
                                  • 11 mal Wert holen
                                  • 8 mal Wert schreiben

                                  Sparsame Version:

                                  Blockly_temp.JPG

                                  Dr.Pie 1 Reply Last reply Reply Quote 1
                                  • Dr.Pie
                                    Dr.Pie @paul53 last edited by

                                    @paul53 magst du mir das Blockly zur Verfügung stellen ?

                                    Homoran paul53 2 Replies Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @Dr.Pie last edited by

                                      @dr-pie wo liegt denn das Problem beim Nachbau?
                                      So etwas übt!

                                      zwei Variablen anlegen, der Rest ist out of the Box.

                                      Dr.Pie 1 Reply Last reply Reply Quote 0
                                      • Dr.Pie
                                        Dr.Pie @Homoran last edited by

                                        @homoran ja das dachte ich mir schon ... schade

                                        Homoran 1 Reply Last reply Reply Quote 0
                                        • paul53
                                          paul53 @Dr.Pie last edited by paul53

                                          @dr-pie sagte: das Blockly zur Verfügung stellen ?

                                          <xml xmlns="https://developers.google.com/blockly/xml">
                                           <variables>
                                             <variable id="2M5w5y%d}Ir82Iorfz^N">preset</variable>
                                             <variable id="g$)ffp|}W6r%PP]CYAVg">garagentor</variable>
                                           </variables>
                                           <block type="on_ext" id="5/(#h!^]|%;=XV~6q1Kt" x="62" y="37">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                             <field name="CONDITION">ne</field>
                                             <field name="ACK_CONDITION"></field>
                                             <value name="OID0">
                                               <shadow type="field_oid" id="E(PUF,(~^qtC=3Rso(#x">
                                                 <field name="oid">0_userdata.0.Blockly.Switch1</field>
                                               </shadow>
                                             </value>
                                             <value name="OID1">
                                               <shadow type="field_oid" id="j0kv=1PT!,k]Vz=}+AqE">
                                                 <field name="oid">0_userdata.0.Blockly.Switch2</field>
                                               </shadow>
                                             </value>
                                             <statement name="STATEMENT">
                                               <block type="variables_set" id="Uv{nC#_HKrGrgM]eIiS,">
                                                 <field name="VAR" id="2M5w5y%d}Ir82Iorfz^N">preset</field>
                                                 <value name="VALUE">
                                                   <block type="math_arithmetic" id="92uqn+RV)aSt[-)!F1GQ" inline="false">
                                                     <field name="OP">ADD</field>
                                                     <value name="A">
                                                       <shadow type="math_number" id="{vLV7mo`x;s2xKXoSN`m">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="logic_ternary" id="fPbvy[osYHG(d@4)h7#6" inline="true">
                                                         <value name="IF">
                                                           <block type="get_value" id="_0Tjyq_Is3TdzyjG$dnM">
                                                             <field name="ATTR">val</field>
                                                             <field name="OID">0_userdata.0.Blockly.Switch1</field>
                                                           </block>
                                                         </value>
                                                         <value name="THEN">
                                                           <block type="math_number" id="T22mGR]pZh5M!Nm-zLs[">
                                                             <field name="NUM">1</field>
                                                           </block>
                                                         </value>
                                                         <value name="ELSE">
                                                           <block type="math_number" id="4t0/ZlzVk}pSxLrbtS0}">
                                                             <field name="NUM">0</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <shadow type="math_number" id="84d(P}zQ:l9f,me1H7er">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="logic_ternary" id="6#?-_Gg9vVRQh0RUrMU0" inline="true">
                                                         <value name="IF">
                                                           <block type="get_value" id="^uJxxIlW%zk.)baR@EL~">
                                                             <field name="ATTR">val</field>
                                                             <field name="OID">0_userdata.0.Blockly.Switch2</field>
                                                           </block>
                                                         </value>
                                                         <value name="THEN">
                                                           <block type="math_number" id="`d_{x#Jo#5M1u6P](_R8">
                                                             <field name="NUM">1</field>
                                                           </block>
                                                         </value>
                                                         <value name="ELSE">
                                                           <block type="math_number" id="mrlG%O!R|iK@u}xaPOa7">
                                                             <field name="NUM">0</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="controls_if" id="3;X[z|`umBETA:eK}c(m">
                                                     <mutation elseif="1" else="1"></mutation>
                                                     <value name="IF0">
                                                       <block type="logic_compare" id="Zlp.Eur5bE.^qc26dz|n">
                                                         <field name="OP">EQ</field>
                                                         <value name="A">
                                                           <block type="variables_get" id="%4ZK5bv/nr?WpazN+KTJ">
                                                             <field name="VAR" id="2M5w5y%d}Ir82Iorfz^N">preset</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="math_number" id="TL!E.`(zwutuWstr0uh~">
                                                             <field name="NUM">2</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <statement name="DO0">
                                                       <block type="variables_set" id="]aJOghV5qcv];r+lvINK">
                                                         <field name="VAR" id="g$)ffp|}W6r%PP]CYAVg">garagentor</field>
                                                         <value name="VALUE">
                                                           <block type="text" id="Y^)}dwnZ!d2S,MQJ2L~/">
                                                             <field name="TEXT">offen</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </statement>
                                                     <value name="IF1">
                                                       <block type="logic_compare" id="6?nkO=w=8!+A!YW*Ts+l">
                                                         <field name="OP">EQ</field>
                                                         <value name="A">
                                                           <block type="variables_get" id="i(~[d|,N(wbk}1tu1WO%">
                                                             <field name="VAR" id="2M5w5y%d}Ir82Iorfz^N">preset</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="math_number" id="/wk=b(.RcpSq9}AmWYYJ">
                                                             <field name="NUM">1</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <statement name="DO1">
                                                       <block type="variables_set" id="g]@`|-Ijs:LA8@D-Y0k=">
                                                         <field name="VAR" id="g$)ffp|}W6r%PP]CYAVg">garagentor</field>
                                                         <value name="VALUE">
                                                           <block type="text" id="QUSV1WXL0M|nl.jLi9Gb">
                                                             <field name="TEXT">fahren</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </statement>
                                                     <statement name="ELSE">
                                                       <block type="variables_set" id="D3f@-|xy@^{4HYm^RU^-">
                                                         <field name="VAR" id="g$)ffp|}W6r%PP]CYAVg">garagentor</field>
                                                         <value name="VALUE">
                                                           <block type="text" id="9nxWb@(=!%$7*pwR/N4l">
                                                             <field name="TEXT">geschlossen</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </statement>
                                                     <next>
                                                       <block type="update" id="Hb6n$O(U[*Z=~@M?$DfV">
                                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                         <field name="OID">0_userdata.0.Blockly.Garagentor</field>
                                                         <field name="WITH_DELAY">FALSE</field>
                                                         <value name="VALUE">
                                                           <block type="variables_get" id=";J/4@wD-^}flXE-9n/V6">
                                                             <field name="VAR" id="g$)ffp|}W6r%PP]CYAVg">garagentor</field>
                                                           </block>
                                                         </value>
                                                         <next>
                                                           <block type="control" id="zSrrvY,zD24=;O}.Ds3`">
                                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                             <field name="OID">0_userdata.0.Test.OnOff</field>
                                                             <field name="WITH_DELAY">FALSE</field>
                                                             <value name="VALUE">
                                                               <block type="logic_compare" id="3=99sf*kkX3U$QzG`|.P">
                                                                 <field name="OP">GT</field>
                                                                 <value name="A">
                                                                   <block type="variables_get" id="oocj.ff!$SsTSMQ%B_+O">
                                                                     <field name="VAR" id="2M5w5y%d}Ir82Iorfz^N">preset</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <block type="math_number" id="VcdV$t1!mL!geZ8gI.X+">
                                                                     <field name="NUM">0</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <next>
                                                               <block type="controls_if" id="|T^f=g}Bv60zloPi.|Rw">
                                                                 <value name="IF0">
                                                                   <block type="variables_get" id="ZX`tsdX27}yf20!Tyv/l">
                                                                     <field name="VAR" id="2M5w5y%d}Ir82Iorfz^N">preset</field>
                                                                   </block>
                                                                 </value>
                                                                 <statement name="DO0">
                                                                   <block type="control" id="zPOo:eF9n/k8:.[2lOq{">
                                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                     <field name="OID">Object ID</field>
                                                                     <field name="WITH_DELAY">FALSE</field>
                                                                     <value name="VALUE">
                                                                       <block type="variables_get" id="0R;:]^?1WOThB$Z?r}M$">
                                                                         <field name="VAR" id="2M5w5y%d}Ir82Iorfz^N">preset</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </statement>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </statement>
                                           </block>
                                          </xml>
                                          

                                          @homoran sagte: wo liegt denn das Problem beim Nachbau? So etwas übt!

                                          Offenbar möchte @Dr-Pie lieber die Datenpunkt-IDs austauschen als Blockly zu üben.

                                          1 Reply Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators @Dr.Pie last edited by

                                            @dr-pie sagte in Wenn 2 Datenpunkte true dann setze Datenpunkt auf true:

                                            schade

                                            warum?

                                            Willst du es nie selber können?
                                            Das wäre schade!

                                            Dr.Pie 1 Reply Last reply Reply Quote 2
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            569
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            45
                                            1100
                                            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