Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Mehrere Objekte überwachen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Mehrere Objekte überwachen

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

      Hallo zusammen!

      Ich bin neue hier und arbeite mich gerade in das Thema ein. Ich möchte gerne eine Variable auf "Wahr" bzw. "Falsch" setzen, falls bestimmte Datenpunkte Wahr bzw. Falsch sind.

      Hinergund
      Auf meiner Visualisierung möchte ich sehen, ob irgendeines meiner 16 Fenster geöffnet ist. Falls nur eines davon auf ist, soll meine Variable "Wahr" sein, damit ich direkt auf einen Blick sehe, ob eines der Fenster auf ist.

      Falls alle Fenster zu sind, soll die Variable "Falsch" ausgeben, und ich will in meiner Visualisierung ein geschlossenes Fenster sehen.

      Ich wollte das mit Blockly realisieren, aber ich kriege es nicht hin. Ich hatte folgendes erstellt:
      Blockly_Offenes_Fenster.jpg

      Nun weiß ich aber noch nicht, wie ich den Status wieder zurück auf "Falsch" setzen kann, wenn alle Fenster wieder zu sind.
      Kann mir hier jemand einen Tipp geben?

      Vielen Dank!

      paul53 mickym 3 Replies Last reply Reply Quote 0
      • paul53
        paul53 @New_Home last edited by

        @new_home sagte: Falls nur eines davon auf ist, soll meine Variable "Wahr" sein

        Dann müssen alle Werte per ODER verknüpft werden.

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

          @new_home ich arbeite zwar mit NodeRed, aber ein bisschen kann ich Blockly inzwischen lesen.
          Im Prinzip lässt Du jedes Fenster triggers, aber Du wertest ja die Werte/Zustände nicht aus.
          Im Prinzip musst Du alle Werte mit ODER verknüpfen, wenn Fenster offen = True ist, oder alle Werte mit UND verknüpfen, wenn Fenster offen = False ist. Das weiß ich nicht, wie das bei Dir funktioniert.

          Die Zustandsvariable oder Datenpunkt ist dann das Ergebnis der logischen Verknüpfung.

          Du kannst also jedes Fenster triggers lassen, musst dann aber den Zustand jedes Fensters abfragen.

          Eine andere Möglichkeit : ich sammle alle Trigger in einem Objektdatenpunkt und analysiere den, sobald der neu geschrieben. Also erzeuge ein Objekt und schreibe diesen in einen Datenpunkz und analysiere diesen, wenn er aktualisiert wird.

          Bei mir ist das so, dass wenn ein Fenster offen ist, der Wert true ist. Ich schreibe mit jedem Trigger folgenden Überwachungspunkt als JSON String:

          dcf83c7b-7c62-4cb4-a375-0cc8b0b9d3d0-image.png

          Wenn dieser Datenpunkt neu geschrieben wird, dann wird das logisch mit ODER überprüft und wenn ein Fenster true ist, dann ist geöffnet insgesamt true.

          Man muss für die 2. Methode auch nicht gleich alle Fenster abfragen, sondern lässt den Datenpunkt mit jedem Trigger wachsen. Das kannst halt alles selbst entscheiden.

          Ansonsten kannst Du wahrscheinlich auch im Blockly den Trigger vereinfachen, wenn die Struktur Deiner Fenster Status identisch ist. Sonst wäre es empfehlenswert über Alias ggf. eine einheitliche Struktur zu schaffen.
          So wäre dann als Trigger einfach alias.0.fenster.*.status möglich. Der Stern (Wildcard) steht dann für jedes Zimmer.

          Ich hab hier mal die Verfügbarkeit meiner Zigbee Devices mit Wildcards implementiert: https://forum.iobroker.net/topic/44765/gelöst-überwachung-eingeschaltete-verbraucher/6
          bzw. dargestellt.

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

            @new_home
            Bei so vielen Fenstern ist es besser, den Fenster-Datenpunkten eine Aufzählung "enum.functions.fenster" zuzuweisen, dann den Selektor zu verwenden und alle Fenster in einer Schleife abzufragen:

            Bild_2021-10-23_180752.png

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

              @paul53 Das ist ja echt der Wahnsinn, wie schnell ich hier kompetente Hilfe bekommen. Vielen Dank!!!

              Eigentlich habe ich in irgendeinem Video-Tutorial etwas gesehen was ich gerne umsetzen würde. Da war eine Lampe, die entweder an oder aus war. Wenn sie an war, dann war darin eine kleine Zahl zu sehen die angegeben hat, wie viele Lampen an sind.
              Das gleiche hätte ich mir für die Fenster vorgestellt.

              Aber die hier gezeigte Lösung sollte es auch erstmal tun.
              Vielen Dank!!!

              crunchip 1 Reply Last reply Reply Quote 0
              • crunchip
                crunchip Forum Testing Most Active @New_Home last edited by

                @new_home du kannst dieses Script nutzen, damit hast du sämtliche Datenpunkte, die du anschliessend in deiner Vis anzeigen lassen kannst, unter anderm die Anzahl der geöffneten/gekippten Fenster/Türen

                https://github.com/Pittini/iobroker-Fensterauswertung

                https://forum.iobroker.net/topic/31674/vorlage-generisches-fensteroffenskript-vis

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

                Support us

                ioBroker
                Community Adapters
                Donate

                868
                Online

                31.8k
                Users

                80.0k
                Topics

                1.3m
                Posts

                4
                6
                811
                Loading More Posts
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes
                Reply
                • Reply as topic
                Log in to reply
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                The ioBroker Community 2014-2023
                logo