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.
    • 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

                                714
                                Online

                                31.9k
                                Users

                                80.1k
                                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