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.
    • paul53
      paul53 @Habedere last edited by

      @Habedere
      #1 Gesamtheizlast: Eine Addition von 2 Datenpunktwerten und Schreiben des Ergebnisses in einen eigenen Datenpunkt ist mit Blockly leicht möglich.

      #3 Verbrauchsauswertung: Dafür gibt es einen Adapter.

      #4 Simulation der WP: Der Effizienzfaktor lässt sich als einfache (nicht lineare) Funktion der Differenz RL-Temperatur - Aussentemperatur darstellen.

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

        @Habedere sagte:

        Da ich den Umstieg von einer Öl-Heizung auf eine Wärmepumpe plane

        Wie willst Du dann die HT-Heizung und Brauchwarmwasser-Bereitung realisieren ? Hohe VL-Temperaturen führen zu geringer Effizienz der WP.

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

          @paul53 sagte in Heizlastanalyse mit WMZ + Simulierung WP:

          @Habedere
          #1 Gesamtheizlast: Eine Addition von 2 Datenpunktwerten und Schreiben des Ergebnisses in einen eigenen Datenpunkt ist mit Blockly leicht möglich.

          #3 Verbrauchsauswertung: Dafür gibt es einen Adapter.

          #4 Simulation der WP: Der Effizienzfaktor lässt sich als einfache (nicht lineare) Funktion der Differenz RL-Temperatur - Aussentemperatur darstellen.

          @paul53
          Danke für deine Rückmeldung.

          zu #1:
          Ich habe bereits mal ein versuch gestartet - werde ich heute Abend mal posten.

          zu #3:
          Kannte ich nocht nicht - Danke ich probiers!

          zu #4:
          Hier reden wir denke ich aneinander vorbei...
          Ich muss ja quasi wissen wieviel Leistung in den jeweiligen Außentemperaturbereichen abgerufen wurde um eine realistische Auswertung zu erhalten. Klar hat der COP eine Spanne zwischen den einzelnen Temperaturbereichen die man auch über eine lineare Funktion darstellen kann, das würde ich aber erst mal vernachlässigen.
          Z.b. -2 bis -4 -> Beginn bei COP 3,21 und Ende bei COP 3,11.
          Oder ich rechnen einfach im kompletten Bereich die 3,21 - was natürlich ewas positiver rechnet ist. Denn bei -3 wären wir dann ja bei rechnerisch 3,16^^

          Z.b. Variante A - LIVE:
          Ich schreibe die aktuell geloggte, benötigte Leistung (nicht Verbrauch) in Abhängigkeit der Außentemperatur in die Datenbank.
          D.h. für jeden Temperaturbereich benötige ich dann einen anderen Umrechnungsfaktor für die aktuelle Leistung.
          Diese Daten rufe ich dann wieder als Graphen ab.
          Sobald sich die Außentemperatur ändert, werden Leistungsdaten mit einem anderen Umrechnungsfaktor (wg. COP) in die Datenbank geschrieben.
          Der Graph würde (ungeglättet) bei gleichbleibender Leistung der Ölheizung bzw. WMZ beim Wechsel in eine andere Temperaturzone einen kleinen Sprung machen.

          Variante B - "statisch":
          Ich müsste die Datenbank durchforsten wie hoch der Verbrauch (nicht Leistung) in den jeweiligen Temperaturbereichen war.
          Das könnten aber pro Tag 5-6 Temperaturzonen sein, in denen ich jeweils den Anfangs und Endwert des Verbrauchs loggen muss.
          Z.b. Gesamtverbrauch innerhalb der 2° bis 7° Zone pro Monat.
          Gesamtverbrauch innerhalb der -2° bis +2° Zone pro Monat usw.

          Hoffe es ist einigermaßen verständlich worauf ich raus möchte 🙂

          Das Warmwasser wird genauso realisiert wie bei den aktuellen Wärmepumpen-Neubauten. Da ist die Umrüstung vom Bestand nicht so tragisch. Höchstens mal einen anderen Warmwasserspeicher bei der die Übertragungsoberfläche größer ist.
          Das mit der Vorlauftemperatur im HT-Bereich - sprich der Heizkörper - ist eben der große Punkt!
          Habe in diversen Foren gelesen dass es entgegen vieler Aussagen doch möglich ist, Heizkörper mit niedrigen Vorlauftemperaturen zu betreiben - sofern der Isolierstandard des Hauses das einigermaßen mit macht.
          Habe die Vorlauftemperatur bereits künstlich gedrosselt (siehe vorlauf HT) um
          eine WP zumindest praktisch zu simulieren.
          Zeitgleich logge ich die Raumtemperaturen der kritischen Räume um einen Temperaturabfall zu erkennen 🙂

          In manchen Augen alles etwas "Overkill" - aber ich steh drauf 🙂

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

            @paul53
            Hier mal der erste Versuch zu Punkt 1:
            Bild Text

            Kommt aber eine Fehlermeldung 🙂
            Die Objekt-ID habe ich über mehrere Ecken per Hand rein kopiert.
            Kann ich da irgendwie direkt über SQL suchen?! Die Daten werden von einer anderen ioBroker Sitzung in die Datenbank geschrieben.
            Die ObjektID kann er so theoretisch garnicht finden, da er ja nicht gezielt in der Datenbank sucht denke ich.

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

              @Habedere Man darf an den Trigger "Falls Objekt" keine Werte übergeben, sondern die eigentliche ID. Beinhalten die beiden MBus-Datenpunkte keine Zahlen ?

              Vorschlag:

              Blockly_Summe_2.JPG

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

                @paul53 sagte in Heizlastanalyse mit WMZ + Simulierung WP:

                @Habedere Man darf an den Trigger "Falls Objekt" keine Werte übergeben, sondern die eigentliche ID. Beinhalten die beiden MBus-Datenpunkte keine Zahlen ?

                Vorschlag:

                Blockly_Summe_2.JPG

                Das zum Thema "in Blockly leicht möglich" 🙂
                Da liege ich ja meilenweit daneben 🙂

                Der M-Bus liefert in meinen Augen schon zahlen, da ich aber absolut neu bin in der Materie
                habe ich lieber zur sicherheit konvertiert 😉

                Danke für die Antwort - werde ich heute mal testen.
                Aber ich kann wohl nicht einfach wie erwähnt die ID, welche in der Datenbank gespeichert
                ist für die "Falls Objekt" verwenden oder?

                Welche Object ID wir dann mit der Summe generiert? Wo finde ich dann den Datenpunkt?
                Kann aktuell nicht erkennen wo die Daten hingeschrieben werden.
                Evtl. ergibt sich das heute wenn ich es probiere...

                PS: Wegen Dateninput - habe gerade deine Empfehlung mit Simple-AI gelesen.
                Werde ich mal angreifen, da wohl nötig.

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

                  @Habedere sagte:

                  die ID, welche in der Datenbank gespeichert
                  ist für die "Falls Objekt" verwenden oder?

                  Du kannst nur "Original" Datenpunkt-IDs (vom WMZ) verwenden.

                  @Habedere sagte in Heizlastanalyse mit WMZ + Simulierung WP:

                  Welche Object ID wir dann mit der Summe generiert? Wo finde ich dann den Datenpunkt?

                  Das ist ein "eigener Datenpunkt" vom Typ "Zahl", der im Reiter "Objekte" unter javascript.0 erstellt werden muss.

                  @Habedere sagte in Heizlastanalyse mit WMZ + Simulierung WP:

                  habe gerade deine Empfehlung mit Simple-AI gelesen.

                  Wenn Du es so machst, werden auf dem OPi nur noch 3 Adapter benötigt: Admin, MBus und Javascript (1 Skript zum Daten senden). Die SD Card wird geschont.

                  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 in Heizlastanalyse mit WMZ + Simulierung WP:

                    habe gerade deine Empfehlung mit Simple-AI gelesen.

                    Wenn Du es so machst, werden auf dem OPi nur noch 3 Adapter benötigt: Admin, MBus und Javascript (1 Skript zum Daten senden). Die SD Card wird geschont.

                    Hmm.. habe es mit deiner Update-Version probiert.
                    Allerdings liest er keine Werte ein...

                    Datenstruktur aufm OPi:
                    Bild Text

                    Datenstruktur aufm Pi:
                    Bild Text

                    Übernommene RAW-Daten:
                    Bild Text

                    Das Script mit der angepassten IP und den korrekten ID-Namen (Port wieder auf 8082 geändert):
                    Bild Text

                    Nur der zusätzliche M-Bus ordner unten ist neu...
                    Bild Text

                    Muss aber zugeben dass ich nachfolgendes zu spät gelesen habe:
                    "Im Emfäger das Gerät selektieren und einen Kanal mit dem Namen data erstellen"

                    Die Ordnerstruktur passt aber trotzdem...

                    Sollte das Script auf dem Opi evtl. aus dem Root-Verzeichnis raus?

                    Mein Script würde für die Gesamtlast würde soweit stehen:
                    Bild Text

                    mfg

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

                      @Habedere sagte:

                      Das Script mit der angepassten IP und den korrekten ID-Namen:

                      1. Der Port stimmt nicht: 8082
                      2. Das RegExp enthält eine 0 vor dem \d zuviel (\d steht als Platzhalter für eine beliebige Ziffer): Man benötigt nur ein Skript für beide WMZ, da sich die ID nur in einer Ziffer unterscheidet.

                      Die interne Simple-API in der Web-Instanz auf dem dem Empfänger ist aktiviert ?

                      @Habedere sagte in Heizlastanalyse mit WMZ + Simulierung WP:

                      Sollte das Script auf dem Opi evtl. aus dem Root-Verzeichnis raus?

                      Nein, kann dort bleiben; aber nur ein korrigiertes Skript !

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

                        @Habedere Bau mal ein Log in das Skript ein, um zu sehen, ob der Trigger funktioniert.

                        const urlDst  = 'http://192.168.178.3:8082/set/'; // IP anpassen !
                        
                        on(/^mbus\.0\.LUG-6757819\d\.data\..+/, function(dp) {
                           log(dp.id + ': ' dp.state.val);
                           request(urlDst + dp.id + '?value=' + dp.state.val);
                        });
                        
                        H 1 Reply Last reply Reply Quote 0
                        • H
                          Habedere @paul53 last edited by

                          @paul53 sagte in Heizlastanalyse mit WMZ + Simulierung WP:

                          const urlDst = 'http://192.168.178.3:8082/set/'; // IP anpassen ! on(/^mbus.0.LUG-6757819\d.data..+/, function(dp) { log(dp.id + ': ' dp.state.val); request(urlDst + dp.id + '?value=' + dp.state.val); });

                          Inkl. Log gabs eine Fehlermeldung...
                          Aber nach Anpassung des ursprünglichen Skripts hat es gepasst 🙂
                          Den Port hatte ich bereits vorher getestet.
                          Aber mit nur einem Skript und ohne der 0 scheints zu funktionieren.
                          Da ich meine Flot Graphen direkt aus der Datenbank lese muss ich diese wohl auch nicht anpassen.

                          Seltsamerweise werden aber nicht alle Daten exakt geloggt wie am OPi - siehe im Vergleich oben:
                          Bild Text

                          Aber danke schon mal viel mals 🙂
                          Werde den Analytics Adapter nochmal probieren und prüfen ob das Summe-Blockly funktioniert.

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

                            @Habedere sagte:

                            werden aber nicht alle Daten exakt geloggt wie am OPi

                            Der Trigger reagiert nur auf Wertänderungen. Werte, die konstant bleiben, werden also nicht vom OPi gesendet.

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

                              @paul53 sagte in Heizlastanalyse mit WMZ + Simulierung WP:

                              @Habedere sagte:

                              werden aber nicht alle Daten exakt geloggt wie am OPi

                              Der Trigger reagiert nur auf Wertänderungen. Werte, die konstant bleiben, werden also nicht vom OPi gesendet.

                              Ahh das gibt Sinn - ich seh es an mittlerweile an den Werten wie z.B. OnTime ist heute um einen Tag gestiegen.
                              Nun kann ich allerdings bei keinen Objekten die SQL-Einstellung über den Schraubenschlüssel durch führen. Neustart vom SQL-Adapter hat auch nicht geholfen... Die Daten werden aber fleißig geloggt - auch die der WMZ. Mal sehen ob ich da noch was finde...
                              Der Analytics wird auch nicht angezeigt - nur History, obwohl der Adapter deaktiviert ist.

                              EDIT: Jetzt geht´s plötzlich wieder! Bin jetzt von einer englischen Instanz wieder in einer deutschen gelandet^^ Weiß der Geier was ich hier mache, aber es funktioniert 🙂

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

                                Hab das Script nochmal angepasst mit den echten Werten der Objekte 🙂

                                Also so:
                                Bild Text

                                Evtl. hab ich dich falsch verstanden 🙂

                                Läuft schon mal 🙂

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

                                  @Habedere sagte:

                                  mit den echten Werten der Objekte

                                  Wenn man Wert als eine Eigenschaft des Triggerdatenpunktes (unter Blöcke Trigger) nimmt, ist das ebenfalls der echte Wert des Datenpunktes.

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

                                    @paul53
                                    Servus,
                                    irgendwie seltsam - im großen und ganzen funktioniert die Variablen Rechnung - außer einer der Wert hat 0
                                    Er summiert fleißig, aber wenn ein Heizkreis aus ist, schreibt er einen höheren Wert als der zweite Kreis alleine...

                                    Bild Text

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

                                      @Habedere sagte:

                                      wenn ein Heizkreis aus ist, schreibt er einen höheren Wert als der zweite Kreis alleine.

                                      Ist das wirklich so, oder sieht es im Flot-Chart nur so aus ?
                                      Poste bitte mal den vom Blockly erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

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

                                        Ja. Die einzelnen Zähler schreiben zwischen 00:00 und 02:00 Uhr jeweils Null Watt.
                                        Das Script schreibt 400.

                                        var Wert1, Wert2;
                                        
                                        /**
                                         * Beschreibe diese Funktion …
                                         */
                                        function Summe() {
                                          setState("javascript.0.Gesamtleistung_WMZ"/*Gesamtleistung_WMZ*/, (Wert1 + Wert2), true);
                                        }
                                        
                                        
                                        on({id: 'mbus.0.LUG-67578190.data.4-0-Current', change: "ne"}, function (obj) {
                                          var value = obj.state.val;
                                          var oldValue = obj.oldState.val;
                                          Wert1 = getState("mbus.0.LUG-67578190.data.4-0-Current").val;
                                          Summe();
                                        });
                                        on({id: 'mbus.0.LUG-67578194.data.4-0-Current', change: "ne"}, function (obj) {
                                          var value = obj.state.val;
                                          var oldValue = obj.oldState.val;
                                          Summe();
                                          Wert2 = getState("mbus.0.LUG-67578194.data.4-0-Current").val;
                                        });
                                        

                                        Ich hab mir im Flot (nicht die originalen Daten aus der Tabelle) nochmal die Werte etwas genauer angesehen - der rechnet auf jedenfalls nicht ganz korrekt.

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

                                          @Habedere

                                            Summe();
                                            Wert2 = getState("mbus.0.LUG-67578194.data.4-0-Current").val;
                                          

                                          Vertausche bitte die Reihenfolge: Summe unter setze Wert2 mit ...

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

                                            @paul53 sagte in Heizlastanalyse mit WMZ + Simulierung WP:

                                            @Habedere

                                              Summe();
                                              Wert2 = getState("mbus.0.LUG-67578194.data.4-0-Current").val;
                                            

                                            Vertausche bitte die Reihenfolge: Summe unter setze Wert2 mit ...

                                            Done - man wird sehen 🙂 hatte ich gar nicht bemerkt dass es zwei verschiedene Reihenfolgen waren.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            773
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

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