vento66 aber 'W' sollte doch bei Montag anfangen (php.net: ISO-8601 Wochennummer des Jahres, die Woche beginnt am Montag (hinzugefügt in PHP 4.1.0) Beispiel: 42 (die 42. Woche im Jahr).....)
Ankündigung
Einklappen
Keine Ankündigung bisher.
LBS19001125 Verbrauch aus Zählerständen/Impulsen
Einklappen
X
-
Muss jetzt nochmal nachfragen
Also erstmal vorweg, vom Prinzip is der LBS genial, weil er genau das ausgibt was ich will.
Jetzt das große aber: Erst wenn er seinen Zyklus einmal durchlaufen hat.
Hier mal wies momentan aussieht:
Unbenannt.JPG
Hier kann man gut sehen das der Jahresverbrauch und der Verbrauch vom Vormat Käse sind, da hier einfach der aktuelle Zählerstand ausgegeben wird. Also das heißt, wenn jetzt das Jahr rum ist, zeigts vermutlich überall die richtigen Werte an.
Kann man das nicht iwie anderst berechnen, also ohne das man warten muss bis der Zeitraum vorbei ist bis es die richtigen Werte anzeigt?
Würd ja heißen, wenn ich im Januar starte müsste ich 12 Monate warten, bis er anfängt die Jahreswerte anzuzeigen.
Kann man beim ersten Start von "Jetzt" als Startwert ausgehen?
Also um beim Beispiel vom Jahr zu bleiben, dass er halt z.B. als Jahresverbrauch nicht unbedingt dass ganze Jahr anzeigt sondern nur vom Start des LBS bis Ende des Jahres und erst beim nächsten Jahr dann dass volle Jahr rechnet.
Also wenn ich heute starte würde, den Verbrauch vom 4.10.2017 bis 31.12.2017.
Weil so wie ich das sehe besteht das Problem nur beim ersten mal. Sieht man ja am Monat, der wurde jetzt im Oktober begonnen und schon passen die Werte.Gruß Ben
Kommentar
-
Zitat von stonie2oo4 Beitrag anzeigen
Kann man beim ersten Start von "Jetzt" als Startwert ausgehen?
Also um beim Beispiel vom Jahr zu bleiben, dass er halt z.B. als Jahresverbrauch nicht unbedingt dass ganze Jahr anzeigt sondern nur vom Start des LBS bis Ende des Jahres und erst beim nächsten Jahr dann dass volle Jahr rechnet.
Also wenn ich heute starte würde, den Verbrauch vom 4.10.2017 bis 31.12.2017.
Was du meinst ist wahrscheinlich eine Hochrechnung auf die jeweiligen Zeiträume anhand der bisher gesammelten Werte. Das wäre aber vom Prinzip was ganz anderes als Ist-Werte zu summieren....
Kommentar
-
Zitat von hx5 Beitrag anzeigen"Jetzt" ist eine Hochrechnung auf den Stundenwert anhand des letzten Verbrauchs, hat aber mit dem Verbrauch "aktuelle/vorherige Stunde" nichts zu tun...
Bei aktueller Stunde/Tag usw. fände ichs halt gut, wenn er z.B. den Jahresverbrauch schon azeigen würde auch wenn kein ganzes Jahr abgeloffen ist. Siehe unten zur Erklärung.
Zitat von hx5 Beitrag anzeigenAber genau das macht der LBS doch?
Zitat von hx5 Beitrag anzeigenEr kann ja nicht in die Zukunft sehen.
Was du meinst ist wahrscheinlich eine Hochrechnung auf die jeweiligen Zeiträume anhand der bisher gesammelten Werte. Das wäre aber vom Prinzip was ganz anderes als Ist-Werte zu summieren....
Soll er auch nicht, ja keine Hochrechnung, war doof formuliert. Neue Beispiel:
LBS am 1.6.2017 gestartet
heute ist der 4.10.2017
also sollte er beim Jahresverbrauch diesen Zeitraum auswerten -> macht er momentan nicht, sondern es wird einfach der Zählerstand angezeigt. das heißt dann am Ende des Jahres am 31.12.2017 sollte er dann die Werte vom 1.6.2017 bis 31.12.2017 anzeigen als Jahresverbrauch. Also nix hochrechnen oder sont was. Und am 1.1.2018 soll er eben die letzten 6 Monate (1.6.2017 bis 31.12.2017) als Verbrauch letztes Jahr anzeigen. Mir ist schon klar, dass das nicht der Verbrauch vom letzten Jahr ist, aber davor lagen halt einfach keine Daten vor. Nach einem kompletten Jahr hat man ja dann die Werte vom ganzen Jahr. Aber das wäre doch viel besser, wie einfach das ganze Jahr/Monat usw. den Zählerstand auszugeben. Weil das sagt ja noch viel weniger aus
Genauso war es beim Monatsverbrauch, dieser hat auch die ganze Zeit einfach den Zählerstand angezeigt bis zum Monatswechsel. Ab da hat der Baustein korrekt funktioniert. Jetzt zeigt er mir die Werte vom 01.10.2017 bis 04.10.2017
als Monatsverbrauch und dieser Wert wächst täglich bis zum Ende des Monats.Dann fängt wieder alles von vorne an. Da sieht man doch klar das die Ausgabe nicht stimmt, solange der Zeitraum nicht einmal durchgelaufen ist
Gruß Ben
Kommentar
-
Und was mir gerade noch aufgefallen ist: Du kannst dir den Stringzerteiler, Multiplikatoren und Ausgangs-LBS auch sparen indem du mit "split" arbeitest und die Visu rechnen lässt. Also z.B. die Kosten für die aktuelle Stunde:Code:{split(1)*0.26}
Das ist der Gedanke hinter dem String an A1...
Kommentar
-
Also ohne den Baustein im Detail zu kennen und auch noch am Anfang meiner Edomi Reise vermute ich, dass der Baustein eben nicht bei einem Zählerstand (ZS) von 0 eingesetzt wurde, sondern dieser hatte schon rd. 11.400kw/h auf der Uhr. Der ZS wird wohl richtig ausgegeben. Der Jahresverbrauch müsste die Differenz zwischen letzten Jahreswechsel/Beginndatum und aktuellen ZS sein. Also bei stonie2oo4 bis jetzt ca. 79kw/h. Aber der Baustein nimmt den EinstiegsZS und addiert den Verbrauch drauf und gibt dies als. Bei Start von 0 würde das auch klappen, bei Start >0 passt das erste Jahr nicht. So lese bzw. Verstehe ich es.
Das Gleiche passiert beim Vormonat dann nämlich auch; Vormonat = EinstiegsZS + tatsächlicher Verbrauch. Erkennt man auch am aktuellen ZS minus Verbrauch Vormonat = Monatsverbrauch.Zuletzt geändert von shortyle; 04.10.2017, 19:29.Gruß David
Kommentar
-
Das mit dem String in der Visu ist mir schon klar. Hat ich mir auch anfangs überlegt. Das blöde ist halt nur, wenn sich der Strompreis ändert, dann muss ich es überall anpassen. Wäre vielleicht noch ne Verbesserung, dass man den Strompreis eintragen kann und der auch in dem String ausgegeben wird. Dann wäre es viel weniger aufwendig. Weil dann könnt man das grad in der Visu miteinander verechnen.
Wobei, jetzt is mir grad eingefallen, da gibt's doch auch nen Stringverbinder. Dann kann ich des einfach hinten dran hängen. Gut das wir drüber schreiben. So Spar ich mir viel Arbeit.
Okay, jetzt weiß ich endlich wo das Problem her kommt, ist nämlich wie von shortyle richtig erkannt so, dass der Zählerstand eben nicht bei 0 angefangen hat.
Also muss der Zählerstand bei 0 anfangen damit es richtig funktioniert?
Dann müsst ich mal gucken ob ich da iwo noch nen Zwischenzähler ausgeben kann.
Gruß Ben
Kommentar
-
Also hab's jetzt mitm Zwischenzähler gelöst und bei 0 gestartet. Scheint einwandfrei zu funktionieren. Als kleiner Verbesserungswunsch: Du machst es wie von shortyle vorgeschlagen oder baust halt ne Prüfung ein, wenn der erste Zählerstand eben nicht 0 ist. Oder falls das zu Aufwendig oder Sinnfrei ist, wenigstens in der Hilfe vermerken das mit mit Zählerstand 0 beginnen muss
.
Das mit dem Stringverbinder und hintendran die Stromkosten hängen funktioniert übrigens auch einwandfrei. Logik hat sich somit auf 3 Bausteine reduziert und nur noch 1 KO wird benötigt. Perfekt, so ist es viel viel einfacher. Danke das mich auf die Idee gebracht hast.
Nach soviel Meckerei muss ich jetzt auch mal ein Lob für deinen tollen Baustein aussprechen. Danke dafür
Gruß Ben
Kommentar
-
Zitat von stonie2oo4 Beitrag anzeigenDu machst es wie von shortyle vorgeschlagen oder baust halt ne Prüfung ein, wenn der erste Zählerstand eben nicht 0 ist. Oder falls das zu Aufwendig oder Sinnfrei ist, wenigstens in der Hilfe vermerken das mit mit Zählerstand 0 beginnen muss.
Das mit dem Stringverbinder und hintendran die Stromkosten hängen funktioniert übrigens auch einwandfrei. Logik hat sich somit auf 3 Bausteine reduziert und nur noch 1 KO wird benötigt. Perfekt, so ist es viel viel einfacher. Danke das mich auf die Idee gebracht hast.
Nach soviel Meckerei muss ich jetzt auch mal ein Lob für deinen tollen Baustein aussprechen. Danke dafür
Kommentar
-
Zitat von vento66 Beitrag anzeigenUnd was bringt euch das? Dann habt ihr einen Verbrauch im letzten Jahr von 140000 kWh. Das stimmt ja dann erst recht wieder nicht. Lieber keine Daten, als falsche.
Mich glaub die Problematik besteht auch wirklich nur im ersten Jahr sofern man mit einem ZS > 0 startet.Gruß David
Kommentar
-
Ich konnte einen Fehler beim speichern in die Datei finden.
Blöderweise habe ich beim ersten anlegen des Arrays den vorher abgezogenen alten Zählerstand wieder dazu gerechnet. Und weil ich beim testen mit 1 angefangen habe und im Produktivsystem nur in die DB schreibe und lese habe ich den Fehler nicht bemerkt.
Das speichern/lesen aus einer DB war davon, nicht betroffen.
Sorry stonie2oo4 für das Missverständnis....
shortyle Sollte jetzt wir erwartet funktionieren. Den ersten Zählerstand kann man aber auch händisch eintragen und dadurch den Verbrauch manipulieren (sofern man das will).
Kommentar
Kommentar