Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Problem mit Logik

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Problem mit Logik

    This topic has been deleted. Only users with topic management privileges can see it.
    • surfer09
      surfer09 last edited by

      Hallo zusammen,

      ich habe ein Problem bei diesem Skript.

      2020-12-02 17_16_02-Window.jpg

      Egal, ob die abgefragten Variablen wahr sind, das Skript läuft immer durch. Es soll jedoch nur durchlaufen werden, wenn alle der Variablen "false" sind. Vermutlich habe ich es zu sehr verschachtelt und es läuft immer durch?

      Danke!

      Gruß surfer 😉

      Homoran J 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @surfer09 last edited by Homoran

        @surfer09 sagte in Problem mit Logik:

        Es soll jedoch nur durchlaufen werden, wenn alle der Variablen "false" sind.

        so steht es auch da?

        Hast du mal die Werte der states überprüft?
        z.B. mit einem debug-Baustein?

        oder befindet sich in dem abgeschnittenen Teil noch eine Überraschung?

        surfer09 1 Reply Last reply Reply Quote 0
        • surfer09
          surfer09 @Homoran last edited by surfer09

          @Homoran zur Sicherheit kopiere ich mal den kompletten Code hierher. Das Skript soll nur wenn die 3 Variablen false sind das Radio einschalten, sonst bei true soll es aus bleiben.
          Was ich geändert habe: ich habe vor Kurzem die 3. Variable "krank" hinzugefügt. Ist das vielleicht zu viel? Vorher hat es nämlich noch funktioniert mit den 2 Variablen.

          <xml xmlns="https://developers.google.com/blockly/xml">
            <variables>
              <variable type="timeout" id="timeout">timeout</variable>
            </variables>
            <block type="comment" id="M@S_f!R-1^:Cp1Au5-)A" x="138" y="-138">
              <field name="COMMENT">Logitech Radio Bad Wochentags um 5:55 Uhr einschalten</field>
              <next>
                <block type="schedule" id="7j]RJkq+MRMN;o,T-)-9">
                  <field name="SCHEDULE">{"time":{"exactTime":true,"start":"05:55"},"period":{"days":1,"dows":"[1,2,3,4,5]"}}</field>
                  <statement name="STATEMENT">
                    <block type="controls_if" id="{V9-l6NQML3qA@AuF-_r">
                      <mutation elseif="1"></mutation>
                      <value name="IF0">
                        <block type="logic_operation" id="t,XJDKrw?bBDccyg2F0^">
                          <field name="OP">AND</field>
                          <value name="A">
                            <block type="logic_operation" id=";UT{0a9|TWh]F|}@/D,p">
                              <field name="OP">AND</field>
                              <value name="A">
                                <block type="logic_compare" id="iJ{0.uTkGJpsM(GX}M*e">
                                  <field name="OP">EQ</field>
                                  <value name="A">
                                    <block type="get_value" id="l7bc7q20?pE6]x9yYIDU">
                                      <field name="ATTR">val</field>
                                      <field name="OID">ical.0.events.0.today.Urlaub</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_boolean" id="S]V`qyyEM|P(5ZUr(-m]">
                                      <field name="BOOL">FALSE</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <value name="B">
                                <block type="logic_compare" id="!S9v`q._3FjZ!O.zhD|`">
                                  <field name="OP">EQ</field>
                                  <value name="A">
                                    <block type="get_value" id="Pu_#t~;#kT.G%=%Bia:]">
                                      <field name="ATTR">val</field>
                                      <field name="OID">ical.0.events.0.today.Feiertag</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_boolean" id=";xX6K%D34X/8*PGAZa=]">
                                      <field name="BOOL">FALSE</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                          <value name="B">
                            <block type="logic_compare" id="7U8Jon;sCP3U(;5_dfG:">
                              <field name="OP">EQ</field>
                              <value name="A">
                                <block type="get_value" id="NTlIG]Sut_a4Ni,mD7hI">
                                  <field name="ATTR">val</field>
                                  <field name="OID">ical.0.events.0.today.krank</field>
                                </block>
                              </value>
                              <value name="B">
                                <block type="logic_boolean" id="v/i$gJBxr]vIvaIN0C-|">
                                  <field name="BOOL">FALSE</field>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </value>
                      <statement name="DO0">
                        <block type="comment" id="P6lH!uuec[xZwMzX.e+L">
                          <field name="COMMENT">Logitech Radio einschalten</field>
                          <next>
                            <block type="request" id="@x*FIJj|_mu4.zOfq5r4">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                              <field name="WITH_STATEMENT">FALSE</field>
                              <field name="LOG"></field>
                              <value name="URL">
                                <shadow type="text" id="0k%y?Sz$IDYTLhPrObhG">
                                  <field name="TEXT">http://192.168.1.198:9000/plugins/Favorites/index.html?action=play&amp;index=0&amp;player=192.168.1.202</field>
                                </shadow>
                              </value>
                              <next>
                                <block type="timeouts_settimeout" id="oTZNZa]WI#4Ix*eYR)=!">
                                  <field name="NAME">timeout</field>
                                  <field name="DELAY">1</field>
                                  <field name="UNIT">sec</field>
                                  <statement name="STATEMENT">
                                    <block type="comment" id="BTkJX%h0cjH~_ZxpJ|`S">
                                      <field name="COMMENT">Lautstärke setzen</field>
                                      <next>
                                        <block type="request" id="9=c8nZ#KmJGaxfB,L5VA">
                                          <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                                          <field name="WITH_STATEMENT">FALSE</field>
                                          <field name="LOG"></field>
                                          <value name="URL">
                                            <shadow type="text" id="@TWCY9|;gRUjiE2My~CI">
                                              <field name="TEXT">http://192.168.1.198:9000/status.html?p0=mixer&amp;p1=volume&amp;p2=15&amp;player=192.168.1.202</field>
                                            </shadow>
                                          </value>
                                          <next>
                                            <block type="debug" id="D-PdPt(hw6Wmzuaob:A;">
                                              <field name="Severity">error</field>
                                              <value name="TEXT">
                                                <shadow type="text" id="i4A%pS|#+BM`th_UCWd5">
                                                  <field name="TEXT">Radio Bad eingeschaltet</field>
                                                </shadow>
                                              </value>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </statement>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </statement>
                      <value name="IF1">
                        <block type="logic_operation" id="k%rWU2V.+#JNRt:t?-u(">
                          <field name="OP">OR</field>
                          <value name="A">
                            <block type="logic_operation" id="G$w+C9@^AQXYp6CH|fb2">
                              <field name="OP">OR</field>
                              <value name="A">
                                <block type="logic_compare" id="ac|zy@DVE7[kov,XNKVx">
                                  <field name="OP">EQ</field>
                                  <value name="A">
                                    <block type="get_value" id="Y9I!XHv?RT=.r*:3^_QH">
                                      <field name="ATTR">val</field>
                                      <field name="OID">ical.0.events.0.today.Urlaub</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_boolean" id="^I./@r154@HsLok!re!c">
                                      <field name="BOOL">TRUE</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <value name="B">
                                <block type="logic_compare" id="d+d8Zq3(ULx:m;x:~G1Z">
                                  <field name="OP">EQ</field>
                                  <value name="A">
                                    <block type="get_value" id="QrxUIr!i~RoDs-)TK62!">
                                      <field name="ATTR">val</field>
                                      <field name="OID">ical.0.events.0.today.Feiertag</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_boolean" id="+VeI#L{jy=|_cQMhE()0">
                                      <field name="BOOL">TRUE</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                          <value name="B">
                            <block type="logic_compare" id=";f}IgLR.C,mWkpF$O]}^">
                              <field name="OP">EQ</field>
                              <value name="A">
                                <block type="get_value" id="N$F]q]D8VB.@gISUNc_0">
                                  <field name="ATTR">val</field>
                                  <field name="OID">ical.0.events.0.today.krank</field>
                                </block>
                              </value>
                              <value name="B">
                                <block type="logic_boolean" id="vpb34zm!325;(1(ZVcXS">
                                  <field name="BOOL">TRUE</field>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </value>
                      <statement name="DO1">
                        <block type="debug" id="Ov%(t%MQ$uVE.9t^y+x#">
                          <field name="Severity">error</field>
                          <value name="TEXT">
                            <shadow type="text" id="=TzbQXa]:jJwV_X:UqU9">
                              <field name="TEXT">Radio bleibt ausgeschaltet, weil Urlaub im Kalender steht, oder ein Feiertag ist</field>
                            </shadow>
                          </value>
                        </block>
                      </statement>
                    </block>
                  </statement>
                  <next>
                    <block type="comment" id="b%[{F,)kSx{%r71o`5ME">
                      <field name="COMMENT">Logitech Radio Bad Wochentags um 6:02 Uhr ausschalten</field>
                      <next>
                        <block type="schedule" id=";;#Ha2gBy_qrEL$+)BQo">
                          <field name="SCHEDULE">{"time":{"exactTime":true,"start":"06:02"},"period":{"days":1,"dows":"[1,2,3,4,5]"}}</field>
                          <statement name="STATEMENT">
                            <block type="controls_if" id="22C`4[Zlv(m/hX@:1kOA">
                              <value name="IF0">
                                <block type="logic_operation" id="%{JFV|fwYFXlO74nqmED">
                                  <field name="OP">AND</field>
                                  <value name="A">
                                    <block type="logic_operation" id="99WiYl}NjOyK`=-4MgTo">
                                      <field name="OP">AND</field>
                                      <value name="A">
                                        <block type="logic_compare" id="Uw1T?kGm09r@L5ZH5t#a">
                                          <field name="OP">EQ</field>
                                          <value name="A">
                                            <block type="get_value" id="j.J]%Kh,JKRs{l;(i4V{">
                                              <field name="ATTR">val</field>
                                              <field name="OID">ical.0.events.0.today.Urlaub</field>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="logic_boolean" id="zVI^?h:.7%j8eu(fmo~E">
                                              <field name="BOOL">FALSE</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="logic_compare" id="MkS!(b#`WtyqXnvgus==">
                                          <field name="OP">EQ</field>
                                          <value name="A">
                                            <block type="get_value" id="VgAt?-M=fo$LE{wg5fs(">
                                              <field name="ATTR">val</field>
                                              <field name="OID">ical.0.events.0.today.Feiertag</field>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="logic_boolean" id=".Exw2huC{zeWt$2}Pih}">
                                              <field name="BOOL">FALSE</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_compare" id="|=D{/b?B,juOe.^ai@jK">
                                      <field name="OP">EQ</field>
                                      <value name="A">
                                        <block type="get_value" id="H4Rn;UJBsy$I(Z2yiD4v">
                                          <field name="ATTR">val</field>
                                          <field name="OID">ical.0.events.0.today.krank</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="logic_boolean" id="=KrKHvk#U!WoO_2V)wmY">
                                          <field name="BOOL">FALSE</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <statement name="DO0">
                                <block type="request" id="S|n:dj{oiz=1O-(gsngN">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                                  <field name="WITH_STATEMENT">FALSE</field>
                                  <field name="LOG"></field>
                                  <value name="URL">
                                    <shadow type="text" id="}P]O*D3PMn{`msoXI-JV">
                                      <field name="TEXT">http://192.168.1.198:9000/status.html?p0=stop&amp;player=192.168.1.202</field>
                                    </shadow>
                                  </value>
                                  <next>
                                    <block type="debug" id="*$W=T7=ym%G$tdB*$?Br">
                                      <field name="Severity">error</field>
                                      <value name="TEXT">
                                        <shadow type="text" id="P6$/p9O|Df[5s#|RZ7uJ">
                                          <field name="TEXT">Radio Bad ausgeschaltet</field>
                                        </shadow>
                                      </value>
                                    </block>
                                  </next>
                                </block>
                              </statement>
                            </block>
                          </statement>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </xml>
          
          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @surfer09 last edited by

            @surfer09 sagte in Problem mit Logik:

            kopiere ich mal den kompletten Code hierher.

            nutzt mir leider am Handy nichts 😞

            @surfer09 sagte in Problem mit Logik:

            Ist das vielleicht zu viel?

            Zuviel gibt es nicht.

            Wie ist der Wert, den das Blockly zu sehen bekommt?

            Mit debug zur Laufzeit auslesen

            surfer09 1 Reply Last reply Reply Quote 0
            • J
              Jan1 @surfer09 last edited by

              @surfer09
              Die Bedienung ist aber auch sowas von umständlich aufgebaut. Da soll alles auf falsch geptüft werden, warum also alles einzeln und das UND verknüpft. Oder noch einfach, man negiert das ganze einfach mit nem "nicht" dann kannst gleich das wahr sparen, weil das die Grundfunktion der FALLS ist.

              surfer09 1 Reply Last reply Reply Quote 0
              • surfer09
                surfer09 @Jan1 last edited by

                @Jan1 Es geht mit Sicherheit einfacher, aber ich bin auch kein Profi auf dem Gebiet ;-). Könntest du mir vielleicht einmal den oberen Teil so bauen, wie du meinst?

                paul53 1 Reply Last reply Reply Quote 0
                • surfer09
                  surfer09 @Homoran last edited by

                  @Homoran: Das Problem hat sich höchstwahrscheinlich erledigt. Der ICAL Adapter hat irgendwie die Werte nicht korrekt ausgelesen aus meinem Kalender. Erst nach Instanz-Neustart hat er gerade die Werte aktualisiert.

                  Homoran 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @surfer09 last edited by

                    @surfer09 sagte:

                    Teil so bauen, wie du meinst?

                    Blockly_temp.JPG

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

                      @surfer09 sagte in Problem mit Logik:

                      @Homoran: Das Problem hat sich höchstwahrscheinlich erledigt. Der ICAL Adapter hat irgendwie die Werte nicht korrekt ausgelesen aus meinem Kalender. Erst nach Instanz-Neustart hat er gerade die Werte aktualisiert.

                      genau dafür ist der debug-Baustein, damit man sieht wie die Werte sind mit denen das Skript arbeitet.
                      Werte, die man meint zu haben helfen nicht.

                      1 Reply Last reply Reply Quote 0
                      • surfer09
                        surfer09 @paul53 last edited by

                        @paul53 Scheint programmtechnisch ja korrekt zu sein, aber wo steckt hier das "wahr" oder "falsch"? Irgendwie kapier' ich das gerade nicht. 🙄

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

                          @surfer09 sagte in Problem mit Logik:

                          aber wo steckt hier das "wahr"

                          versteckt 😉

                          beim Falls gilt immer "wahr", auch wenn es nicht explizit genannt ist

                          surfer09 1 Reply Last reply Reply Quote 0
                          • surfer09
                            surfer09 @Homoran last edited by

                            @Homoran Ahhh! Jetzt geht mir ein Licht auf, Danke! 🙂

                            1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @surfer09 last edited by paul53

                              @surfer09 sagte:

                              aber wo steckt hier das "wahr" oder "falsch"?

                              Im Wert der 3 Datenpunkte. Falls verzweigt bei "wahr" in "mache", bei "falsch" in "sonst".

                              surfer09 1 Reply Last reply Reply Quote 0
                              • surfer09
                                surfer09 @paul53 last edited by

                                Danke euch auf jeden Fall für die schnelle Hilfe und Erklärung! 🙂

                                J 1 Reply Last reply Reply Quote 0
                                • J
                                  Jan1 @surfer09 last edited by Jan1

                                  @surfer09
                                  Der Grund warum man es vermeidet auf falsch zu prüfen, denn das muss dann auch extra eingetragen werden. Wahr wird immer ohne extra Angabe geptüft.
                                  Falsch wird somit durch nicht wahr ersetzt 😉
                                  Paul hat das ja so umgesetzt, wie ich es beschrieben hatte.

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  505
                                  Online

                                  31.8k
                                  Users

                                  80.0k
                                  Topics

                                  1.3m
                                  Posts

                                  blockly
                                  4
                                  15
                                  321
                                  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