Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Ist meine ODER Logik korrekt?

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    507

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.6k

Ist meine ODER Logik korrekt?

Geplant Angeheftet Gesperrt Verschoben Blockly
24 Beiträge 5 Kommentatoren 2.8k Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • mickymM mickym

    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.

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #14

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

    Man kann.

    Bild_2022-08-12_122842789.png

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    mickymM 1 Antwort Letzte Antwort
    0
    • paul53P paul53

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

      Man kann.

      Bild_2022-08-12_122842789.png

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #15

      @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

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      paul53P 1 Antwort Letzte Antwort
      0
      • mickymM 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

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #16

        @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

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        mickymM rtwlR 2 Antworten Letzte Antwort
        3
        • paul53P paul53

          @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

          mickymM Offline
          mickymM Offline
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #17

          @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

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          1 Antwort Letzte Antwort
          1
          • paul53P paul53

            @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

            rtwlR Offline
            rtwlR Offline
            rtwl
            schrieb am zuletzt editiert von
            #18

            @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
            

            -Peter

            1 Antwort Letzte Antwort
            0
            • rtwlR Offline
              rtwlR Offline
              rtwl
              schrieb am zuletzt editiert von
              #19

              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

              -Peter

              1 Antwort Letzte Antwort
              0
              • rtwlR Offline
                rtwlR Offline
                rtwl
                schrieb am zuletzt editiert von
                #20

                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?

                -Peter

                paul53P 1 Antwort Letzte Antwort
                0
                • rtwlR rtwl

                  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?

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #21

                  @rtwl sagte: den debug output block nur bei einer tatsächlichen Änderung auszuführen?

                  Bild_2022-08-14_215009719.png

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  rtwlR 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @rtwl sagte: den debug output block nur bei einer tatsächlichen Änderung auszuführen?

                    Bild_2022-08-14_215009719.png

                    rtwlR Offline
                    rtwlR Offline
                    rtwl
                    schrieb am zuletzt editiert von
                    #22

                    @paul53
                    Vielen Dank!

                    Bedeutet das, dass die Variable lastDebug auch über mehrere Stunden bis zum nächsten Triggern gespeichert bleibt und dadurch diese Prüfung zum Erfolg führt?

                    -Peter

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • rtwlR rtwl

                      @paul53
                      Vielen Dank!

                      Bedeutet das, dass die Variable lastDebug auch über mehrere Stunden bis zum nächsten Triggern gespeichert bleibt und dadurch diese Prüfung zum Erfolg führt?

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von paul53
                      #23

                      @rtwl sagte: Bedeutet das, dass die Variable lastDebug auch über mehrere Stunden bis zum nächsten Triggern gespeichert bleibt und dadurch diese Prüfung zum Erfolg führt?

                      Ja, sie übersteht nur keinen Neustart des Skripts.

                      Wenn man allerdings die Variable sonnenstatus mit dem Wert des Datenpunktes vergleicht, wird auch ein Skriptstart überstanden:

                      Bild_2022-08-14_232659808.png

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      rtwlR 1 Antwort Letzte Antwort
                      1
                      • paul53P paul53

                        @rtwl sagte: Bedeutet das, dass die Variable lastDebug auch über mehrere Stunden bis zum nächsten Triggern gespeichert bleibt und dadurch diese Prüfung zum Erfolg führt?

                        Ja, sie übersteht nur keinen Neustart des Skripts.

                        Wenn man allerdings die Variable sonnenstatus mit dem Wert des Datenpunktes vergleicht, wird auch ein Skriptstart überstanden:

                        Bild_2022-08-14_232659808.png

                        rtwlR Offline
                        rtwlR Offline
                        rtwl
                        schrieb am zuletzt editiert von
                        #24

                        @paul53 sagte: Wenn man allerdings die Variable sonnenstatus mit dem Wert des Datenpunktes vergleicht, wird auch ein Skriptstart überstanden

                        Guter Input! Hab es so umgesetzt. Danke für deine tolle Hilfe und Erklärungen!

                        -Peter

                        1 Antwort Letzte Antwort
                        0
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        833

                        Online

                        32.5k

                        Benutzer

                        81.8k

                        Themen

                        1.3m

                        Beiträge
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Anmelden

                        • Du hast noch kein Konto? Registrieren

                        • Anmelden oder registrieren, um zu suchen
                        • Erster Beitrag
                          Letzter Beitrag
                        0
                        • Home
                        • Aktuell
                        • Tags
                        • Ungelesen 0
                        • Kategorien
                        • Unreplied
                        • Beliebt
                        • GitHub
                        • Docu
                        • Hilfe