[vz-dev] [rant] M-Bus Probleme

Tom Weber tom.weber at gmx.de
Wed Mar 7 16:43:46 CET 2012


Hallo Sven,

gestern Abend gegen 19 Uhr hatte ich die Rechte der vzold so geändert, dass
sie auch vom cron geschrieben werden konnte. Seitdem sieht es besser aus,
anbei der Screenshot.

Trotzdem:
Der Durchfluss durch meine Heizung beträgt "0" - alle Ventile sind auch zu -
trotzdem noch 2,4kW Heizleistung, das kapiere ich nicht. Und das bleibt so
über Stunden, Heizleistung 0 gibt es bei mir irgendwie nicht....
Der Zähler ist ein Allmess Integral-MAXX.



-----Ursprüngliche Nachricht-----
Von: volkszaehler-dev-bounces at lists.volkszaehler.org
[mailto:volkszaehler-dev-bounces at lists.volkszaehler.org] Im Auftrag von Sven
Anders
Gesendet: Mittwoch, 7. März 2012 08:00
An: volkszaehler.org
Betreff: Re: [vz-dev] [rant] M-Bus Probleme

Am 07.03.2012 05:43, schrieb Tom Weber:

> Mein Problem ist jetzt eigentlich nur das Verständnis der Daten insb. der
> Heizenergie:
> Trotz Durchfluss von 0m³/h bleiben 2kW Heizleistung in der Anzeige. Auch
das
> Volumen beträgt "aktuell 200 l/h" was nicht zum Durchfluss passt. Ich habe
> den Verdacht, dass bei dieser Differenzberechnung mit vzold irgendetwas
> schief läuft - möglicherweise auch in meinem Kopf.
> 
> So rein rechnerisch würde ich die Heizleistung aus dem Durchfluss und der
> Temperaturdifferenz berechnen:
> "P = 4,19/3600*durchfluss*delta_T" demnach in kW

VERMUTUNG:
Du musst beachten: Der WMZ gibt in der Regel den aktuellen Durchfluss
aus. Da du ja im Cron z.B. alle 10 Minuten abfragst, kann der anders
sein, wie der durchschnittliche Durchfluss innerhalb der 10 Minuten.

BEISPIEL:

Du misst um 12:00 Uhr und 12:10 Uhr beides mal ist der aktuelle
Durchfluss 0 m³/h. Trotzdem ist um 12:03 Uhr die Pumpe angesprungen und
hat bis 12:07 Uhr Wasser durch den Zähler gepumpt, wieviel kannst du
anhand dieser Messwerte nicht sagen.

Um das genau heraus zu bekommen, starte doch bitte mal den Befehl mit
dem Parameter:

mbus-cmd --sqlout --debug

Gefunden: Seriennummer: 10530553
dif:12 cod: 12 func:0 stor: 0 ext:0
Use of uninitialized value $counter in concatenation (.) or string at
/usr/local/lib/site_perl/mbus.pm line 275.
vif : 120 ext:0 n2: 0 n3:0 desc4:120  desc5:120
dif:12 cod: 12 func:0 stor: 0 ext:0
vif 1: 6 ext:0 n2: 2 n3:6 desc4:0  desc5:4
dif:12 cod: 12 func:0 stor: 0 ext:0
vif 2: 20 ext:0 n2: 0 n3:4 desc4:16  desc5:20
dif:10 cod: 10 func:0 stor: 0 ext:0
vif 3: 59 ext:0 n2: 3 n3:3 desc4:56  desc5:56
dif:11 cod: 11 func:0 stor: 0 ext:0
vif 4: 90 ext:0 n2: 2 n3:2 desc4:88  desc5:88
dif:11 cod: 11 func:0 stor: 0 ext:0
vif 5: 94 ext:0 n2: 2 n3:6 desc4:88  desc5:92
dif:11 cod: 11 func:0 stor: 0 ext:0
vif 6: 97 ext:0 n2: 1 n3:1 desc4:96  desc5:96
dif:50 cod: 2 func:3 stor: 0 ext:0
vif 7: 38 ext:0 n2: 2 n3:6 desc4:32  desc5:36
dif:2 cod: 2 func:0 stor: 0 ext:0
vif 8: 39 ext:0 n2: 3 n3:7 desc4:32  desc5:36
dif:4 cod: 4 func:0 stor: 0 ext:0
vif 9: 109 ext:0 n2: 1 n3:5 desc4:104  desc5:108
dif:9 cod: 9 func:0 stor: 0 ext:0
vif 10: 253 ext:128 n2: 1 n3:5 desc4:120  desc5:124
vife: 14
dif:9 cod: 9 func:0 stor: 0 ext:0
vif 11: 253 ext:128 n2: 1 n3:5 desc4:120  desc5:124
vife: 15
dif:15 cod: 15 func:0 stor: 0 ext:0
vif 12: 0 ext:0 n2: 0 n3:0 desc4:0  desc5:0
INSERT INTO zaehler SET
pos="0",vif="12",dif="120",value="10530553",unit="",zweck="Fabriknummer",ser
ial="10530553",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET
pos="1",vif="12",dif="6",value="00008093",unit="kWh",zweck="Heizenergie",ser
ial="10530553",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET
pos="2",vif="12",dif="20",value="488.8",unit="m^3",zweck="Volumen",serial="1
0530553",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET
pos="3",vif="10",dif="59",value="0",unit="m^3/h",zweck="Fliessgeschwindigkei
t",serial="10530553",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET
pos="4",vif="11",dif="90",value="32.9",unit="C",zweck="Vorlauftemperatur",se
rial="10530553",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET
pos="5",vif="11",dif="94",value="26.1",unit="C",zweck="Ruecklauftemperatur",
serial="10530553",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET
pos="6",vif="11",dif="97",value="6.78",unit="K",zweck="Temperaturdifferenz",
serial="10530553",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET
pos="7",vif="50",dif="38",value="4",unit="h",zweck="Betriebszeit",serial="10
530553",valArt="Fehlerwert",count="0";
INSERT INTO zaehler SET
pos="8",vif="2",dif="39",value="699",unit="Tage",zweck="Betriebszeit",serial
="10530553",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET pos="9",vif="4",dif="109",value="2005-03-07
19:01",unit="Uhr",zweck="Zeitpunkt",serial="10530553",valArt="normaler
Wert",count="0";
INSERT INTO zaehler SET pos="10",vif="9",dif="253
14",value="03",unit="",zweck="Firmware
version",serial="10530553",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET pos="11",vif="9",dif="253
15",value="18",unit="",zweck="Software
version",serial="10530553",valArt="normaler Wert",count="0";


