Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Ist meine ODER Logik korrekt?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Ist meine ODER Logik korrekt?

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

      ich habe zwei Datenpunkte welche ich jeweils auf den Wert 1 oder 2 prüfen möchte, und falls einer der beiden Datenpunkte (current oder next_hour) den Wert 1 oder 2 enthält mein Sonnenstatus Datenpunkt mit 1 aktualisiert wird, und falls nicht mit 0.

      Ist dieses korrekt so?

      37a921f5-8e31-48bb-99bb-1866b86fb880-image.png

      O BananaJoe 2 Replies Last reply Reply Quote 0
      • rtwl
        rtwl last edited by

        Kurz noch zum Hintergrund, falls es jemanden interessiert 😉

        meine Idee war es den Symbol_Code vom DasWetter Adapter zu nehmen, und falls das Symbol aktuell oder in der nächsten Stunde "Sonnig" oder "teils bewölkt" hergibt, der Sonnenschutz im shuttercontrol Adapter aktiv wird. Bei einem Code höher als 2 wird nicht in den Sonnenschutz gefahren.

        DasWetter API Dokumentation:
        13977024-9b93-4f82-a346-acc64d8c8ce9-image.png

        Einstellung im shuttercontrol Adapter:
        dd4a8924-e516-4325-9322-89e22aabfbaf-image.png

        1 Reply Last reply Reply Quote 0
        • O
          oFbEQnpoLKKl6mbY5e13 @rtwl last edited by oFbEQnpoLKKl6mbY5e13

          @rtwl

          Das hängt davon ab, ob dein Wert "next_hour" unabhängig von "current" aktualisiert wird. Denn wenn der Wert für "next_hour" aktualisiert wird und "current" nicht, dann wird nicht getriggert.

          rtwl 1 Reply Last reply Reply Quote 0
          • BananaJoe
            BananaJoe Most Active @rtwl last edited by

            @rtwl Falls eine der 4 Bedingungen erfüllt wird sollte mache aufgerufen werden

            rtwl 1 Reply Last reply Reply Quote 0
            • rtwl
              rtwl @oFbEQnpoLKKl6mbY5e13 last edited by

              @ofbeqnpolkkl6mby5e13 sagte in Ist meine ODER Logik korrekt?:

              Das hängt davon ab, ob dein Wert "next_hour" unabhängig von "current" aktualisiert wird

              Ja, daran hab ich auch anfangs gedacht, und ich gehe mal davon aus, dass beide gleichzeitig aktualisiert werden, da der DasWetter Adapter jede halbe Stunde alle Daten abruft.
              Aber ich werde das mal beobachten.
              Theoretisch könnte ich ja den zweiten Datenpunkt auch in den Trigger mit auf nehmen, oder?

              O paul53 2 Replies Last reply Reply Quote 0
              • rtwl
                rtwl @BananaJoe last edited by

                @bananajoe Alles klar, danke 👍

                1 Reply Last reply Reply Quote 0
                • O
                  oFbEQnpoLKKl6mbY5e13 @rtwl last edited by

                  @rtwl
                  Richtig.

                  rtwl 1 Reply Last reply Reply Quote 0
                  • rtwl
                    rtwl @oFbEQnpoLKKl6mbY5e13 last edited by

                    @ofbeqnpolkkl6mby5e13
                    Dann mach ich das. Sicher ist sicher. Danke für den Input👍

                    O 1 Reply Last reply Reply Quote 0
                    • O
                      oFbEQnpoLKKl6mbY5e13 @rtwl last edited by

                      @rtwl
                      Wenn immer beide getriggert werden, wird natürlich auch zweimal die Logik durchlaufen, aber ob das den Kohl fett macht...

                      rtwl 1 Reply Last reply Reply Quote 0
                      • rtwl
                        rtwl @oFbEQnpoLKKl6mbY5e13 last edited by

                        @ofbeqnpolkkl6mby5e13 sagte in Ist meine ODER Logik korrekt?:

                        aber ob das den Kohl fett macht...

                        nö vermutlich nicht.

                        Eine frage aber noch an dich: Hast du unabsichtlich dein Passwort als Username vergeben oder ist deine Katze über deine Tastatur gelaufen? 😉

                        O 1 Reply Last reply Reply Quote 0
                        • O
                          oFbEQnpoLKKl6mbY5e13 @rtwl last edited by oFbEQnpoLKKl6mbY5e13

                          @rtwl
                          Das wurde ich schon mal gefragt...die einfache Antwort ist: Ich hatte an dem Tag einfach keine bessere Idee als einen Passwortgenerator auch für den Username zu verwenden...

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

                            @rtwl sagte: ich gehe mal davon aus, dass beide gleichzeitig aktualisiert werden

                            Exakt gleichzeitig gibt es nicht.

                            @rtwl sagte in Ist meine ODER Logik korrekt?:

                            könnte ich ja den zweiten Datenpunkt auch in den Trigger mit auf nehmen, oder?

                            Du solltest prüfen, welcher DP im Zyklus zuletzt aktualisiert wird und diesen DP als Trigger verwenden.

                            @rtwl sagte in Ist meine ODER Logik korrekt?:

                            Bei einem Code höher als 2 wird nicht in den Sonnenschutz gefahren.

                            Dann genügt für den Wert beider Datenpunkte eine Prüfung auf <= 2.

                            Bild_2022-08-12_121945954.png

                            1 Reply Last reply Reply Quote 0
                            • mickym
                              mickym Most Active last edited by

                              Wenn man das nicht bestimmen kann, wer wann wie wo triggert, würde ich halt beide Werte in einem Objekt in einer Variable sammeln und diese beiden Eigenschaften mit ODER verknüpfen. So funktioniert es halt mit NR.

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

                                @mickym sagte: Wenn man das nicht bestimmen kann, wer wann wie wo triggert

                                Man kann.

                                Bild_2022-08-12_122842789.png

                                mickym 1 Reply Last reply Reply Quote 0
                                • mickym
                                  mickym Most Active @paul53 last edited by mickym

                                  @paul53 ja und beide Werte in eine Variable mit unterschiedlichen Objekteigenschaften schreiben und bei jedem Trigger egal von welchem Datenpunkt auswerten und Ergebnis ausspucken. Es gibt ja im Blockly glaub auch so ein Schleifenkonstrukt, das über die Eigenschaften eines Objektes iterieren kann

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

                                    @mickym sagte: Schleifenkonstrukt, das über die Eigenschaften eines Objektes iterieren kann

                                    Zu kompliziert. Man kann auch auf Änderung beider Datenpunkte triggern und durch eine kurze Verzögerung vermeiden, dass der Zieldatenpunkt zwischen 0 und 1 hin und her springt, wenn sich beide Datenpunkte "gleichzeitig" ändern.

                                    Bild_2022-08-12_124510940.png

                                    mickym rtwl 2 Replies Last reply Reply Quote 3
                                    • mickym
                                      mickym Most Active @paul53 last edited by mickym

                                      @paul53 jo so gehts auch. Das Entprellen hast Du halt jetzt noch hinzugefügt, macht aber natürlich Sinn. Wie immer King of Blockly.👍😉 und natürlich auch JS und generell

                                      1 Reply Last reply Reply Quote 1
                                      • rtwl
                                        rtwl @paul53 last edited by

                                        @paul53 sagte in Ist meine ODER Logik korrekt?:

                                        Bild_2022-08-12_124510940.png

                                        wollte gerade deinen Vorschlag nachbauen, jedoch hab ich hier wohl keine Möglichkeit bei "falls wahr/falsch" eine Debug output zu integrieren. Damit ich Änderungen im Log sehen kann.

                                        Was mich aber zu meiner zweiten Frage bringt. Aktuell erhalte ich alle 30 min einen Log eintrag vom debug output, obwohl sich die Werte nicht geändert haben. Gibt es da eine Möglichkeit der Prüfung, dass der Debug output nur dann passiert, wenn sich der Datenpunkt auch tatsächlich geändert hat?

                                        2022-08-14 12:55:07.859 - info: javascript.0 (32080) script.js.Raffstores.zSonnenstatus: Sonnenschutz aktiv
                                        2022-08-14 13:25:07.986 - info: javascript.0 (32080) script.js.Raffstores.zSonnenstatus: Sonnenschutz aktiv
                                        2022-08-14 13:55:08.011 - info: javascript.0 (32080) script.js.Raffstores.zSonnenstatus: Sonnenschutz aktiv
                                        2022-08-14 14:25:08.386 - info: javascript.0 (32080) script.js.Raffstores.zSonnenstatus: Sonnenschutz nicht aktiv
                                        2022-08-14 14:55:08.156 - info: javascript.0 (32080) script.js.Raffstores.zSonnenstatus: Sonnenschutz nicht aktiv
                                        2022-08-14 15:25:08.444 - info: javascript.0 (32080) script.js.Raffstores.zSonnenstatus: Sonnenschutz nicht aktiv
                                        2022-08-14 15:55:08.309 - info: javascript.0 (32080) script.js.Raffstores.zSonnenstatus: Sonnenschutz nicht aktiv
                                        2022-08-14 16:25:08.397 - info: javascript.0 (32080) script.js.Raffstores.zSonnenstatus: Sonnenschutz nicht aktiv
                                        2022-08-14 16:55:08.306 - info: javascript.0 (32080) script.js.Raffstores.zSonnenstatus: Sonnenschutz nicht aktiv
                                        2022-08-14 17:25:08.685 - info: javascript.0 (32080) script.js.Raffstores.zSonnenstatus: Sonnenschutz nicht aktiv
                                        2022-08-14 17:55:08.368 - info: javascript.0 (32080) script.js.Raffstores.zSonnenstatus: Sonnenschutz aktiv
                                        2022-08-14 18:25:08.583 - info: javascript.0 (32080) script.js.Raffstores.zSonnenstatus: Sonnenschutz aktiv
                                        2022-08-14 18:55:08.634 - info: javascript.0 (32080) script.js.Raffstores.zSonnenstatus: Sonnenschutz aktiv
                                        

                                        1 Reply Last reply Reply Quote 0
                                        • rtwl
                                          rtwl last edited by

                                          ah...
                                          ich hatte den Trigger auf "wurde aktualisiert" anstelle von "wurde geändert".

                                          So sollte es jetzt passen:
                                          4d55dc21-8935-4a50-8474-b25b56ac1d81-image.png

                                          1 Reply Last reply Reply Quote 0
                                          • rtwl
                                            rtwl last edited by

                                            alle guten Dinge sind drei...

                                            Wenn meine Logik korrekt ist, sollten jetzt dennoch bei jeder Änderung zwei gleiche Log-Einträge kommen, da immer zuerst der "next_hour" Datenpunkt geändert wird und dann eine Stunde später der "current". Beide male liegt dann ja eine "wurde geändert" Auslösung vor wodurch dann das Skript erneut durchläuft.

                                            Daher trotzdem die Frage, ob es eine einfache Möglichkeit gibt den debug output block nur bei einer tatsächlichen Änderung auszuführen?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            527
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            24
                                            1449
                                            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