NEWS
[Vorlage] Betriebsstundenzähler & Verbrauchsrechner
-
Hi Christian,
zum Thema korrekter Umrechnung
kannst du mal die Werte aus den unterliegenden Datenpunkten der folgenden Objekte zeigen ?
javascript.0.BSZ.System.Grp02Kum
javascript.0.BSZ.System.Grp02MSec
javascript.0.BSZ.System.Grp03Kum
javascript.0.BSZ.System.Grp03MSec
Hintergrund ist, dass dort die realen Werte ohne Umrechnung gespeichert werden.
Falls dort die Werte stimmen, dann gib in das Runden für kwh und Euro mal jeweils 9 ein.
Mit Rundungen hatte ich mal Probleme. Die Originalwerte aus dem Systembereich verändern sich dabei nicht.
Zum Thema "before" habe ich im Moment noch keine Idee. Da gab es noch nie ein Problem.
"before" wird ja auch nicht gerechnet sondern einfach beim Tageswechsel in den Datenpunkt übertragen.
Ich schaue mir nochmal das Coding an.
vG Looxer
-
Das mit dem runden war bei mir mal ein Problem.
Hattest du dann aber irgendwie gelöst.
Ist diese Verbesserung garnicht als Update in deinem Script eingeflossen?
Gruß
-
Hi
Wie komme ich auf den Momentanverbrauch. Da spielt natürlich Zeit im Spiel. `
Was liefert denn der Zähler genau für Daten ? Darauf kommt es ja an wie eine Lösung aussehen könnte.
Theoretisch kannst du einen annähernden Momentanverbrauch (abhängig von der Laufzeit einer Umrundung) erhalten.
jede Umdrehung = ungefähr 100 Watt . Wenn die Scheibe dafür 60 Sekunden braucht, dann hast du 6 kWh Verbrauch
bei 0,5 kWh Verbrauch dürfte eine Scheibenumdrehung also 12 Minuten brauchen - korrekt ?
Bei diesen Werten ist der Momentanverbrauch also eher ein letzter Verbrauch.
Wie du schon gesagt hast. Du brauchst die letzte Umdrehungszeit. Wenn die geliefert wird, dann kannst du mit dem BSZ einfach umrechnen (Methode CALC)
Wenn aber nur "0,1" geliefert wird, dann wird es eher schwierig für den BSZ, bzw. es bräuchte zusätzliches Coding über den UserExit.
vG Looxer
-
@ple:Ist diese Verbesserung garnicht als Update in deinem Script eingeflossen? `
Nein, es gab noch keine neue Version.vG Looxer
-
Die Aufzeichnung der Verbrauchsdaten läuft jetzt super, danke für das großartige Script BSZ.
Der Name Betriebsstundenzähler legt nahe, dass es möglich ist Startzeiten und Betriebsdauer zu erfassen. ich habe jetzt schon alles mögliche ausprobiert, bekomme es einfach nicht hin.
Ich habe eine Variable(Objekt) angelegt, diese wird durch einen Temperaturwert auf false/True geschaltet. diese habe ich in dem BSZ als Objekt eingefügt, aber dann? Spalte 9 ist ja offenbar für die Berechnungen, bzw die dritte Tabelle. Ich habe aber leider keinen Schimmer wie das zu konfigurieren ist.
Für eine Hilfestellung wäre ich sehr dankbar.
-
Hallo Looxer, hab den Sketch des Wemos umgeschrieben und bekomme jetzt glatte Zahlen pro Umdrehung! siehe Bild. Ich hoffe das es damit einfacher wird zu arbeiten.
Bis dato habe ich ein paar Angaben für Gas und deren Berechnung! Deine obige Rechnung machtSinn…
Aber: ich komme aber bei jeder Umdrehung = ungefähr auf 10 Watt aufgerundet. Wenn ich es mit 100 " Umdrehungen" multipliziere , komme ich auf 1000Watt was 1KW entspricht.... Kann das? Ich habe dir unten meine Tabelle vom deinem Script eingefügt. Kannst Du grob sagen, wie ich es (Methode CALC) bei meinem Beispiel anwenden soll?
Gruß
// 1.Homematic ID, 2.Thema(no spaces) 3.History 4.DAY 5.Week 6.Month 7.Year 8.Switch 9 - 18 Status to log 19.stop 20.Loesch Gruppen[ 0] = ['javascript.0.GasMeter.Wert' ,'Heizung' ,true ,true ,true ,true ,true ,false ,'delta' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,false ,false]; // Gruppen[ 1] = ['javascript.0.BSZ.Counter.Heizung.DELTA.GAS.1-DAY' ,'Heizung_KWh' ,true ,true ,true ,true ,true ,false ,'CALC' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,false ,false]; // Gruppen[ 2] = ['initial' ,'' ,false ,false ,false ,false ,false ,false ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,false ,false]; // Gruppen[ 3] = ['initial' ,'' ,false ,false ,false ,false ,false ,false ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,false ,false]; //
var logname = []; // Stat1 Stat2 Stat3 Stat4 Stat5 Stat6 Stat7 Stat8 Stat9 Stat10 logname[0] = ['GAS' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'']; logname[1] = ['GAS_KWh' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'']; logname[2] = ['EinAus3' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'']; logname[3] = ['EinAus3' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,''];
var special = []; // 1.Round 2.add1 3.Faktor 4\. Divisor 5.add2 6.Individuallogik 7: DELTA(M)Grenze 8.Warten auf Bestaetigung 9.Durchschnitt - 10.Zaehlschwelle 11 Schedule 12\. Min/MAX 13\. MehrfachStatus 14\. Selektives Logging special[0] = ['2' ,'' ,'' ,'' ,'' ,'' ,'' ,'false' ,'' ,'' ,'' ,'' ,'' , '' ]; special[1] = ['2' ,'' ,'11.432' ,'' ,'' ,'' ,'' ,'false' ,'' ,'' ,'' ,'' ,'' ,'' ]; special[2] = ['' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ]; special[3] = ['' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ];
-
@ple:Ist diese Verbesserung garnicht als Update in deinem Script eingeflossen? `
Nein, es gab noch keine neue Version.vG Looxer `
Danke für deine Rückmeldung,
@Ple hat mir sein Script zu Verfügung gestellt mit dem läuft es jetzt wie gewünscht allerdings habe ich keine unterscheide in seinem zu meinem Script gefunden.
Da hattest du aber wohl schon irgendwas geändert, deshalb läuft es jetzt.
Gruß Christian
-
Hallo Looxer
nach Neuinstallation von iobroker hab ich 2 *.csv Dateien, eine vom Zeitraum 04/17 bis 12/17 und eine von der aktuellen Installation '(ab28.12.17). Kann man die "zusammenlegen" ? Hatte meine vorherige iobroker installation zerschossen.
-
Hi,
ich nehme an, dass du die Dateien brauchst, um Folgebearbeitungen durchzuführen.
Mache ich auch so mit Excel.
in diesem Fall, ja. CSV Dateien sind reine Textdateien und enthalten keine Formatierungen.
Du kannst sie mit einem Editor einfach zusammenfügen.
vG Looxer
-
Ple hat mir sein Script zu Verfügung gestellt mit dem läuft es jetzt wie gewünscht allerdings habe ich keine unterscheide in seinem zu meinem Script gefunden.
Da hattest du aber wohl schon irgendwas geändert, deshalb läuft es jetzt. `
Dann scheint sich die Aenderung ja zu bewähren.
Ich mache eine neue Version und stelle sie online.
vG Looxer
-
Hallo Looxer,
ich hänge immer noch fest bei der Umrechnung!
Mein Zähler:
96 Umdrehungen = 1000 Watt
1 Umdrehung = 10,42 Watt aufgerundet ( 1000%96=10,42 Watt pro Drehung des Zählers)
Meine Daten werden minütlich an IObroker vom Zähler übetragen.
Demnach mußte für Leistung in Watt/min so rechnen: Umdrehungen x 10,42 Watt x 60 (Zeit-damit ich auf die Minute komme) = Leistung in Watt/min
Beispiel: 2(Umdrehungen) x 10,42 = 20,84 Watt/min x 60 = 1250,4 Watt/min
Für kWh muß man es noch durch 1000 teilen
Also Umdrehung x 10,42 Watt x 60 % 1000
Beispiel: 2x10,42 x60 %1000 = 1,2504 KW
Jetzt das ganze etwas aufgerundeter, damit es nicht zu kompliziert wird…
Ich rechne so wie Du vorgerechnet hast.
1 Umdrehung = 10 Watt
Die Rechnung was ich benötige ist:
Also eine Umdrehung(=10Watt) x 60 (damit ich auf die 1 min. komme) = 600 Watt/min (Momentanverbrauch)
Ich würde gerne noch den Wert in kWh haben.
Also eine Umdrehung(=10Watt) x 60 (damit ich auf die 1 min. komme) = 600 Watt/min % 1000 = 0,6 kW/h
Ich habe jetzt nur mit einer Umdrehung gerechnet. Natürlich sind die Verbrauchswete immer unterschiedlich und werden pro min als Umdrehung des Zählers frisch übetragen.
Kannst Du helfen? Ich würde zum anfang erst mit dem Momentanverbrauch beginnen... Kannst Du sagen, wie dies in der Tabelle einzutragen ist?
PS: hier noch zwei Bilder von dem "Selbsbau" des Stromzählers
1526_2.2.jpg
1526_1.1.jpg -
Hi,
@knopers1:1 Umdrehung = 10 Watt `
ok, das hört sich schon besser an. Mit der Auflösung 10 Watt per Umdrehung kann man da ja was mit anfangen.
Durch die minütliche Übertragung ist das natürlich wieder etwas eingeschränkt aber wohl noch ok. Hängt halt nach.
Könntest du mir die Datenpunkte per JSON Objektliste als PN senden ?
1. IoBroker - Admin
2. Objekte
3. Auf das überlegende Strukturelement navigieren und markieren
4. ICON oben links (das äusserst rechte)
Das File als txt umbenennen.
vG Looxer
-
die PN ist raus:
hier noch zwei Bilder der Konfig!
1526_uifrhi6f.txt
1526_unbenannt.png
1526_unbenannt1.png -
Hi,
also bekommst du die Umdrehungen geliefert.
Im Screen sehe ich einen Wert von 5.00.
Bedeutet das, dass seit dem letzten update des Datenpunktes 5 Umdrehungen gemessen wurden ?
vG Looxer
-
ja, das sind Umdrehungen…
Ich bekomme jede min. den aktuellen Zählerstand. Wenn kein Strom entnommen worden ist, dann bleibt es nach einer Minute weiterhin auf 5. Sonst kommen Werte hinzu. Wie gesagt, jede min. frisch ausgelesen und zu der 5 dazugezählt.
Der Wert ist zwar deshalb so niedrig, da das ganze Zeug noch auf dem Schreibtisch liegt. Das Einbauen wird noch kommen. Der Sensor erkennt aber die Scheibe des Stromzählers ohne Probleme wenn es gut ausgerichtet und über dem Poti eingestellt ist.
In der Praxis, wirt der Wert ständig steigen mit der Entnahme des Stromes.
In der Theorie ist das nur ein dummer Zähler was hoch zählen kann...
-
Hi,
@knopers1:ja, das sind Umdrehungen…
Ich bekomme jede min. den aktuellen Zählerstand. Wenn kein Strom entnommen worden ist, dann bleibt es nach einer Minute weiterhin auf 5. Sonst kommen Werte hinzu. Wie gesagt, jede min. frisch ausgelesen und zu der 5 dazugezählt. `
also ich bin noch nicht klar.
-
Bekommst du einen Zählerstand ? (zusätzlich zu den Umdrehungen ?
-
Mich irritiert, dass dort eine 5 steht. Wenn ständig addiert werden würde, dann müsste die Anzahl der Umdrehungen ja viel groesser sein
-
-
siehe nochmal oben, habe mein Post vorhin editiert!
Das ist ein dummer Zähler, was praktisch hochzählt und den Wert minütlich an IOBroker sendet! Ich bekomme nur die Umdrehungszahl. Die 5 ist an sich ein Zählerstand. Ich könnte es auf Wert 2000 setzen. Nur wofür? Nach einer min. würde er dann eine zB. eine 2002 ausgeben….
Der Wert steigt nur, und ist deshalb so niedrig, da das ganze Zeug noch auf dem Schreibtisch liegt. Um an den Wert für die letzte min. zu kommen, müsste man den alten Wert von dem neuen abziehen. ZB: Wert alt 2000, frisch aktualiesiert 2002.
EDIT:
Betrachte es als ein neuer Zähler was frisch eingebaut ist. Der fängt auch an von 0 hoch zu zählen. Mann könnte sagen dass es ein Zählerstand ist!
-
Hi,
es gibt tatsächlich eine Möglichkeit, da die Delta Werte im System Bereich vorgehalten werden.
Ich habe es getestet. Du musst nur deine Datenpunkte eintragen. Wichtig: die richtige Gruppennummer für GRP24 eintragen.
Sieht dann so aus anhand meiner Testdatenpunkte. Der Test war erfolgreich Du bekommst den Verbrauch der letzten Minute in kWh
vG Looxer
Gruppentabelle
Gruppen[24] = ['javascript.0.StromzaehlerTest.StromzaehlerTest', 'Stromzaehler' ,false ,false ,false ,false ,false ,false ,'delta' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,false ,false]; Gruppen[25] = ['javascript.0.BSZ.System.Grp24MSec.UmdrDelta' , 'Stromzaehler' ,false ,false ,false ,false ,false ,false ,'calc' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,false ,false]; /*-------------------------------------------------------------------------------
LogName Tabelle
`logname[24] = ['UmdrDelta' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'']; logname[25] = ['MomVerbr' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'']; special Tabelle [code] special[24] = ['9' ,'' ,'' ,'' ,'' ,'' ,'' ,'false' ,'' ,'' ,'' ,'' ,'' ,'']; special[25] = ['9' ,'' ,'10' ,'1000' ,'' ,'' ,'' ,'false' ,'' ,'' ,'' ,'' ,'' ,'']; [/code]`
-
Hi,
Ich habe die Version 0.99 hochgeladen.
Sie enthält ein paar Fixe. Der wichtigste ist der Rundungsfix, der hier schon öfter Thema war.
Der Einstellbereich inkl Experteneinstellungen hat sich nicht geändert. Es kann also nach dem Einstellungsbereich einfach kopiert werden.
vG Looxer
-
vielen Dank Looxer,
ich habe soweit alles eingetragen: siehe unten…
Gruppen[ 2] = ['javascript.0.StromMeter.Wert' ,'Stromzaehler' ,false ,false ,false ,false ,false ,false ,'delta' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,false ,false]; // Gruppen[ 3] = ['javascript.0.BSZ.System.Grp02MSec.UmdrDelta' ,'Stromzaehler' ,false ,false ,false ,false ,false ,false ,'CALC' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,false ,false]; //
logname[2] = ['UmdrDelta' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'']; logname[3] = ['MomVerbr' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,''];
special[2] = ['9' ,'' ,'' ,'' ,'' ,'' ,'' ,'false' ,'' ,'' ,'' ,'' ,'' ,'' ]; special[3] = ['9' ,'' ,'10' ,'1000' ,'' ,'' ,'' ,'false' ,'' ,'' ,'' ,'' ,'' ,'' ];
Schaust Du mal was ich da raus bekommen habe? siehe Bild…
Der Zähler ist mitlerweile montiert und zählt fleißig. Ich bekomme bei Momentanverbrauch ständig zwischen 0,01 und 0,03...
Was sind das für Werte?
Haben wir jetzt einfach die Umdrehung x 10 % 1000 gerechnet ??? Danach sieht es aus...
Der Momentanverbrauch müsste aber so gerechnet werden. Umdrehung x 10 x 60 (um auf die min. zu kommen)
Demnach müsste soetwas wie: 2 x 10 x 60 = 1800 Watt kommen bei Momentanverbrauch
Lässt sich soetwas in deinem Script überhaupt einstellen? Da müsste man zwei mal die Werte miteinander multiplizieren
1526_unbenannt.png