Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Wertänderung mit Wert vor 5 Min vergleichen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Wertänderung mit Wert vor 5 Min vergleichen

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Mika 0 last edited by

      Hallo,

      ich suche im Blockly die Möglichkeit für eine Temperaturänderungserkennung alle 5 Minuten.
      Die Objekte: Raum-Soll Temperatur minus Raumtemperatur (beides Zahlen).
      Daraus bilde ich mir ein Delta, also Raum-Soll minus Raumtemperatur.

      Alle 6-10 Sekunden kommt ein neuer oder aktualisierter Wert der Raumtemperatur.

      Ich möchte eine Temperaturänderung alle 5 Minuten feststellen.
      Wie kann ich denn den jetzigen Raumtemperatur Wert in einer Variable festhalten, und diesen mit dem Wert in 5 Minuten vergleichen und daraus weiter arbeiten?

      paul53 Homoran 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @Mika 0 last edited by

        @mika-0 sagte: Temperaturänderung alle 5 Minuten

        Blockly_temp.JPG

        M 1 Reply Last reply Reply Quote 3
        • Homoran
          Homoran Global Moderator Administrators @Mika 0 last edited by

          @mika-0

          so in etwa

          Triggern auf Temperatur Änderung
          falls nicht timeout
          setze varTemp auf Wert
          Timeout 5 Minuten
          setze varDiff auf(Wert - varTemp)

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

            @paul53 Danke, habe ich umgesetzt und im Test funktioniert das. Danke.

            b77d5523-e843-4704-a97d-a80cce4a801c-image.png

            Ist das so korrekt mit den oberen "setze" ? Wozu ist das initialisieren?

            Ich habe noch Bereiche eingetragen um eine Art Hysterese einzubauen. Sobald ein Bereich betreten wird, wird dieser nicht erneut ausgelöst, sondern erst, wenn ein weiterer Bereich betreten wird.
            Macht mein Ansatz hier Sinn das vorerst auf false zu setzen?

            790d27d3-5f4f-4c8c-9ebf-04ca99ec72bc-image.png

            @Homoran Auch dir Danke, aber paul53 war schneller 😉

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

              @mika-0 sagte: Bereiche eingetragen um eine Art Hysterese einzubauen. Sobald ein Bereich betreten wird, wird dieser nicht erneut ausgelöst, sondern erst, wenn ein weiterer Bereich betreten wird.

              Ich kann der Logik mit den Bereichen nicht folgen.
              Was sind Bereiche und wie werden sie erfasst? Und wie ausgewertet?

              @mika-0 sagte in Wertänderung mit Wert vor 5 Min vergleichen:

              habe ich umgesetzt

              Die Differenz muss gebildet werden bevor Delta_alt gesetzt wird! So ist sie immer 0.

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

                @paul53 Ich verstehe das nicht, wie ich das vorher setzen soll.
                Ich habe das so aufgesetzt wir deine Vorgabe. Muss ich noch irgendein Trigger nutzen für die "setze" ohne Trigger ganz oben?

                Das Skript ist viel zu lange um das hier als Bild aufzulisten. Ich habe das Skript mal hier rein gemacht. Ahhh, das Skript ist auch zu lang. Ich versuchs im nächsten Beitrag.

                7daf34aa-5a2d-4a78-a3a4-79510a602160-image.png

                Das Thema mit den Bereichen kannst unten sehen. Die Kompressorleistung wir statisch gesetzt je Bereich A-D und F - dies entspricht dem Temperatur-Delta auf einem festen Wert. Die Differenz wird nach 3 Minuten neu gebildet und positiv oder negativ ausgewertet (ob die Raumtemp steigt oder fällt). Durch die Differenz wird die Kompressorleistung innerhalb eines Bereiches verändert.

                Eine Leistung der Wärmepumpe ist abhängig von der Außentemperatur und der Wärmemenge des Raumes, sicherlich auch etwas der Luftfeuchte draußen. Um das alles zu umgehen und den Kompressor mit so wenig wie nötig an Leistung zu befeuern die Sache mit den Bereichen und den Differenzen. So umgehe ich Kompressorabschaltungen.

                So sieht das Konzept aus:
                b35587bc-659d-42a0-b1c7-958d476f4127-image.png

                paul53 Homoran 3 Replies Last reply Reply Quote 0
                • paul53
                  paul53 @Mika 0 last edited by paul53

                  @mika-0 sagte: Ich habe das so aufgesetzt wir deine Vorgabe.

                  Hast du nicht! Diese beiden Blöcke müssen in der Reihenfolge getauscht werden, da sonst die Differenz immer 0 ist:

                  Blockly_temp.JPG

                  Meine Vorgabe war:

                  Blockly_temp.JPG

                  1 Reply Last reply Reply Quote 1
                  • Homoran
                    Homoran Global Moderator Administrators @Mika 0 last edited by

                    @mika-0 sagte in Wertänderung mit Wert vor 5 Min vergleichen:

                    Muss ich noch irgendein Trigger nutzen für die "setze" ohne Trigger ganz oben?

                    Natürlich nicht!
                    Die stehen da ohne Trigger, damit die Variablen zum Skriptstart befüllt werden.
                    Sonst wäten sie im ersten Zyklus undefined

                    paul53 1 Reply Last reply Reply Quote 1
                    • paul53
                      paul53 @Homoran last edited by

                      @homoran sagte: Sonst wäten sie im ersten Zyklus undefined

                      ... was nicht stören muss, was davon abhängt, wie sie ausgewertet werden.

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

                        @paul53 Vielen Dank für die Hilfe. Jetzt bekomme ich auch eine Differenz angezeigt.

                        @Homoran Danke auch dir für die Erklärung

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

                          @mika-0 sagte: So sieht das Konzept aus:

                          Das verstehe ich nicht: Sind zu viele Prozentwerte.
                          Vermutung: Du möchtest in Abhängigkeit von der Änderungsgeschwindigkeit der Regelabweichung (Istwert - Sollwert) die Leistung der WP in Stufen steuern?

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

                            @paul53 sagte in Wertänderung mit Wert vor 5 Min vergleichen:

                            @mika-0 sagte: So sieht das Konzept aus:

                            Das verstehe ich nicht: Sind zu viele Prozentwerte.
                            Vermutung: Du möchtest in Abhängigkeit von der Änderungsgeschwindigkeit der Regelabweichung (Istwert - Sollwert) die Leistung der WP in Stufen steuern?

                            Nicht ganz.
                            Abhängig von Delta: Raum-Ziel-Temperatur minus Raum-Temperatur wird die Kompressorleistung gesteuert.
                            Es handelt sich um Luft-Luft Wärmepumpen, also kein Puffermedium (Bsp. Wasser). Die Raumluft kann sich also sehr schnell ändern. Damit es zu keiner Kompressorabschaltung kommt, soll so schnell wie möglich die Zieltemperatur erreicht werden und kurz vor Erreichen der Zieltemperatur wird die Kompressorleistung gedrosselt und soll sich so einpendeln.

                            Wenn Sonne dazu kommt, gibt es einen Überschwinger. Den kann ich nicht beeinflussen, deshalb wird auch Bereich F berücksichtigt.

                            Was besseres ist mir bisher nicht eingefallen.

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

                              @mika-0 sagte: kurz vor Erreichen der Zieltemperatur wird die Kompressorleistung gedrosselt und soll sich so einpendeln.

                              Dafür verwendet man einen PI-Regler.

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

                                @paul53 das klingt gut. Da muss ich mich aber erst richtig einlesen. Kann man sicherlich auch für mein System umbasteln.
                                Bis dato kann ja mein Skript laufen.

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

                                  @mika-0 sagte: Da muss ich mich aber erst richtig einlesen.

                                  Es gibt mittlerweile auch einen Adapter.

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  556
                                  Online

                                  31.7k
                                  Users

                                  79.6k
                                  Topics

                                  1.3m
                                  Posts

                                  3
                                  15
                                  382
                                  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