Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly Telegramm Heizungsanlage (Vorlauftemperatur)

    NEWS

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    Blockly Telegramm Heizungsanlage (Vorlauftemperatur)

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

      @asgothian Hallo Asgothian, vielen Dank für deine Rückmeldung.
      Leider bin ich nicht so bewandt und daher sagen mir deine Informationen nichts bzw. ich weiß nicht wie ich ein entsprechendes Blockly Script aufbauen kann.

      • eine Abfrage : "wert" < limit und "vorheriger Wert" >= 20.. darin: timeout 20 minuten -wenn abgelaufen Meldung

      • list itemeine Abfrage "wert" >= limit dann timeout anhalten.

      • wichtig: die Bausteine "wert" und "vorheriger Wert" stammen aus dem "Trigger" Bereich und sind dort mit "Objektid" vorbelegt.

      Ist es für dich OK, wenn du mir da noch mal hilfst und ggf. das Blockly Script aufbauen kannst?

      VG
      Takahara

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

        @takahara

        Vorschlag:

        Bild_2022-04-16_113239183.png

        @asgothian sagte in Blockly Telegramm Heizungsanlage (Vorlauftemperatur):

        wichtig: die Bausteine "Wert" und "vorheriger Wert" stammen aus dem "Trigger" Bereich und sind dort mit "Objektid" vorbelegt.

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

          @paul53 Hi Paul, auch die vielen Dank.

          Müsste es in der sonst falls Bedingung nicht heißen < 50?

          2022-04-16 11_37_20-javascript - smarthomeraspi.png

          VG
          Takahara

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

            @takahara sagte: Müsste es in der sonst falls Bedingung nicht heißen < 50?

            Nein, da die Abfrage im sonst-Zweig erfolgt, bedeutet es: Die Temperatur unterschreitet erstmalig 50 °C (war >= 50 und ist jetzt < 50). Ohne diese Abfrage würden mehrere Timer gestartet, die sich nicht mehr stoppen lassen.

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

              @paul53 Hallo Paul, so zu 100% habe ich das Blockly Script noch nicht verstanden. Heute Morgen hatten wir wieder mal einen Ausfall der Heizung. Ich hätte jetzt erwartet, das gegen 09:04:24 die Meldung geschickt wird, dass die Vorlauftemperatur zu niedrig ist. Habe allerdings keine Nachricht erhalten.
              Wie du siehst, ist die Vorlauftemperatur um 08:44:24 auf unter 30°C gefallen und ist erst wieder um 11:10:47 auf über 30°C gestiegen.

              2022-04-19 12_59_45-Danfoss ECL Comfort 310 - Grafana.png

              Eine weitere Funktion würde ich noch keine einbinden. Und zwar, dass eine Meldung abgeschickt wird, wenn (wie oben zu sehen) die Vorlauftemperatur wieder über 30° oder auch 35°C ist und ich somit sicher sein kann, dass die Heizung wieder funktioniert. Kannst du mir evtl. noch mal helfen, bitte?

              Aktuellen Blockly:
              2022-04-19 13_02_47-javascript - smarthomeraspi.png

              VG
              Takahara

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

                @takahara sagte: Habe allerdings keine Nachricht erhalten.

                Wenn bei "falls" Wert >= 30 verglichen wird, muss der Vergleich bei "sonst falls" ebenfalls vorheriger Wert >= 30 sein, da sonst eine Temperaturänderung von 30 °C auf 29,9 °C nicht erfasst wird.

                @takahara sagte in Blockly Telegramm Heizungsanlage (Vorlauftemperatur):

                über 30°C ist und ich somit sicher sein kann, dass die Heizung wieder funktioniert.

                falls Wert > 30 und vorheriger Wert <= 30 mache Nachricht "Heizung läuft wieder"
                

                Besser allerdings mit einem höheren Schwellwert und einer Hilfsvariablen:

                Bild_2022-04-19_141841097.png

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

                  @paul53 Hallo Paul53, vielen Dank nochmals für deine großzügige Hilfe und Unterstützung. Das von dir zur Verfügung gestellte Script scheint aktuell genau das zu machen, was ich gesucht habe.
                  Ich verstehe leider noch nicht alle Blöcke und hätte noch folgende Fragen:

                  • Was macht der allererste Funktionblock?

                  • Die Systemvariable "Heizung_an", kann nur "wahr" oder "falsch" sein, richtig?

                  • Wie kann die Sonst falls Bedingung (vorheriger Wert >= 30) erfüllt sein, wenn hier eigentlich nur Werte < 30 zum Senden der Textnachricht führen sollen?
                    2022-04-21 20_38_37-Window.png
                    VG
                    Takahara

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

                    @takahara sagte: Was macht der allererste Funktionblock?

                    Er initialisiert die Variable beim Skriptstart auf einen sinnvollen Wert (true bei >= 30 °C). Andernfalls würde nach dem Skriptstart die Nachricht "Heizung läuft wieder" kommen, wenn die Temperatur >= 33 °C ist oder erreicht.

                    @takahara sagte in Blockly Telegramm Heizungsanlage (Vorlauftemperatur):

                    Die Systemvariable "Heizung_an", kann nur "wahr" oder "falsch" sein, richtig?

                    Ja. Ohne den ersten Funktionsblock wäre sie nach einem Skriptstart erst einmal undefined.

                    @takahara sagte in Blockly Telegramm Heizungsanlage (Vorlauftemperatur):

                    Wie kann die Sonst falls Bedingung (vorheriger Wert >= 30) erfüllt sein, wenn hier eigentlich nur Werte < 30 zum Senden der Textnachricht führen sollen?

                    Die Bedingung für den sonst-Zweig ist Wert < 30 (Gegenteil von Wert >= 30). Die gesamte Bedingung lautet also: Wert < 30 UND vorheriger Wert >= 30, was erstmaliges Unterschreiten des Wertes von 30 bedeutet und verhindert, dass der Timer mehrfach gestartet werden kann.

                    T 1 Reply Last reply Reply Quote 0
                    • David G.
                      David G. last edited by

                      Ich habe mir das Blockly heute morgen auch 100x angeschaut und habe es nicht verstanden.
                      Man(m) (zumindest ich) vergisst in seinem Kopf schnell, dass die erste Bedienung ja umgekehrt in "sonst falls" fliest.
                      Am ersten Blick sieht man nur, dass 2x gefragt wird ob der Wert größer als 30 ist und nichts passiert wenn der Wert kleiner ist.

                      Musste es mir auch kurz aufschreiben 😄

                      35 grad "falls" - stop timeout da Wert größer als 30
                      30 grad "falls" - stop timeout da Wert gleich 30
                      25 grad "sonst falls" greift weil "falls" nicht erfüllt wurde. Telegram wird gesendet, da vorheriger Wert >=30
                      20 grad "sonst falls" greift weil "falls" nicht erfüllt wurde. Telegram wird nicht versendet, da vorheriger Wert nicht >=30

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

                        @paul53 said in Blockly Telegramm Heizungsanlage (Vorlauftemperatur):

                        Die Bedingung für den sonst-Zweig ist Wert < 30 (Gegenteil von Wert >= 30). Die gesamte Bedingung lautet also: Wert < 30 UND vorheriger Wert >= 30, was erstmaliges Unterschreiten des Wertes von 30 bedeutet und verhindert, dass der Timer mehrfach gestartet werden kann.

                        Wenn ich deine Antwort richtig verstehe, dann sagst du mit anderen Worten:

                        • Die Bedingung für den sonst-Zweig ist Wert < 30 (Gegenteil von Wert >= 30). =>Ist die erste Prüfung der "Falls Wert >= 30 ist"

                        • vorheriger Wert >= 30, => Ist die erste Prüfung der "Sonst falls vorheriger Wert >=30 ist"

                        Da zuerst die falls-Bedingung geprüft wird und diese nicht erfüllt ist (da Wert <30 ist). Anschließend wir die sonst falls-Bedingung geprüft und diese ist zutreffend, da der aktuelle Wert <30 ist und der vorherige Wert >30 war.

                        wäre ich nie drauf gekommen, dass so zu programmieren, aber wenn ich das Script jetzt betrachte, macht es Sinn.

                        Vielen Dank noch mal für deine Hilfe.

                        VG
                        Takahara

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        845
                        Online

                        32.0k
                        Users

                        80.5k
                        Topics

                        1.3m
                        Posts

                        4
                        12
                        556
                        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