Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Heizlastanalyse mit WMZ + Simulierung WP

    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

    Heizlastanalyse mit WMZ + Simulierung WP

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

      Servus,
      sieht gut aus das letzte Script 🙂

      Weiter geht mit der anderen Baustelle..

      Bild Text

      Damit versuch ich die aktuelle Leistung der WMZ in Stromverbrauch einer Wärmepumpe um zu rechnen.
      WP_elektrisch=Leistung_Öl / COP

      Der COP ist abhängig von Außentemperatur und Vorlauftemperatur.
      Die Außentemperatur kann ich mithlife einer Funktion darstellen.
      In diesem Fall f(x) = 0x^3 + 0,014x^2 + 0,145x + 3,402
      Im ersten Versuch würde ich Werte für gezielte Vorlauftemperaturen generieren - in diesem Fall 35°
      Quelle:
      Bild Text

      Könnte das Script so funktionieren?
      Wie stelle ich die Quadratfunktion dar? Habe zwar das "10^X" gefunden - verstehe aber ehrlich gesagt die Verwendung nicht ganz.

      Kann ich den anfallenden Stromverbrauch bzw. Leistung in kWh umrechnen damit ich die Werte wieder mit dem Analytics Adapter loggen kann?

      EDIT: Also das Script funktioniert und scheint einigermaßen richtig zu rechnen 🙂 Hab nur noch eine Komma-Rundung eingebaut.
      Meine Formel scheint aber einen kleinen Haken zu haben - da muss ich nochmal ran. Alles in einer Formel zu rechnen klappt leider nicht 😞 In Richtung der beiden äußersten Temperaturwerte driften die errechneten COP-Werte leider extrem aus.
      Somit muss ich alle Temperaturbereiche einzeln abfragen...
      Die Frage zur Umrechnung bleibt.

      1 Reply Last reply Reply Quote 0
      • H
        Habedere last edited by Habedere

        @paul53
        Also das mit der Umrechnung zu kWh hat sich ja erledigt, da der Analytics das ja beherrscht - zumindest fast...

        Nochmal zu meinem Umrechnungsscript.
        Da die Gesamtfunktion etwas schwächelt muss ich die einzelnen Temperaturbereiche einzeln abfragen.

        Kann/soll ich das irgendwie in einem Script verhackstückeln?
        So würde der der Bereich zwischen 7° und 25° aussehen
        Bild Text

        Mit "sonst falls" erweitern?

        Noch ein kleines Problem...
        Und zwar springt die Pumpe für den NT Kreis alle paar Minuten an und generiert einen "Fake-Spitzenwert"
        Bild Text

        Das verfälscht die ganze Ansicht in Flot. Kann ich das irgendwie unterbinden?

        Bei der Gesamtberechnung kann ich es ja gem. deinem HInweis im anderen Thread anpassen:

        @paul53 sagte in [Neuer Adapter Beta 0.2.275] SourceAnalytix (Verbrauch Protokollierung von Strom/Gas/Flüssigkeiten):

        @007Schneiderlein Eigentlich sollte Dein Skript funktionieren. Einfacher geht es so:

        Blockly_Ausreisser_ausblenden.JPG

        Wert und vorheriger Wert sind Eigenschaften des Triggerdatenpunktes (unter Blöcke "Trigger").

        Hmm... glaube mein Versuch sieht nicht so gut aus...
        Denke die "größer als letztes" Abfrage sollte ich direkt in dem einzelnen Leistungsabfragebreich vom NT Kreis einbauen oder?

        Bild Text

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

          @Habedere sagte:

          Mit "sonst falls" erweitern?

          Ja. Ich würde die Berechnung des Faktors in einem Aussentemperatur-Trigger machen und den Faktor als Variable an die Callback-Funktion des WMZ-Triggers übergeben. Die Aussentemperatur ändert sich nur langsam.

          @Habedere sagte in Heizlastanalyse mit WMZ + Simulierung WP:

          glaube mein Versuch sieht nicht so gut aus

          Richtig. Mache die Abfrage in jedem Trigger getrennt. In eine Funktion gehört kein Trigger !

          @Habedere sagte:

          springt die Pumpe für den NT Kreis alle paar Minuten an und generiert einen "Fake-Spitzenwert"

          Hast Du einen Datenpunkt, der den Betrieb der Pumpe anzeigt ? Wenn ja, dann trigger auf diesen Datenpunkt und erzeuge eine Sperrvariable, die nach einer kurzen Zeit (timeout) wieder zurück gesetzt wird.

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

            @Habedere sagte:

            die Pumpe für den NT Kreis alle paar Minuten an

            Das sollte nicht sein ! Was verursacht dieses Verhalten ? Es ist doch sicherlich eine Mischkreispumpe ?

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

              @paul53 sagte in Heizlastanalyse mit WMZ + Simulierung WP:

              @Habedere sagte:

              die Pumpe für den NT Kreis alle paar Minuten an

              Das sollte nicht sein ! Was verursacht dieses Verhalten ? Es ist doch sicherlich eine Mischkreispumpe ?

              Ja das gefällt mir auch nicht. Hier wurde vom Vorbesitzer rumgebastelt auf Einzelraumsteuerung.
              Der Regler hierfür ist im EG. Wenn ich hier die Zeitschaltfunktion aktiviere entsteht das verhalten.
              Das Problem ist aber nur vorhanden wenn lt. Regler bzw. Temperaturabfragung keine Heizung benötigt wird. Warum dass so ist kann ich mir nicht erklären...
              Muss ich mal im Htd-Forum fragen.

              Hier der neueste Versuch meines Scripts:
              Bild Text

              So besser? 🙂

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

                @Habedere sagte:

                So besser?

                Ja.
                Da die Funktion Summe() nur eine Anweisung und keine Verknüpfung von Variablen enthält, ist sie überflüssig: Die eine Anweisung kann auch direkt in den Trigger (anstelle Funktionsaufruf).

                Die Und-Verknüpfungen mit Vergleich Aussentemperatur < x kann man sich sparen, denn sonst liefert die Bedingung schon, wenn man die Reihenfolge beachtet, wie Du es getan hast.

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

                  @paul53 sagte in Heizlastanalyse mit WMZ + Simulierung WP:

                  @Habedere sagte:

                  So besser?

                  Ja.
                  Da die Funktion Summe() nur eine Anweisung und keine Verknüpfung von Variablen enthält, ist sie überflüssig: Die eine Anweisung kann auch direkt in den Trigger (anstelle Funktionsaufruf).

                  Die Und-Verknüpfungen mit Vergleich Aussentemperatur < x kann man sich sparen, denn sonst liefert die Bedingung schon, wenn man die Reihenfolge beachtet, wie Du es getan hast.

                  Like this:
                  Bild Text

                  Danke nochmal für deine fleißige Unterstützung 🙂

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

                    @Habedere sagte:

                    Like this:

                    Nicht ganz:
                    falls AT >= 25
                    sonst falls AT >= 7
                    sonst falls AT >= 2
                    sonst falls AT >= -7
                    sonst falls AT >= -15
                    sonst

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

                      @paul53 sagte in Heizlastanalyse mit WMZ + Simulierung WP:

                      @Habedere sagte:

                      Like this:

                      Nicht ganz:
                      falls AT >= 25
                      sonst falls AT >= 7
                      sonst falls AT >= 2
                      sonst falls AT >= -7
                      sonst falls AT >= -15
                      sonst

                      Das hab ich mir fast gedacht, da du gezielt "<" erwähnt hast und die Reihenfolge.
                      Wobei mir die Logik dahinter nicht wirklich klar ist.
                      Es muss also immer in die gleiche Richtung laufen?
                      Also entweder alle mit > oder alle mit <?

                      Bild Text

                      EDIT: soll natürlich >= heißen!

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

                        @Habedere sagte:

                        Wobei mir die Logik dahinter nicht wirklich klar ist.

                        Beispiel:
                        falls AT >= 7 mache (AT >= 7 ist true)
                        sonst bedeutet: AT < 7 (AT >= 7 ist false)

                        1 Reply Last reply Reply Quote 0
                        • H
                          Habedere last edited by

                          Servus,
                          also die Scripte funktionieren mittlerweile alles sehr gut würde ich sagen...

                          Jetzt hätte ich noch eine neu Kombination gebraucht 🙂
                          Und zwar habe ich mir kürzlich noch eine 23,5kWp PV-Anlage installiert.
                          Nun möchte ich die anfallende Überschussleistung, welche aktuell eingespeist wird, von den benötigten Leistungen der einzelnen simulierten Wärmepumpen abziehen.

                          Meine beiden Stromzähler kann ich mit dem Discovergyzähler auslesen.
                          Hier sehe ich also die direkte Einspeiseleistung.

                          Nun könnte ich das Script für den Wärmemengenzähler gesamt kopieren und die Einspeiseleistung abziehen.
                          Aktuell stelle ich mir das so vor:

                          Bild Text

                          Wenn ich allerdings dann die Kosten mit dem SourceAnalytix aufzeichne, wird das ergebnis verfälscht!
                          Denn der PV-Strom ist ja eigentlich nicht kostenlos!
                          Dieser kostet mich zwischen 8 und 10,04 Cent - bin ich mir noch nicht ganz sicher welchen Wert ich da ansetzte. (Gestehungskosten vs. Einspeisevergütung)

                          Hat jemand eine Idee wie ich das evtl. wieder raus filtern bzw. darstellen kann?

                          H 1 Reply Last reply Reply Quote 0
                          • H
                            Habedere @Habedere last edited by Habedere

                            @paul53
                            Servus Paul,
                            kannst du mir bitte nochmal zu der Vorgehensweise für "Simple API" einen Link schicken?
                            Habe zu den WMZ noch einen Mbus Stromzähler dran, dessen werte ich vom OrangePi auf den Raspi schicken muss...
                            Finde die verdammte Beschreibung nicht mehr 😞

                            EDIT: Gerade gefunden^^

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            432
                            Online

                            31.8k
                            Users

                            80.0k
                            Topics

                            1.3m
                            Posts

                            blockly climate heating javascript monitoring
                            2
                            33
                            1678
                            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