Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. DP abhängig von mehreren Varianten

    NEWS

    • Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    DP abhängig von mehreren Varianten

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

      @asgothian sagte: Füge dem falls ein grosses "und" hinzu - neben den 3 Bedingungen der Sensoren muss mit hinein: 'Wert < sollwertThermostat

      Das ist bereits enthalten.

      @asgothian sagte in DP abhängig von mehreren Varianten:

      wird nur aktualisiert wenn der Wert sich auch geändert hat.

      Das würde ich so machen:

      Blockly_temp.JPG

      S 2 Replies Last reply Reply Quote 0
      • S
        Stefan341 @paul53 last edited by

        @paul53 , @Asgothian

        Also eigentlich sind eure beiden Vorschläge gleich, nur mit dem Unterschied, dass @Asgothian den Datenpunkt am Ende des Scripts direkt mit 1 oder 0 ansteuert und @paul53 ihn nur ansteuert wenn der DP ungleich der Variable ist und somit die Variable mit dem DP immer gleich hält oder sehe ich das falsch?

        @paul53
        ich verstehe in deinem Script den Teil nicht ganz, wo du den Wert der Variable setzt. Ich lese das so: Die Variable wohnkueche soll gesetzt werden wenn die IST-Temperatur < der SOLL Temperatur ist und zusätzlich mindestens eines der drei Fenster auf ist. Aber da fehlt doch auf was die Variable gesetzt werden soll oder?

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

          @paul53 said in DP abhängig von mehreren Varianten:

          Das würde ich so machen:

          Blockly_temp.JPG

          Das funktioniert nicht ganz. Folgendes habe ich ausprobiert:

          Fenster 1 ist auf.
          Am Thermostat sinkt IST unter den Wert von SOLL
          Der DP geht auf 1
          Fenster 2 wird zusätzlich geöffnet
          Der DP geht auf 0

          Hier müsste der DP auf 1 bleiben, bis ALLE Fenster geschlossen werden

          mickemup 1 Reply Last reply Reply Quote 0
          • mickemup
            mickemup @Stefan341 last edited by

            @stefan341
            Das kann eigentlich nicht sein, wenn du es so wie vorgeschlagen implementiert hast.
            Verhält es sich immer so, oder ist per Zufall mit beim Öffnen von Fenster zufällig "gleichzeitig" die IST über die SOLL Temperatur gestiegen?

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

              @stefan341 sagte da fehlt doch auf was die Variable gesetzt werden soll oder?

              Wenn die Bedingungen erfüllt sind wird die Variable true, sonst false.

              Sollen 1 und 0 geschrieben werden, dann:

              Blockly_temp.JPG

              S 2 Replies Last reply Reply Quote 0
              • S
                Stefan341 @paul53 last edited by

                @paul53 said in DP abhängig von mehreren Varianten:

                @stefan341 sagte da fehlt doch auf was die Variable gesetzt werden soll oder?

                Das meinte ich mit

                @stefan341 said in DP abhängig von mehreren Varianten:

                @paul53
                ich verstehe in deinem Script den Teil nicht ganz, wo du den Wert der Variable setzt. Ich lese das so: Die Variable wohnkueche soll gesetzt werden wenn die IST-Temperatur < der SOLL Temperatur ist und zusätzlich mindestens eines der drei Fenster auf ist. Aber da fehlt doch auf was die Variable gesetzt werden soll oder?

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

                  @paul53
                  Jetzt funktioniert es soweit. Nur eine Kleinigkeit ist mir aufgefallen, die ich bisher noch nicht berücksichtigt hatte:

                  Wenn im Thermostat IST < SOLL ist und ein Fenster geöffnet wird, geht der DP auf true.
                  Soweit ist das richtig.
                  Wenn das Fenster NICHT geschlossen wird, die Heizung heizt und irgendwann soviel geheizt ist, dass IST = oder > SOLL ist, geht der DP auf false.
                  Somit wird suggeriert, dass alles ok ist und die Warnung im VIS, für die ich das Ganze nutzen möchte, verschwindet, obwohl eigentlich nichts gut ist, sondern die Heizung die Außenwelt mitheizt.

                  Könnte man das Ganze so erweitern, dass wenn der DP auf true war, er erst auf false geht, wenn alle Fenster zu sind?

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

                    @stefan341 sagte: wenn der DP auf true war, er erst auf false geht, wenn alle Fenster zu sind?

                    Blockly_temp.JPG

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

                      @paul53
                      Danke, das klappt soweit.

                      Im nächsten Schritt müsste ich die Datenpunkte, die ich für jeden Raum habe, in der VIS anzeigen lassen. Also ich habe mir das so gedacht, dass ich ein Skript erstelle, dass die Datenpunkte triggert, wenn einer auf true geht, einen Namen für den DP in einen weiteren DP schreibt. Im Idealfall muss ich dann nur den Inhalt des letzten DP, in dem alle offenen Fenster gelistet sind, in der VIS ausgeben lassen

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

                        @stefan341 sagte: DP, in dem alle offenen Fenster gelistet sind, in der VIS ausgeben lassen

                        Etwa so?

                        Blockly_temp.JPG

                        Alle Räume mit offenen Fenstern werden gelistet.

                        S 2 Replies Last reply Reply Quote 0
                        • S
                          Stefan341 @paul53 last edited by

                          @paul53
                          Danke. Ich habe momentan noch ein paar andere Dinge die ich zuerst erledigen muss. Darum dauerte meine Antwort auch etwas. Ich werde es testen.

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

                            @paul53 Ich bin jetzt endlich dazu gekommen es zu testen.
                            Es funktioniert fast.

                            Wenn einer der DP auf 1 geht, ändert sich der VIS-DP in "folgende Fenster sind geöffnet...". Soweit geht es. Geht der DP nun aber wieder auf 0 weil das Fenster geschlossen wurde, ändert sich der VIS-DP nicht in "Alle Fenster sind geschlossen"

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

                              @stefan341 sagte: weil das Fenster geschlossen wurde, ändert sich der VIS-DP nicht in "Alle Fenster sind geschlossen"

                              Das Resultat erscheint nur, wenn wirklich alle Fenster geschlossen sind, also die Liste "offen" leer bleibt.

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

                                @paul53
                                Ok, das klingt logisch. Aber das soll ja keine generelle Warnung sein wenn ein Fenster offen ist, sondern nur warnen wenn einer der Datenpunkte auf 1 geht.

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

                                  @stefan341 sagte: nur warnen wenn einer der Datenpunkte auf 1 geht.

                                  Du meinst so?

                                  Blockly_temp.JPG

                                  oder so?

                                  Blockly_temp.JPG

                                  Das widerspricht dieser Aussage:
                                  @stefan341 sagte in DP abhängig von mehreren Varianten:

                                  nur den Inhalt des letzten DP, in dem alle offenen Fenster gelistet sind, in der VIS ausgeben lassen

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

                                    @paul53 said in DP abhängig von mehreren Varianten:

                                    Das widerspricht dieser Aussage:
                                    @stefan341 sagte in DP abhängig von mehreren Varianten:

                                    nur den Inhalt des letzten DP, in dem alle offenen Fenster gelistet sind, in der VIS ausgeben lassen

                                    Ich habe das unglücklich ausgedrückt. Ich meinte in dem Datenpunkt sollten alle offenen Fenster gelistet sein, weswegen folgendes Skript ausgelöst hat

                                    @paul53 said in DP abhängig von mehreren Varianten:

                                    @stefan341 sagte: wenn der DP auf true war, er erst auf false geht, wenn alle Fenster zu sind?

                                    Blockly_temp.JPG

                                    Das wäre dann das zweites Skript aus deinem letzten Post oder?

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

                                      @stefan341 sagte: Das wäre dann das zweites Skript aus deinem letzten Post oder?

                                      Das löst nur aus, wenn das erste Fenster in einem Raum geöffnet wird.

                                      @stefan341 sagte in DP abhängig von mehreren Varianten:

                                      weswegen folgendes Skript ausgelöst hat

                                      Ich war der Auffassung, dass du die in diesem Skript (pro Raum) beschriebenen Datenpunkte auswerten willst, um in Vis zu zeigen, in welchen Räumen noch Fenster offen sind.

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

                                        @paul53 said in DP abhängig von mehreren Varianten:

                                        Ich war der Auffassung, dass du die in diesem Skript (pro Raum) beschriebenen Datenpunkte auswerten willst, um in Vis zu zeigen, in welchen Räumen noch Fenster offen sind.

                                        Nicht ganz 🙂
                                        Also, das erste Skript setzt den DP für das jeweilige Zimmer auf 1 wenn die IST-Temperatur tiefer als die SOLL-Temeratur ist und ein bzw mindestens ein Zimmer geöffnet ist.

                                        Das zweite Skript soll nun in dem Datenpunkt für die VIS anzeigen in welchem Zimmer das der Fall ist. Dazu habe ich bei dem oberen Datenpunkten die für das erste Skript angelegten DP ausgewählt und sie weiter unten so bezeichnet wie die Anzeige in der VIS sein soll.
                                        Wenn nun einer der oben eingetragenen DP auf 1 geht, wird das jeweilige Zimmer richtig angezeigt. Ist die Voraussetzung mit IST < SOLL und mind. ein Fenster auf nicht mehr gegeben, geht der DP vom ersten Skript ja wieder auf 0. Aber das zweite Skript nimmt den jeweiligen Text nicht raus. Es bleibt weiter im zweiten DP stehen, dass das Fenster auf ist.

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

                                          @stefan341 sagte : geht der DP vom ersten Skript ja wieder auf 0. Aber das zweite Skript nimmt den jeweiligen Text nicht raus. Es bleibt weiter im zweiten DP stehen, dass das Fenster auf ist.

                                          Das kann ich nicht nachvollziehen, denn genau das macht die Schleife: Sie schreibt nur die Räume in das Array, in denen der Wert 1 (oder true) ist.

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          930
                                          Online

                                          32.3k
                                          Users

                                          81.0k
                                          Topics

                                          1.3m
                                          Posts

                                          4
                                          22
                                          481
                                          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