Hallo,
Ich habe den Gaszähler von Jan versucht für meinen Pelletbrenner zu nutzen.
Installation des Reedkontaktes erfolgte über der Förderschneckenwelle.
Auf der Welle wurde ein Magnet befestigt, der den Reedkontakt schaltet.
Das entspricht der Installation am Gaszähler.
Der Brennstoffzaehler ist wie folgt definiert:
define GPIOBrennstoffzaehler RPI_GPIO 23
attr GPIOBrennstoffzaehler direction input
attr GPIOBrennstoffzaehler active_low yes
attr GPIOBrennstoffzaehler interrupt both
attr GPIOBrennstoffzaehler pud_resistor up
attr GPIOBrennstoffzaehler toggletostate yes
list GPIOBrennstoffzähler:
Internals:
CFGFN
DEF 23
EXCEPT_FD 39
NAME GPIOBrennstoffzaehler
NR 182
RPI_pin 23
STATE on
TYPE RPI_GPIO
Readings:
2016-02-23 19:17:35 Longpress on
2016-02-23 19:17:34 Pinlevel high
2016-02-23 19:17:34 state on
Fhem:
interfaces switch
Attributes:
active_low yes
direction input
interrupt both
pud_resistor up
room 1.3.1 Heizraum,Unsorted
toggletostate yes
Danach wurde der HourCounter definiert:
define Brennstoffverbrauch HourCounter GPIOBrennstoffzaehler:on GPIOBrennstoffzaehler:off
list Brennstoffverbrauch:
Internals:
CFGFN
DEF GPIOBrennstoffzaehler:on GPIOBrennstoffzaehler:off
NAME Brennstoffverbrauch
NR 200
NTFY_ORDER 50-Brennstoffverbrauch
STATE 22
TYPE HourCounter
VERSION 1.0.1.2 - 24.12.2014
Readings:
2016-02-23 10:47:04 clearDate 2016-02-23 10:47:04
2016-02-23 19:12:39 countsOverall 22
2016-02-23 19:12:39 countsPerDay 22
2016-02-23 19:12:39 pauseTimeEdge 31
2016-02-23 19:12:39 pauseTimeIncrement 31
2016-02-23 19:12:39 pauseTimeOverall 5070
2016-02-23 19:12:39 pauseTimePerDay 5070
2016-02-23 19:12:39 pulseTimeEdge 1721
2016-02-23 19:12:39 pulseTimeIncrement 2227
2016-02-23 19:12:39 pulseTimeOverall 25262
2016-02-23 19:12:39 pulseTimePerDay 25262
2016-02-23 19:12:39 state 22
2016-02-23 18:35:32 tickChanged 297
2016-02-23 00:00:00 tickDay 2
2016-02-23 19:00:00 tickHour 56
2016-02-21 11:27:37 tickMonth 0
2016-02-23 19:12:39 tickUpdated 102
2016-02-21 11:27:37 tickWeek 0
2016-02-21 11:27:37 tickYear 0
2016-02-23 19:12:39 value 1
Helper:
OFF_Regexp GPIOBrennstoffzaehler:off
ON_Regexp GPIOBrennstoffzaehler:on
calledByEvent
changedTimestamp 2016-02-23 19:12:39
forceClear
forceDayChange
forceHourChange
forceMonthChange
forceWeekChange
forceYearChange
isFirstRun
sdRoundHourLast 1456250400
value 1
cmdQueue:
Attributes:
event-on-change-reading .*
room 1.3.1 Heizraum
Bis hier funktioniert es soweit.
Nun kommt aber der problematische Teil und zwar die Parameter des Gaszählers:
10Lieter = 1 Impuls
1m³ =100 Impulse = 77cent
durch meine Parameter zu ersetzen.
Der Brennstoff wird in Säcken zu 25 kg geliefert.
0,229 kg = 1 Impuls Umdrehung)
25 kg = 109 Impulse (Umdrehungen)
5,83 €/Sack = 0,233 €/kg
Definition Dummy Brennstoffverbrauch:
define BrennstoffverbrauchStd dummy
Definition Notify Brennstoffverbrauch:
efine BrennstoffverbrauchStdNoti notify Brennstoffverbrauch {
my $BrennstoffUmlaufzeit=ReadingsVal("Brennstoffverbrauch","pauseTimeEdge","0")+ReadingsVal("Brennstoffverbrauch","pulseTimeEdge","0");
my $BrennstoffProStd=36/$BrennstoffUmlaufzeit;
my $BrennstoffProStdRounded=int(100 * $BrennstoffProStd + 0.5) / 100;
fhem("set BrennstoffverbrauchStd $BrennstoffProStdRounded");;
fhem("delete tmp_time_brennstoff");;
fhem("define tmp_time_brennstoff at +00:02:00 set BrennstoffverbrauchStd 0");;
}
list notify Brennstoffverbrauch:
Internals:
CFGFN
DEF Brennstoffverbrauch {
my$BrennstoffUmlaufzeit=ReadingsVal("Brennstoffverbrauch","pauseTimeEdge","0")+ReadingsVal("Brennstoffverbrauch","pulseTimeEdge","0");
my $BrennstoffProStd=36/$BrennstoffUmlaufzeit;
my $BrennstoffProStdRounded=int(100 * $BrennstoffProStd + 0.5) / 100;
fhem("set BrennstoffverbrauchStd $BrennstoffProStdRounded");;
fhem("delete tmp_time_Brennstoff");;
fhem("define tmp_time_Brennstoff at +00:02:00 set BrennstoffverbrauchStd 0");;
}
NAME BrennstoffverbrauchStdNoti
NOTIFYDEV Brennstoffverbrauch
NR 1448
NTFY_ORDER 50-BrennstoffverbrauchStdNoti
REGEXP Brennstoffverbrauch
STATE 2016-02-23 19:18:33
TYPE notify
Readings:
2016-02-23 19:06:55 state active
Attributes:
room 1.3.1 Heizraum
Mir erschließt sich nicht, wo ich meine Werte einsetzen soll.
Wer kann mir helfen
Danke Michael
Hallo,
Schade, das sich kein Helfer gefunden hat.
Die countsOverall (Umdrehungen gesamt)sowie
countsPerDay (Umdrehungen Tag) werden sauber erfasst.
Aber wo soll ich meine Werte eintragen, damit der Brennstoffverbrauch richtig angezeigt wird.
Danke Michael