Ankündigung

Einklappen
Keine Ankündigung bisher.

Strom-Momentanverbauch (gesucht)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Strom-Momentanverbauch (gesucht)

    Hallo,
    ich suche einen Baustein der mir den Momentanverbrauch angibt. Beim HS macht das der BS "Momentanverbrauch" 19969... und eigentlich müsste so ein Baustein recht einfach sein - man muss aber mit Speichern & Zeitstempeln arbeiten - aber das kriege ich leider nicht selbst hin.
    Die Formel ist einfach:
    (aktueller zählerstand minud gespeicherter Zählerstand)*3600/(aktuelle zeit minus gespeicherte zeit in sekunden)

    Mit 5 Zählern im Haus frage ich mich ob es sehr resourcesfressend ist wenn ich das alle 30 sekunden durchführe?

    Wenn es noch nichts von der community gibt bastle ich mir was das vom Minutentakt getriggert wird....

    Gruß
    ​​​​​​​Thorsten

    #2
    Ist als 19001145 im Downloadbereich... BETA - falls jemand testen will :-)
    Falls jemand das weiterentwickeln möchte (mit automatischer Zeitstempelerfassung und Berechnung - statt minütlich: sehr gerne)
    Gruß
    Thorsten

    Kommentar


      #3
      Hi Thorsten

      Hätte sich das nicht mit dem 19000701 machen lassen? Siehe auch diesen Thread dazu...
      Kind regards,
      Yves

      Kommentar


        #4
        Also jetzt ohne viel darüber nachgedacht zu haben, reichte es doch die Wertvergößerung des letzen Zählerstandes durch die Verstrichen Zeit zu teilen?
        Ungefähr so:
        PHP-Code:
        ###[DEF]###
        [name    =    Verbrauch                ]

        [e#1    = Zälerstand                ]

        [a#1    =    Verbrauch                ]


        [v#1=0    ] Zeit
        [v#2=0    ] Wert


        ###[/DEF]###


        ###[HELP]###

        ###[/HELP]###


        ###[LBS]###
        <?
        function LB_LBSID($id) {
            if (($E=logic_getInputs($id)) && ($V=logic_getVars($id))) {
                if ($E[1]['refresh']==1 && $E[1]['value']!="") { 
                    if ($V[1]!=0) {
                        logic_setOutput($id,1,(round(($E[1]['value']-$V[2])/(getMicrotime()-$V[1])*3600)));
                    }
                logic_setVar($id,1,getMicrotime());
                logic_setVar($id,2,$E[1]['value']);
                }
            }
        }
        ?>
        ###[/LBS]###


        ###[EXEC]###
        <?

        ?>
        ###[/EXEC]###
        So wäre der "Momentanverbrauch" umso genauer/aktueller je öfter der Zählerstand eingeht.
        Beim zyklischen überprüfen werden nur die Werte verfälscht.

        Kommentar


          #5
          Ich hab noch eine Nachkommastellenerkennung für die Rundung eingebaut, damit die gleichen Nachkommastellen die reinkommen auch ausgegeben werden.
          Nach einigen Test läuft der LBS sehr genau (hatte als Vergleich die Ausgabe des eHz).

          Kommentar


            #6
            Super! Ich schaue mir das mal die Tage an...
            (Ich dachte mir das es besser geht als ich es konnte... bin halt kein Perl-Entwickler)

            @Starwarsfan: den Thread lese ich mir auch mal durch. Danke!
            Danke & Gruß
            Thorsten

            Kommentar


              #7
              Zitat von ThorstenGehrig Beitrag anzeigen
              bin halt kein Perl-Entwickler
              Was ist Perl?


              SCNR
              Kind regards,
              Yves

              Kommentar


                #8
                Hi
                @hx5: dein Baustein lässt sich bei mir nicht importieren: "ohne name -> 19001125 1 fehler"
                Per copy&paste aus dem modul klappts aber...
                Dazu wäre es noch schön wenn du einen Korrektur-Faktor einbaust (bei mit z.B. 800 - da ich 800 Impulse pro kW/h bekomme / bzw 500 Imp pro kW/h bei einem anderen Zähler).
                Kann ich mir natürlich auch mit Baustein nachbauen ... aber die Formel erweitern (geteilt durch Korrektur-Faktor) ist ja ein Kinderspiel.

                Danke & Gruß
                Thorsten

                Nachtrag: eine "zyklische Neuberechnung" bräuchte ich doch... wenn die WP steht möchte ich als Verbrauchswert auch eine "0" bekommen :-)
                Müsste eigentlich funktionieren wenn ich den Zählerstand einfach nochmal auf den Eingang gebe, oder?
                Selber "neuer Wert" wie "alter Wert" müsste 0 Leistung ergeben...
                Zuletzt geändert von ThorstenGehrig; 04.07.2017, 23:27.

                Kommentar


                  #9
                  Zitat von ThorstenGehrig Beitrag anzeigen
                  Hi
                  @hx5: dein Baustein lässt sich bei mir nicht importieren: "ohne name -> 19001125 1 fehler"
                  Per copy&paste aus dem modul klappts aber...
                  Danke für den Hinweis, sollte behoben sein.

                  Wenn dein Zähler nur bei Änderung sendet bekommt mein LBS natürlich auch nicht mit das kein Verbrauch mehr statt findet.
                  Yves Baustein kann man minütlich Triggern. Dadurch kann es aber auch bis zu einem Minute dauern, bis man einen Stillstand feststellen kann.
                  Oder du nimmst die Systemzeit als Trigger dann wird jede Sekunde geprüft, dazu muss dein Zähler schnell genug sein damit die Ausgabe nicht ständig zwischen "0 "und "Verbrauch" springt.
                  Die Ausgabe kann so aber auch sehr ungenau werden.

                  Grundsätzlich sind Zählerstände auch nicht wirklich gut geeignet um auf den Momentanverbrauch zurück zuschließen...


                  Alternativ könnte ich aber in meinen LBS noch eine art Timer integrieren, der nach einer einstellbaren Zeit ohne neuen Zählerstand eine "0" ausgibt.


                  Zum Korrekturfaktor im LBS:

                  Du willst doch sicher die Zählerstände noch anderweitig verarbeiten/archivieren?
                  Deshalb denke ich das es "logischer" wäre den Zählerstand vor dem Eingang zu korrigieren und nicht erst im LBS....

                  Kommentar


                    #10
                    Hi,
                    ja - ideal währe ein timer "wenn x-sekunden kein neuer Wert kommt gibt 0 kW/h aus".
                    Ich kann das extern bauen - indem ich einfach über einen Watchdog den letzten Zählerstand nochmal sende... schöner wäre es Integriert.
                    Gruß
                    Thorsten

                    Kommentar


                      #11
                      Zitat von ThorstenGehrig Beitrag anzeigen
                      Hi,
                      ja - ideal währe ein timer "wenn x-sekunden kein neuer Wert kommt gibt 0 kW/h aus".
                      Thorsten
                      Habe ich hier mal eingebaut.

                      Kommentar


                        #12
                        1000 Dank :-)

                        Kommentar

                        Lädt...
                        X