und speichere das Ergebnis (die Ausgabe) weg.

Das gleiche wiederholst du nach einiger Zeit einige male und schickst
mir die Dateien und eine Kurve/Screenshot etc. vom Volkszähler, dann
kann ich mir das evtl. vorstellen.

BTW: Du bist vermutlich der erste der den Mbus-Controler außer mir (dem
Entwickler) nutzt. Magst du mir mal ein mbus-cmd --sqlout --sqlrawout

INSERT INTO rawdata SET
serial="10530553",data="\104\77\77\104\8\1\114\83\5\83\16\130\77\6\4\65\0\0\
0\12\120\83\5\83\16\12\6\147\128\0\0\12\20\128\136\4\0\10\59\0\0\11\90\41\3\
0\11\94\97\2\0\11\97\120\6\0\50\38\4\0\2\39\187\2\4\109\0\19\135\19\9\253\14
\3\9\253\15\24\15\0\20\51\22";
INSERT INTO zaehler SET
pos="0",vif="12",dif="120",value="10530553",unit="",zweck="Fabriknummer",ser
ial="10530553",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET
pos="1",vif="12",dif="6",value="00008093",unit="kWh",zweck="Heizenergie",ser
ial="10530553",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET
pos="2",vif="12",dif="20",value="488.8",unit="m^3",zweck="Volumen",serial="1
0530553",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET
pos="3",vif="10",dif="59",value="0",unit="m^3/h",zweck="Fliessgeschwindigkei
t",serial="10530553",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET
pos="4",vif="11",dif="90",value="32.9",unit="C",zweck="Vorlauftemperatur",se
rial="10530553",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET
pos="5",vif="11",dif="94",value="26.1",unit="C",zweck="Ruecklauftemperatur",
serial="10530553",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET
pos="6",vif="11",dif="97",value="6.78",unit="K",zweck="Temperaturdifferenz",
serial="10530553",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET
pos="7",vif="50",dif="38",value="4",unit="h",zweck="Betriebszeit",serial="10
530553",valArt="Fehlerwert",count="0";
INSERT INTO zaehler SET
pos="8",vif="2",dif="39",value="699",unit="Tage",zweck="Betriebszeit",serial
="10530553",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET pos="9",vif="4",dif="109",value="2005-03-07
19:00",unit="Uhr",zweck="Zeitpunkt",serial="10530553",valArt="normaler
Wert",count="0";
INSERT INTO zaehler SET pos="10",vif="9",dif="253
14",value="03",unit="",zweck="Firmware
version",serial="10530553",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET pos="11",vif="9",dif="253
15",value="18",unit="",zweck="Software
version",serial="10530553",valArt="normaler Wert",count="0";

schicken? Vielleicht geben Deine Zähler ja noch Werte zurück, die ich
bei der Programmierung bislang nicht beachtet habe. Achja und die
Herstellerbezeichnung der Geräte wäre auch interessant.

Sven

-------------- next part --------------
A non-text attachment was scrubbed...
Name: vz.png
Type: image/png
Size: 178582 bytes
Desc: not available
URL: <http://volkszaehler.org/pipermail/volkszaehler-dev/attachments/20120307/bea68251/attachment-0001.png>


More information about the volkszaehler-dev mailing list