Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Eine Frage zum und/oder Logikbaustein

    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

    Eine Frage zum und/oder Logikbaustein

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

      Ich gehe richtig in der Annahme, dass eine Verwendung des Logikblocks UND / ODER in einer Falls Abfrage bei dessen Verwendung zwei Zustände mit UND verknüpft abfragt, also beide Zustände die Eigenschaft aufweisen müssen, und bei ODER nur einer der beiden Zustände die Bedingung erfüllen muss. Richtig?

      Hintergrund ist der, dass ich eine Lichtschaltung nach Anwesenheit (separates Skript, welches im TR-064 Adapter die Anwesenheit mit true / false in Datenpunkte schreibt) damit realisiert habe, die ausschließlich funktioniert, wenn beide Anwesenheitsbedingungen (Wert von Anwesenheit = true) erfüllt sind, ich im Skript allerdings die ODER Logik verwende.

      skript1.jpg

      Im konkreten Fall war die zuerst abgefragte Anwesenheit false, die darunterliegende true und das Skript hat die Lampen nicht geschaltet. Ist die obere Anwesenheit true und die untere Anwesenheit false, oder sind beide Anwesenheiten true, schaltet es aber.

      Ist ODER hier die falsche Logik, so dass ich UND verwenden muss, oder geht es ganz anders noch besser?

      BBTown rantanplan 2 Replies Last reply Reply Quote 0
      • BBTown
        BBTown @mehrwiedu last edited by

        @mehrwiedu sagte in Eine Frage zum und/oder Logikbaustein:

        Ich gehe richtig in der Annahme, dass eine Verwendung des Logikblocks UND / ODER in einer Falls Abfrage bei dessen Verwendung zwei Zustände mit UND verknüpft abfragt, also beide Zustände die Eigenschaft aufweisen müssen, und bei ODER nur einer der beiden Zustände die Bedingung erfüllen muss. Richtig?

        Ja, das ist die Logik dahinter:
        UND - beide Bedingungen müssen zutreffen
        ODER - eine der Bedingungen muss zutreffen

        Du kannst mit DEBUG-Ausgaben anzeigen lassen was das System erkannt hat.
        Ebenfalls könntest Du auch die Abfrage auftrennen und bspw.
        FALLS - Bedingung 1
        SONST FALLS - Bedingung 2
        prüfen wie dein Script reagiert

        M 1 Reply Last reply Reply Quote 0
        • rantanplan
          rantanplan @mehrwiedu last edited by

          @mehrwiedu sagte in Eine Frage zum und/oder Logikbaustein:

          Ich gehe richtig in der Annahme, dass eine Verwendung des Logikblocks UND / ODER in einer Falls Abfrage bei dessen Verwendung zwei Zustände mit UND verknüpft abfragt, also beide Zustände die Eigenschaft aufweisen müssen, und bei ODER nur einer der beiden Zustände die Bedingung erfüllen muss. Richtig?

          Das ist korrekt.
          Leider sieht man in Deinem Bild nicht was Du abfragst.

          BBTown war mal wieder schneller. Sein Hinweis auf den "wichtigsten" Baustein in Blocky solltest Du beherzigen.

          1 Reply Last reply Reply Quote 0
          • M
            mehrwiedu @BBTown last edited by mehrwiedu

            @BBTown sagte in Eine Frage zum und/oder Logikbaustein:

            Du kannst mit DEBUG-Ausgaben anzeigen lassen was das System erkannt hat.

            @rantanplan sagte in Eine Frage zum und/oder Logikbaustein:

            BBTown war mal wieder schneller. Sein Hinweis auf den "wichtigsten" Baustein in Blocky solltest Du beherzigen.

            Ich bin tatsächlich gerade dabei, dort wo es sinnvoll ist, überall bei mir die Debug Bausteine einzubauen.
            Leider muss ich da auch immer wieder rumtesten, weil ich die Platzierung nicht immer richtig setze.

            Das Bild habe ich vom Handy als Screenshot. Kriege leider "remote" den Skript-Editor nicht hinreichend bedient am Handy, so dass ich das Fenster dort größer bekomme. 😉

            Abfragen tue ich zwei JavaScript.0.Datenpunkte auf true.
            (falls wert von Objekt1 = true ODER falls wert von Objekt2 = true)
            Die werden von einem separaten Skript gesteuert, was sehr zuverlässig funktioniert. Hier nutze ich die Device Anzeige des tr-064 Adapters um die Anwesenheit darzustellen.

            rantanplan 1 Reply Last reply Reply Quote 0
            • rantanplan
              rantanplan @mehrwiedu last edited by

              @mehrwiedu
              Wie schon gesagt kann man Deine Bedingungen leider nicht sehen.
              Manche sparen sich gerne den Logik Baustein "xy = ab".
              Kann man auch machen, wenn man weis, welche Werte verwendet werden.

              Bedingungen wie: "Falls Wert1 oder Wert2" können in die Hose gehen.
              Beispiel_001.png
              Bei diesem Beispiel ist die Bedingung IMMER erfüllt. Egal ob auf "und" oder auf "oder" abgefragt.

              Wenn man sich nicht sicher ist, sollte man "Falls Wert1 = wahr oder Wert2 = wahr" verwenden.

              M 1 Reply Last reply Reply Quote 0
              • M
                mehrwiedu @rantanplan last edited by

                @rantanplan sagte in Eine Frage zum und/oder Logikbaustein:

                Wie schon gesagt kann man Deine Bedingungen leider nicht sehen.

                Da steht nur noch = true. Mehr nicht.
                Also:

                Falls - Wert von ObjektID "Anwesenheit1" = true oder Wert von ObjektID "Anwesenheit2" = true

                Anwesenheit1 ist mein Handy im tr-064 Adapter und Anwesenheit2 ist das Handy meiner Frau.

                Dein letztes Beispiel versuche ich mal nachher umzusetzen.
                Bin ja immer wieder fasziniert davon, wie viele Wege es gibt, um an ein Ziel zu kommen.

                Mir war es eben nur komisch, dass das Skript funktioniert, wenn beide Handys eingebucht sind, also beide Bedingungen erfüllt sind, aber trotz des ODER Bausteins bei ausschließlich meinem Handy mit "Anwesenheit = false" nicht schaltet.

                Und ja.... 😉 Ich sehe ein, dass ein Debug Baustein hier mehr Klarheit hätte schaffen können. Ich gelobe, diese Bausteine einzubauen.

                rantanplan 1 Reply Last reply Reply Quote 0
                • rantanplan
                  rantanplan @mehrwiedu last edited by rantanplan

                  @mehrwiedu sagte in Eine Frage zum und/oder Logikbaustein:

                  @rantanplan sagte in Eine Frage zum und/oder Logikbaustein:

                  Wie schon gesagt kann man Deine Bedingungen leider nicht sehen.

                  Da steht nur noch = true. Mehr nicht.
                  Also:

                  Falls - Wert von ObjektID "Anwesenheit1" = true oder Wert von ObjektID "Anwesenheit2" = true

                  So ist es richtig.

                  Dein letztes Beispiel versuche ich mal nachher umzusetzen.

                  NEIN! Nicht umsetzen! Da drüber steht "können in die Hose gehen". War ein negativ Beispiel!

                  Und ja.... 😉 Ich sehe ein, dass ein Debug Baustein hier mehr Klarheit hätte schaffen können. Ich gelobe, diese Bausteine einzubauen.

                  Ja, setze vor dem "Falls....." zwei Debug Bausteine. Am Besten mit Textbaustein und sinnvollem Text.
                  Beispiel_001.png

                  Du kannst, zum Testen, den Falls Block auch aus dem Trigger nehmen. Dann musst Du nicht immer bis Sonnenuntergang warten.
                  Musst das Script dann nur immer manuell starten und stoppen.
                  Oder Du nimmst den Trigger "Zeitplan" und triggerst jede Minute. Zum Testen ist das ok.

                  M 1 Reply Last reply Reply Quote 1
                  • M
                    mehrwiedu @rantanplan last edited by

                    @rantanplan sagte in Eine Frage zum und/oder Logikbaustein:

                    NEIN! Nicht umsetzen! Da drüber steht "können in die Hose gehen". War ein negativ Beispiel!

                    Uuups...wäre dann beinahe ebenfalls in die Hose gegangen. Jetzt hab ich es auch richtig gelesen. 🙂

                    Ich mache mich heute Abend mal an die Debug Bausteine und poste hier mal das Ergebnis, wenn es nicht auf Anhieb bei mir klappt. Jetzt ohne Zugriff auf meine Instanz ergibt nachfragen keinen Sinn.

                    Wobei eine kurze Frage zum Verständnis. Wenn ich den Falls Block nur aus dem Trigger herausziehe, ist der Trigger dann für die eigentliche Funktion automatisch "auskommentiert"? Oder muss ich den aus dem Skript löschen?

                    BBTown 1 Reply Last reply Reply Quote 0
                    • BBTown
                      BBTown @mehrwiedu last edited by BBTown

                      @mehrwiedu Wenn der Trigger nichts beinhaltet, dann greift der ins leere .... die Triggerinformation wird nicht verarbeitet ... wie auch

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      939
                      Online

                      31.9k
                      Users

                      80.2k
                      Topics

                      1.3m
                      Posts

                      3
                      9
                      394
                      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