Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly ganze Aufzählung prüfen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly ganze Aufzählung prüfen

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      Timmss @Asgothian last edited by

      @asgothian

      Das klingt erstmal super!

      Also praktisch so:
      3bc7a86a-8c43-4bc2-956f-4b2f81f677cd-grafik.png

      Wobei mir dann die Frage aufkommt, wie schnell prüft diese Schleife ab? Weil angenommen der erste Wert der Liste ist falsch, dann wird der DP auf falsch gesetzt. Wenn jetzt aber der letzte Wert der Liste wahr ist, dann war der DP fälschlicherweise für eine gewisse Zeit auf false.

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

        @timmss sagte: Also praktisch so:

        Nein, so:

        Blockly_alleFenster.JPG

        In der ID ist "enum.functions.FensterStatusFirma" genau so geschrieben?

        T 1 Reply Last reply Reply Quote 2
        • T
          Timmss @paul53 last edited by

          @paul53

          Das macht mehr Sinn ja 😉

          Ja, die ID heißt genauso.

          Eine Frage noch zum Verständnis, in JavaScript ist es besser nicht auf true zu prüfen, deswegen auch das Weglassen von dem Vergleich = wahr?

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

            @timmss sagte: Weglassen von dem Vergleich = wahr?

            Das Ergebnis eines jeden Vergleichs ist true oder false. Deshalb ist ein Vergleich mit wahr sinnlos.

            T 1 Reply Last reply Reply Quote 1
            • T
              Timmss @paul53 last edited by

              Dann wäre da noch eine Sache in dem Raum-Skript. Hier wird jedes Fenster und die Tür geprüft und es gibt folgende 3 Anwendungsfälle:

              1. Fenster zu und Tür zu
              2. Fenster zu und Tür auf
              3. Fenster auf

              Bisher sieht meine damalige Erstlösung so aus:
              8bd6246f-f5f4-4f6b-a38c-6da89a6d0a4d-grafik.png

              Ich denke hier kann man viel mit privaten Variablen arbeiten und auch die letzte Bedigung kann durch ein einfaches sonst ersetzt werden.

              Wie würdet ihr das lösen?

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

                @timmss sagte: Wie würdet ihr das lösen?

                Z.B. so:

                Blockly_temp.JPG

                3 Anwendungsfälle:

                1. Fenster zu und Tür zu
                2. Fenster zu und Tür auf
                3. Fenster auf

                Bei nur 4 Fenstern kann man an Stelle der Schleife auch eine Oder-Verknüpfung der Werte verwenden.

                Blockly_temp.JPG

                T 2 Replies Last reply Reply Quote 1
                • T
                  Timmss @paul53 last edited by Timmss

                  @paul53

                  Vielen Dank für den Lösungsvorschlag!
                  Ich hätte vorher vielleicht meine Variablen näher erklären sollen:

                  1. Fenster zu und Tür zu sollen FensterStatus auf false setzen und KontaktAuf auf false setzen
                  2. Fenster zu und Tür auf sollen FensterStatus auf false setzen und KontaktAuf auf true setzen
                  3. Fenster auf sollen FensterStatus auf true setzen und KontaktAuf auf true setzen

                  Da wäre ein Problem mit dem zweiten Trigger Block, denn hier können die Fenster den Trigger nicht triggern.

                  Ich habe es so gebaut:
                  05483c43-524f-4c26-8578-390073b55024-grafik.png

                  Und es funktioniert eigentlich, jedoch bekomme ich warn debug outputs 😞

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

                    @paul53

                    Nachtrag:

                    Ich habe jetzt eine perfekt funktionierende Lösung:
                    7739efcd-ffb4-4fe0-b223-16398175c36d-grafik.png

                    Der Fehler mit den gelben warn-debugs kam davon, dass die States von Homematic-IP Sensoren vom Typ number sind.
                    Ich musste diese also im Skript konvertieren zu Logikwerten, um diese dann den Boolean-Variablen zu übergeben.

                    Danke für eure Lösungen!

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

                      @timmss sagte: eine perfekt funktionierende Lösung

                      Die Lösung funktioniert nur manchmal, da "steuere FensterStatusEntwicklung" asynchron ausgeführt wird und meist noch nicht fertig ist, wenn der DP gleich wieder eingelesen wird. Verwende besser eine Variable:

                      Blockly_temp.JPG

                      T 1 Reply Last reply Reply Quote 1
                      • T
                        Timmss @paul53 last edited by

                        @paul53

                        Macht Sinn ja.

                        Würde hier nicht auch 'aktualisiere' besser sein statt 'steuere', da FensterStatusEntwicklung ein eigener Datenpunkt ist und kein Aktor?

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

                          @timmss sagte: 'aktualisiere' besser sein statt 'steuere', da FensterStatusEntwicklung ein eigener Datenpunkt ist

                          Ja, bei eigenen Datenpunkten nimmt man "aktualisiere".

                          EDIT: Es hätte sein können, dass es sich um SV der CCU handelt. Dann müsste man "steuere" verwenden.

                          T 1 Reply Last reply Reply Quote 1
                          • T
                            Timmss @paul53 last edited by

                            @paul53

                            Versteh ich, vielen Dank! 🙌

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            791
                            Online

                            32.0k
                            Users

                            80.4k
                            Topics

                            1.3m
                            Posts

                            3
                            14
                            435
                            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