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. Gelöst: Blockly Oder-Verknüpfung

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    104

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

Gelöst: Blockly Oder-Verknüpfung

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
23 Beiträge 6 Kommentatoren 1.5k Aufrufe 3 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.
  • C Offline
    C Offline
    cookiemonster1706
    schrieb am zuletzt editiert von cookiemonster1706
    #1

    Guten Morgen,

    ich möchte gerne mit einem Blockly-Script ein Alarm auslösen, wenn mindestens einer von 2 Fensterkontakten geöffnet wird.

    Ich habe es folgendermaßen angelegt.
    d79fc25c-c5e4-4726-982c-5427aa035e3d-image.png

    Jedoch funktioniert es so nicht. Ich vermute, das ich noch eine Oder-Verknüpfung einsetzen muss.

    Wie kann ich sowas konfigurieren?
    Könnt ihr mit helfen.

    Vielen Dank!

    VG

    MartinPM AsgothianA paul53P 3 Antworten Letzte Antwort
    0
    • C cookiemonster1706

      Guten Morgen,

      ich möchte gerne mit einem Blockly-Script ein Alarm auslösen, wenn mindestens einer von 2 Fensterkontakten geöffnet wird.

      Ich habe es folgendermaßen angelegt.
      d79fc25c-c5e4-4726-982c-5427aa035e3d-image.png

      Jedoch funktioniert es so nicht. Ich vermute, das ich noch eine Oder-Verknüpfung einsetzen muss.

      Wie kann ich sowas konfigurieren?
      Könnt ihr mit helfen.

      Vielen Dank!

      VG

      MartinPM Online
      MartinPM Online
      MartinP
      schrieb am zuletzt editiert von
      #2

      @cookiemonster1706

      c9cfc756-8cd8-454e-b3c6-8f3da5b57390-grafik.png

      Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
      Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
      Linux pve 6.8.12-16-pve
      6 GByte RAM für den Container
      Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
      Remote-Access über Wireguard der Fritzbox

      C 1 Antwort Letzte Antwort
      0
      • MartinPM MartinP

        @cookiemonster1706

        c9cfc756-8cd8-454e-b3c6-8f3da5b57390-grafik.png

        C Offline
        C Offline
        cookiemonster1706
        schrieb am zuletzt editiert von
        #3

        @martinp
        Danke für deine Rückmeldung.
        Das muss ich erstmal auf mich wirken lassen.

        Leider versteh ich da nicht sonderlich viel.

        haus-automatisierungH HomoranH 2 Antworten Letzte Antwort
        0
        • C cookiemonster1706

          @martinp
          Danke für deine Rückmeldung.
          Das muss ich erstmal auf mich wirken lassen.

          Leider versteh ich da nicht sonderlich viel.

          haus-automatisierungH Online
          haus-automatisierungH Online
          haus-automatisierung
          Developer Most Active
          schrieb am zuletzt editiert von haus-automatisierung
          #4

          @cookiemonster1706 sagte in Blockly Oder-Verknüpfung:

          Leider versteh ich da nicht sonderlich viel.

          Grundlagen anschauen. Erstmal löst jeder deiner Fensterkontakte die Logik im Trigger aus. Also egal welcher sich ändert. Das ist schonmal richtig.

          Wenn jetzt einer geöffnet oder geschlossen wird, dann wird die Logik angestoßen. In der Logik schaust Du dann, ob mindestens einer offen ist. Aber dafür musst Du ja wieder alle prüfen. Also alle an ein "oder" hängen.

          🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
          🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
          📚 Meine inoffizielle ioBroker Dokumentation

          1 Antwort Letzte Antwort
          0
          • C cookiemonster1706

            @martinp
            Danke für deine Rückmeldung.
            Das muss ich erstmal auf mich wirken lassen.

            Leider versteh ich da nicht sonderlich viel.

            HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #5

            @cookiemonster1706 sagte in Blockly Oder-Verknüpfung:

            Das muss ich erstmal auf mich wirken lassen.
            Leider versteh ich da nicht sonderlich viel.

            ich aus dem Bild von @MartinP auch nicht!

            z.B. was die Gasheizung mit deinen Fenstern zu tun hat

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            MartinPM 1 Antwort Letzte Antwort
            1
            • C cookiemonster1706

              Guten Morgen,

              ich möchte gerne mit einem Blockly-Script ein Alarm auslösen, wenn mindestens einer von 2 Fensterkontakten geöffnet wird.

              Ich habe es folgendermaßen angelegt.
              d79fc25c-c5e4-4726-982c-5427aa035e3d-image.png

              Jedoch funktioniert es so nicht. Ich vermute, das ich noch eine Oder-Verknüpfung einsetzen muss.

              Wie kann ich sowas konfigurieren?
              Könnt ihr mit helfen.

              Vielen Dank!

              VG

              AsgothianA Offline
              AsgothianA Offline
              Asgothian
              Developer
              schrieb am zuletzt editiert von
              #6

              @cookiemonster1706 sagte in Blockly Oder-Verknüpfung:

              Wie kann ich sowas konfigurieren?
              Könnt ihr mit helfen.

              du musst erst einmal klären was als "wert" überhaupt ankommt. Ist das wirklich die Zahl 1, oder vielleicht die Zeichenkette "1"

              Dazu schaust Du dir am besten den Datenpunkt an:
              Screenshot 2024-11-22 at 11.48.37.png
              Die Anzeige bekommst du wenn du auf das Stift icon rechts in der Liste klickst. Interessant ist was bei "type" steht.

              Als nächstes ist interessant welche Zustände der Datenpunkt wirklich annehmen kann.

              Wenn du das gepostet hast können wir weiter schauen - daraus ergibt sich wie die Falls Abfrage aufgebaut werden muss, und ob sie überhaupt notwendig ist.

              A.

              ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
              "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

              C 1 Antwort Letzte Antwort
              0
              • AsgothianA Asgothian

                @cookiemonster1706 sagte in Blockly Oder-Verknüpfung:

                Wie kann ich sowas konfigurieren?
                Könnt ihr mit helfen.

                du musst erst einmal klären was als "wert" überhaupt ankommt. Ist das wirklich die Zahl 1, oder vielleicht die Zeichenkette "1"

                Dazu schaust Du dir am besten den Datenpunkt an:
                Screenshot 2024-11-22 at 11.48.37.png
                Die Anzeige bekommst du wenn du auf das Stift icon rechts in der Liste klickst. Interessant ist was bei "type" steht.

                Als nächstes ist interessant welche Zustände der Datenpunkt wirklich annehmen kann.

                Wenn du das gepostet hast können wir weiter schauen - daraus ergibt sich wie die Falls Abfrage aufgebaut werden muss, und ob sie überhaupt notwendig ist.

                A.

                C Offline
                C Offline
                cookiemonster1706
                schrieb am zuletzt editiert von
                #7

                @asgothian

                Das schaut bei mir so aus

                d3a252fd-8fb0-4334-abcb-c4f8dee0c911-image.png

                AsgothianA 1 Antwort Letzte Antwort
                0
                • C cookiemonster1706

                  @asgothian

                  Das schaut bei mir so aus

                  d3a252fd-8fb0-4334-abcb-c4f8dee0c911-image.png

                  AsgothianA Offline
                  AsgothianA Offline
                  Asgothian
                  Developer
                  schrieb am zuletzt editiert von Asgothian
                  #8

                  @cookiemonster1706 Für beide Datenpunkte ? Und warum als Screenshot gepostet - das ist doch alles text ?

                  Seis drum - Wenn bei beiden so aussieht dann ist die einfachste Lösung das Umsetzen des Trigger von "wurde geändert" auf "ist grösser als vorher". Dann noch einen Debug-Baustein einbauen, der eine Meldung im Log hinterlässt wenn der Trigger aktiv wird, die Falls abfrage aus dem Trigger heraus nehmen und dann testen :)

                  A.
                  Nachtrag: warum die Falls abfrage heraus nehmen ? Wenn der Trigger nur aktiv wird wenn der aktuelle Wert grösser ist als der vorherige dann wird der nur aktiv wenn einer der beiden DP von geschlossen auf offen wechselt. Sprich dann ist mindestens einer der beiden DP "offen"

                  ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                  "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                  MartinPM 1 Antwort Letzte Antwort
                  2
                  • HomoranH Homoran

                    @cookiemonster1706 sagte in Blockly Oder-Verknüpfung:

                    Das muss ich erstmal auf mich wirken lassen.
                    Leider versteh ich da nicht sonderlich viel.

                    ich aus dem Bild von @MartinP auch nicht!

                    z.B. was die Gasheizung mit deinen Fenstern zu tun hat

                    MartinPM Online
                    MartinPM Online
                    MartinP
                    schrieb am zuletzt editiert von
                    #9

                    z.B. was die Gasheizung mit deinen Fenstern zu tun hat

                    @homoran Ist das eine neue Forumsregel, dass man in seinem Beispiel keine Datenpunkte nehmen darf, die man eh auf seinem System hat, sondern zuerst sehen muss, dass man eine Testumgebung mit dem kompletten Datenbaum des ioBroker des Fragestellers einrichten muss?

                    Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                    Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
                    Linux pve 6.8.12-16-pve
                    6 GByte RAM für den Container
                    Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
                    Remote-Access über Wireguard der Fritzbox

                    AsgothianA HomoranH 2 Antworten Letzte Antwort
                    0
                    • MartinPM MartinP

                      z.B. was die Gasheizung mit deinen Fenstern zu tun hat

                      @homoran Ist das eine neue Forumsregel, dass man in seinem Beispiel keine Datenpunkte nehmen darf, die man eh auf seinem System hat, sondern zuerst sehen muss, dass man eine Testumgebung mit dem kompletten Datenbaum des ioBroker des Fragestellers einrichten muss?

                      AsgothianA Offline
                      AsgothianA Offline
                      Asgothian
                      Developer
                      schrieb am zuletzt editiert von
                      #10

                      @martinp sagte in Blockly Oder-Verknüpfung:

                      z.B. was die Gasheizung mit deinen Fenstern zu tun hat

                      @homoran Ist das eine neue Forumsregel, dass man in seinem Beispiel keine Datenpunkte nehmen darf, die man eh auf seinem System hat, sondern zuerst sehen muss, dass man eine Testumgebung mit dem kompletten Datenbaum des ioBroker des Fragestellers einrichten muss?

                      Nein - aber etwas erklärender Text hilft denen die das nachvollziehen wollen. Ein Bild sagt zwar mehr als 1000 Worte - aber in dem ganzen Sumpf die relevanten 20 heraussuchen ist Arbeit.

                      Zu dem Bild selber könnte ich jetzt auch noch was schreiben - das spar ich mir aber - es würde den Thread kapern.

                      ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                      "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                      1 Antwort Letzte Antwort
                      1
                      • AsgothianA Asgothian

                        @cookiemonster1706 Für beide Datenpunkte ? Und warum als Screenshot gepostet - das ist doch alles text ?

                        Seis drum - Wenn bei beiden so aussieht dann ist die einfachste Lösung das Umsetzen des Trigger von "wurde geändert" auf "ist grösser als vorher". Dann noch einen Debug-Baustein einbauen, der eine Meldung im Log hinterlässt wenn der Trigger aktiv wird, die Falls abfrage aus dem Trigger heraus nehmen und dann testen :)

                        A.
                        Nachtrag: warum die Falls abfrage heraus nehmen ? Wenn der Trigger nur aktiv wird wenn der aktuelle Wert grösser ist als der vorherige dann wird der nur aktiv wenn einer der beiden DP von geschlossen auf offen wechselt. Sprich dann ist mindestens einer der beiden DP "offen"

                        MartinPM Online
                        MartinPM Online
                        MartinP
                        schrieb am zuletzt editiert von
                        #11

                        @asgothian sagte in Blockly Oder-Verknüpfung:

                        @cookiemonster1706 Für beide Datenpunkte ? Und warum als Screenshot gepostet - das ist doch alles text ?
                        Seis drum - Wenn bei beiden so aussieht dann ist die einfachste Lösung das Umsetzen des Trigger von "wurde geändert" auf "ist grösser als vorher".

                        Diese Herangehensweise halte ich für heikel.... Dann wird der Alarm nie gelöscht, wenn er einmal gesetzt wurde

                        Bei jeder Änderung muss geprüft werden, ob noch ein Fenster offen ist, und der Alarm entsprechend gesetzt werden...

                        Man könnte natürlich mit zwei Triggern arbeiten. Der eine kümmert sich um das Einschalten des Alarms, der andere um das Ausschalten....

                        Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                        Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
                        Linux pve 6.8.12-16-pve
                        6 GByte RAM für den Container
                        Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
                        Remote-Access über Wireguard der Fritzbox

                        AsgothianA 1 Antwort Letzte Antwort
                        0
                        • C cookiemonster1706

                          Guten Morgen,

                          ich möchte gerne mit einem Blockly-Script ein Alarm auslösen, wenn mindestens einer von 2 Fensterkontakten geöffnet wird.

                          Ich habe es folgendermaßen angelegt.
                          d79fc25c-c5e4-4726-982c-5427aa035e3d-image.png

                          Jedoch funktioniert es so nicht. Ich vermute, das ich noch eine Oder-Verknüpfung einsetzen muss.

                          Wie kann ich sowas konfigurieren?
                          Könnt ihr mit helfen.

                          Vielen Dank!

                          VG

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

                          @cookiemonster1706 sagte: Oder-Verknüpfung einsetzen muss.

                          Richtig!
                          Wenn die Datenpunkte vom Typ "Logikwert" oder vom Typ "Zahl" (0/1) sind, genügt es so:

                          Blockly_temp.JPG

                          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
                          1
                          • MartinPM MartinP

                            @asgothian sagte in Blockly Oder-Verknüpfung:

                            @cookiemonster1706 Für beide Datenpunkte ? Und warum als Screenshot gepostet - das ist doch alles text ?
                            Seis drum - Wenn bei beiden so aussieht dann ist die einfachste Lösung das Umsetzen des Trigger von "wurde geändert" auf "ist grösser als vorher".

                            Diese Herangehensweise halte ich für heikel.... Dann wird der Alarm nie gelöscht, wenn er einmal gesetzt wurde

                            Bei jeder Änderung muss geprüft werden, ob noch ein Fenster offen ist, und der Alarm entsprechend gesetzt werden...

                            Man könnte natürlich mit zwei Triggern arbeiten. Der eine kümmert sich um das Einschalten des Alarms, der andere um das Ausschalten....

                            AsgothianA Offline
                            AsgothianA Offline
                            Asgothian
                            Developer
                            schrieb am zuletzt editiert von
                            #13

                            @martinp sagte in Blockly Oder-Verknüpfung:

                            Man könnte natürlich mit zwei Triggern arbeiten. Der eine kümmert sich um das Einschalten des Alarms, der andere um das Ausschalten....

                            genau das würde ich tun. Und dann auf eine Art und Weise bei der ich nicht im Trigger den Wert des DP noch einmal holen muss.

                            ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                            "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                            MartinPM 1 Antwort Letzte Antwort
                            0
                            • MartinPM MartinP

                              z.B. was die Gasheizung mit deinen Fenstern zu tun hat

                              @homoran Ist das eine neue Forumsregel, dass man in seinem Beispiel keine Datenpunkte nehmen darf, die man eh auf seinem System hat, sondern zuerst sehen muss, dass man eine Testumgebung mit dem kompletten Datenbaum des ioBroker des Fragestellers einrichten muss?

                              HomoranH Nicht stören
                              HomoranH Nicht stören
                              Homoran
                              Global Moderator Administrators
                              schrieb am zuletzt editiert von
                              #14

                              @martinp Aber dann bitte ein wenig Text zur Erklärung dazu!
                              Einfach einen Screenshot ohne erkennbaren Zusammenhang zu posten, hilft dem Fragenden herzlich wenig

                              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                              1 Antwort Letzte Antwort
                              1
                              • AsgothianA Asgothian

                                @martinp sagte in Blockly Oder-Verknüpfung:

                                Man könnte natürlich mit zwei Triggern arbeiten. Der eine kümmert sich um das Einschalten des Alarms, der andere um das Ausschalten....

                                genau das würde ich tun. Und dann auf eine Art und Weise bei der ich nicht im Trigger den Wert des DP noch einmal holen muss.

                                MartinPM Online
                                MartinPM Online
                                MartinP
                                schrieb am zuletzt editiert von MartinP
                                #15

                                @asgothian

                                Mit Variablen könnte man den Zugriff auf den Objekt-Baum vermeiden:

                                ddd35d03-40b3-40a1-8a05-dcb2fe9edfa2-grafik.png

                                Eigentlich finde ich die Blocklys selbsterklärend

                                Der Trick bei den beiden Triggern ist, dass man beim Abschalten des Alarms vorher den anderen Zustand prüfen muss

                                Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                                Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
                                Linux pve 6.8.12-16-pve
                                6 GByte RAM für den Container
                                Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
                                Remote-Access über Wireguard der Fritzbox

                                AsgothianA 1 Antwort Letzte Antwort
                                1
                                • MartinPM MartinP

                                  @asgothian

                                  Mit Variablen könnte man den Zugriff auf den Objekt-Baum vermeiden:

                                  ddd35d03-40b3-40a1-8a05-dcb2fe9edfa2-grafik.png

                                  Eigentlich finde ich die Blocklys selbsterklärend

                                  Der Trick bei den beiden Triggern ist, dass man beim Abschalten des Alarms vorher den anderen Zustand prüfen muss

                                  AsgothianA Offline
                                  AsgothianA Offline
                                  Asgothian
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #16

                                  @martinp sagte in Blockly Oder-Verknüpfung:

                                  Mit Variablen könnte man den Zugriff auf den Objekt-Baum vermeiden:

                                  Eine schöne Lösung für 2 DP. Dann kommt der mit 3, 4, 5 oder auch 20 Fenstern und fragt sich ob es nicht was besseres gibt :)

                                  Aber wie oben geschrieben - das würde den Thread kapern und die Frage des OP nicht wirklich beantworten

                                  A.

                                  ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                                  "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                                  MartinPM 1 Antwort Letzte Antwort
                                  0
                                  • AsgothianA Asgothian

                                    @martinp sagte in Blockly Oder-Verknüpfung:

                                    Mit Variablen könnte man den Zugriff auf den Objekt-Baum vermeiden:

                                    Eine schöne Lösung für 2 DP. Dann kommt der mit 3, 4, 5 oder auch 20 Fenstern und fragt sich ob es nicht was besseres gibt :)

                                    Aber wie oben geschrieben - das würde den Thread kapern und die Frage des OP nicht wirklich beantworten

                                    A.

                                    MartinPM Online
                                    MartinPM Online
                                    MartinP
                                    schrieb am zuletzt editiert von
                                    #17

                                    @asgothian sagte in Blockly Oder-Verknüpfung:

                                    das würde den Thread kapern und die Frage des OP nicht wirklich beantworten

                                    Nunja, wenn die Hinweise zu einem leichter erweiterbaren Blockly führen, wäre dem Threadersteller vielleicht noch besser geholfen. Aber die Strukturen werden dadurch natürlich unübersichtlicher, Keep ist simple and stupid ;-)

                                    Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                                    Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
                                    Linux pve 6.8.12-16-pve
                                    6 GByte RAM für den Container
                                    Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
                                    Remote-Access über Wireguard der Fritzbox

                                    AsgothianA 1 Antwort Letzte Antwort
                                    1
                                    • MartinPM MartinP

                                      @asgothian sagte in Blockly Oder-Verknüpfung:

                                      das würde den Thread kapern und die Frage des OP nicht wirklich beantworten

                                      Nunja, wenn die Hinweise zu einem leichter erweiterbaren Blockly führen, wäre dem Threadersteller vielleicht noch besser geholfen. Aber die Strukturen werden dadurch natürlich unübersichtlicher, Keep ist simple and stupid ;-)

                                      AsgothianA Offline
                                      AsgothianA Offline
                                      Asgothian
                                      Developer
                                      schrieb am zuletzt editiert von Asgothian
                                      #18

                                      @martinp

                                      Hinterm Spoiler mein Universeller Ansatz für n zu prüfende Elemente.

                                      Was je nach Anwendung angepasst werden muss ist die Liste der zu prüfenden Elemente (gerne auch per Selektor), die Bedingung beim Einlesen der Ist-Werte am Anfang. sowie die Bedingung für das "Alarm Setzen" und "löschen". So wie es ist würde es für den OP gehen, und den Alarm setzen wenn mindestens 1 Sensor offen meldet, und löschen wenn keiner mehr offen ist.

                                      Das ganze lohnt aber erst ab 3-5 Sensoren, vorher sind andere Methoden effektiver.

                                      A.


                                      Screenshot 2024-11-22 at 14.16.23.png

                                      <xml xmlns="https://developers.google.com/blockly/xml">
                                        <variables>
                                          <variable id="z7dGtGTdWd=yX#`R{{B@">TriggerStates</variable>
                                          <variable id="lkD1J,;IzM=DQLcG.5|S">OpenContacts</variable>
                                          <variable id="amoGLBTN2N+h(t9?$1a^">TargetObject</variable>
                                          <variable id="7(F.{kV~9TmDm7$:bcGE">Index</variable>
                                        </variables>
                                        <block type="variables_set" id="geabdFGp+}T2TWVPH4UE" x="37" y="138">
                                          <field name="VAR" id="z7dGtGTdWd=yX#`R{{B@">TriggerStates</field>
                                          <value name="VALUE">
                                            <block type="lists_create_with" id="7oc/!KR!}TWk@PnPmc#l">
                                              <mutation items="3"></mutation>
                                              <value name="ADD0">
                                                <block type="field_oid" id="C9Y.RW^k@fn!8B6{QZ8~">
                                                  <field name="oid">zigbee.0.00158d00025ee1b2.opened</field>
                                                </block>
                                              </value>
                                              <value name="ADD1">
                                                <block type="field_oid" id="ntd:._~)BN^v5q:7*jv8">
                                                  <field name="oid">zigbee.0.00158d00031305b7.opened</field>
                                                </block>
                                              </value>
                                              <value name="ADD2">
                                                <block type="field_oid" id="JqA*V)gb5T)(7Lra3,ED">
                                                  <field name="oid">zigbee.0.00158d0001dcfc5e.opened</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="variables_set" id="SovLZ{^e*9-j1Y/76,B]">
                                              <field name="VAR" id="lkD1J,;IzM=DQLcG.5|S">OpenContacts</field>
                                              <value name="VALUE">
                                                <block type="lists_create_with" id="P@_aH9^P!sT^rvYjcqLQ">
                                                  <mutation items="0"></mutation>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="controls_forEach" id="Vou`^xt}+/cSs2`lWRp=">
                                                  <field name="VAR" id="amoGLBTN2N+h(t9?$1a^">TargetObject</field>
                                                  <value name="LIST">
                                                    <block type="variables_get" id="JKbQacAF:SE@CGtE+Gq(">
                                                      <field name="VAR" id="z7dGtGTdWd=yX#`R{{B@">TriggerStates</field>
                                                    </block>
                                                  </value>
                                                  <statement name="DO">
                                                    <block type="controls_if" id="C!Tkr[Hh4EH!t2Sr_fh]">
                                                      <value name="IF0">
                                                        <block type="logic_compare" id="@Wv8ocx5xriOXaqZpvN[">
                                                          <field name="OP">GT</field>
                                                          <value name="A">
                                                            <block type="get_value" id="9$l?Ut^SJMt}1+`#|Qxk">
                                                              <field name="ATTR">val</field>
                                                              <field name="OID">ID auswählen</field>
                                                            </block>
                                                          </value>
                                                          <value name="B">
                                                            <block type="math_number" id="d0IxSPdDwtNeWY?-S+En">
                                                              <field name="NUM">0</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <statement name="DO0">
                                                        <block type="lists_setIndex" id="ei2ri:vw31GJiJBTqH};">
                                                          <mutation at="false"></mutation>
                                                          <field name="MODE">INSERT</field>
                                                          <field name="WHERE">LAST</field>
                                                          <value name="LIST">
                                                            <block type="variables_get" id="3#Hzvq8V(;weFbmbNOTM">
                                                              <field name="VAR" id="lkD1J,;IzM=DQLcG.5|S">OpenContacts</field>
                                                            </block>
                                                          </value>
                                                          <value name="TO">
                                                            <block type="variables_get" id="hj_M`+v7|n}BNzFA:0^X">
                                                              <field name="VAR" id="amoGLBTN2N+h(t9?$1a^">TargetObject</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </statement>
                                                    </block>
                                                  </statement>
                                                  <next>
                                                    <block type="on_ext" id="4WzNM7Og_wOS2/Uul1hz">
                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                                      <field name="CONDITION">ne</field>
                                                      <field name="ACK_CONDITION"></field>
                                                      <value name="OID0">
                                                        <shadow type="field_oid" id="}mU7xnk},xxWzi%A$!w[">
                                                          <field name="oid">ID auswählen</field>
                                                        </shadow>
                                                        <block type="variables_get" id="5SH[{Bq@/LCw7PI#Da4`">
                                                          <field name="VAR" id="z7dGtGTdWd=yX#`R{{B@">TriggerStates</field>
                                                        </block>
                                                      </value>
                                                      <statement name="STATEMENT">
                                                        <block type="variables_set" id="d5Ll8Nh4_VJ/nj[GwdV,">
                                                          <field name="VAR" id="7(F.{kV~9TmDm7$:bcGE">Index</field>
                                                          <value name="VALUE">
                                                            <block type="lists_indexOf" id="6rQ)ZurAxPYNS9Pbl+qF">
                                                              <field name="END">FIRST</field>
                                                              <value name="VALUE">
                                                                <block type="variables_get" id="aY0%)OT?|T~xGQe48FiW">
                                                                  <field name="VAR" id="lkD1J,;IzM=DQLcG.5|S">OpenContacts</field>
                                                                </block>
                                                              </value>
                                                              <value name="FIND">
                                                                <block type="on_source" id="Z*Lh~V)CvJ*GXcwF9R#o">
                                                                  <field name="ATTR">id</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <next>
                                                            <block type="controls_if" id="|!vroN*CLlQO|%72fq?0">
                                                              <mutation else="1"></mutation>
                                                              <value name="IF0">
                                                                <block type="logic_compare" id="~(R$rBc!kEP]-5(b(U8i">
                                                                  <field name="OP">GT</field>
                                                                  <value name="A">
                                                                    <block type="on_source" id="V()q|sb_mlu^7{9ku8)j">
                                                                      <field name="ATTR">state.val</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="B">
                                                                    <block type="on_source" id="dk)hp$d:W9IDdo._c!L-">
                                                                      <field name="ATTR">oldState.val</field>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                              <statement name="DO0">
                                                                <block type="comment" id="Jj@6dS4(2Yw($NqQz?ek">
                                                                  <field name="COMMENT">IsOpen</field>
                                                                  <next>
                                                                    <block type="controls_if" id="{INLF:]]PZsm;-ronR/-">
                                                                      <value name="IF0">
                                                                        <block type="logic_compare" id="|~|Ra6F#B7U#Tsxo/W[s">
                                                                          <field name="OP">LTE</field>
                                                                          <value name="A">
                                                                            <block type="variables_get" id="w.v7~{J~DDhecDt8``;$">
                                                                              <field name="VAR" id="7(F.{kV~9TmDm7$:bcGE">Index</field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="B">
                                                                            <block type="math_number" id="=r%/qvZA~jyhvmGd`X4R">
                                                                              <field name="NUM">0</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                      <statement name="DO0">
                                                                        <block type="lists_setIndex" id="B.s}5w8o[rJSD?1q4;Fg">
                                                                          <mutation at="false"></mutation>
                                                                          <field name="MODE">INSERT</field>
                                                                          <field name="WHERE">LAST</field>
                                                                          <value name="LIST">
                                                                            <block type="variables_get" id="E{D@,b8#aH.649o)FZ{U">
                                                                              <field name="VAR" id="lkD1J,;IzM=DQLcG.5|S">OpenContacts</field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="TO">
                                                                            <block type="on_source" id="vHgXA)u;ME5.XYqPWQo^">
                                                                              <field name="ATTR">id</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </statement>
                                                                    </block>
                                                                  </next>
                                                                </block>
                                                              </statement>
                                                              <statement name="ELSE">
                                                                <block type="comment" id="XMV+!?[QG~aBV/,0[1,1">
                                                                  <field name="COMMENT">IsClosed</field>
                                                                  <next>
                                                                    <block type="controls_if" id="su,@jVGp9ZAwJYU[s@TA">
                                                                      <value name="IF0">
                                                                        <block type="logic_compare" id="[]b6(9sL@BJvF}A%`lqz">
                                                                          <field name="OP">GTE</field>
                                                                          <value name="A">
                                                                            <block type="variables_get" id="S,na9Z=(zF6wRGqnAB9A">
                                                                              <field name="VAR" id="7(F.{kV~9TmDm7$:bcGE">Index</field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="B">
                                                                            <block type="math_number" id="ttHu,;s*aZPGASplEtK+">
                                                                              <field name="NUM">0</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                      <statement name="DO0">
                                                                        <block type="lists_getIndex" id="faFVPoYx@i+Zgq^jNT_8">
                                                                          <mutation statement="true" at="true"></mutation>
                                                                          <field name="MODE">REMOVE</field>
                                                                          <field name="WHERE">FROM_START</field>
                                                                          <value name="VALUE">
                                                                            <block type="variables_get" id="?Wa_(g*jPE*htOSiIH[r">
                                                                              <field name="VAR" id="lkD1J,;IzM=DQLcG.5|S">OpenContacts</field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="AT">
                                                                            <block type="variables_get" id="FWU#eirV-_h~=v.m^z@d">
                                                                              <field name="VAR" id="7(F.{kV~9TmDm7$:bcGE">Index</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </statement>
                                                                    </block>
                                                                  </next>
                                                                </block>
                                                              </statement>
                                                              <next>
                                                                <block type="controls_if" id="geL~N#TBp,dL:YNu?w|:">
                                                                  <mutation else="1"></mutation>
                                                                  <value name="IF0">
                                                                    <block type="logic_compare" id="(G4Valke_]i8=p0)++jx">
                                                                      <field name="OP">GT</field>
                                                                      <value name="A">
                                                                        <block type="lists_length" id="j%aG3yIdA2MzS*~XS8N1">
                                                                          <value name="VALUE">
                                                                            <block type="variables_get" id="JpYUIU;Dxr*[gqnxNMW:">
                                                                              <field name="VAR" id="lkD1J,;IzM=DQLcG.5|S">OpenContacts</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                      <value name="B">
                                                                        <block type="math_number" id="IlmJN5dz|39])5$gaR40">
                                                                          <field name="NUM">0</field>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </value>
                                                                  <statement name="DO0">
                                                                    <block type="comment" id="@UVj5+cknE;47(V^U[SH">
                                                                      <field name="COMMENT">Alarm Setzen</field>
                                                                    </block>
                                                                  </statement>
                                                                  <statement name="ELSE">
                                                                    <block type="comment" id="d9f=J:wqYy|(Ukl-d]._">
                                                                      <field name="COMMENT">Alarm löschen</field>
                                                                    </block>
                                                                  </statement>
                                                                </block>
                                                              </next>
                                                            </block>
                                                          </next>
                                                        </block>
                                                      </statement>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </xml>
                                      

                                      ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                                      "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                                      1 Antwort Letzte Antwort
                                      0
                                      • C Offline
                                        C Offline
                                        cookiemonster1706
                                        schrieb am zuletzt editiert von
                                        #19

                                        Vielen Dank für eure Unterstützung. Es funktioniert.
                                        Ich werde es mir nochmal im Detail anschauen, um es zu opitmieren.

                                        MartinPM 1 Antwort Letzte Antwort
                                        0
                                        • C cookiemonster1706

                                          Vielen Dank für eure Unterstützung. Es funktioniert.
                                          Ich werde es mir nochmal im Detail anschauen, um es zu opitmieren.

                                          MartinPM Online
                                          MartinPM Online
                                          MartinP
                                          schrieb am zuletzt editiert von
                                          #20

                                          @cookiemonster1706 sagte in Blockly Oder-Verknüpfung:

                                          Vielen Dank für eure Unterstützung. Es funktioniert.

                                          Dann ändere bitte noch den Threadtitel, indem du "Gelöst:" davorsetzt

                                          Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                                          Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
                                          Linux pve 6.8.12-16-pve
                                          6 GByte RAM für den Container
                                          Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
                                          Remote-Access über Wireguard der Fritzbox

                                          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

                                          834

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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