Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Ist meine ODER Logik korrekt?

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

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

    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 Abwesend
    O Abwesend
    oFbEQnpoLKKl6mbY5e13
    schrieb am zuletzt editiert von oFbEQnpoLKKl6mbY5e13
    #3

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

    rtwlR 1 Antwort Letzte Antwort
    0
    • rtwlR rtwl

      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

      BananaJoeB Online
      BananaJoeB Online
      BananaJoe
      Most Active
      schrieb am zuletzt editiert von
      #4

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

      ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 44TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=157 Tasmota/Shelly || >=88 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 900/750W kaskadiert || Creality CR-10 SE 3D-Drucker

      rtwlR 1 Antwort Letzte Antwort
      0
      • O 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.

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

        @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?

        -Peter

        O paul53P 2 Antworten Letzte Antwort
        0
        • BananaJoeB BananaJoe

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

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

          @bananajoe Alles klar, danke 👍

          -Peter

          1 Antwort Letzte Antwort
          0
          • rtwlR rtwl

            @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 Abwesend
            O Abwesend
            oFbEQnpoLKKl6mbY5e13
            schrieb am zuletzt editiert von
            #7

            @rtwl
            Richtig.

            rtwlR 1 Antwort Letzte Antwort
            0
            • O oFbEQnpoLKKl6mbY5e13

              @rtwl
              Richtig.

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

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

              -Peter

              O 1 Antwort Letzte Antwort
              0
              • rtwlR rtwl

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

                O Abwesend
                O Abwesend
                oFbEQnpoLKKl6mbY5e13
                schrieb am zuletzt editiert von
                #9

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

                rtwlR 1 Antwort Letzte Antwort
                0
                • O oFbEQnpoLKKl6mbY5e13

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

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

                  @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? 😉

                  -Peter

                  O 1 Antwort Letzte Antwort
                  0
                  • rtwlR rtwl

                    @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 Abwesend
                    O Abwesend
                    oFbEQnpoLKKl6mbY5e13
                    schrieb am zuletzt editiert von oFbEQnpoLKKl6mbY5e13
                    #11

                    @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 Antwort Letzte Antwort
                    2
                    • rtwlR rtwl

                      @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?

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

                      @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

                      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

                      1 Antwort Letzte Antwort
                      0
                      • mickymM Offline
                        mickymM Offline
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von
                        #13

                        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.

                        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

                          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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          347

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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