Hi
ist es möglich einen reed Kontakt direkt an einen gpio vom Raspberry pi anzuschließen und auszulesen?
Wenn ja wie?
Ja, das habe ich so gemacht. Du solltest nur Pullup/Pulldown-Widerstände verwenden. Zur Not geht es auch mit den internen, zuschaltbaren Widerständen des GPIO.
Hier meine Definition in FHEM:
Geräte:
Zitat
define gpio_pin11 RPI_GPIO 17
attr gpio_pin11 direction input
attr gpio_pin11 interrupt falling
attr gpio_pin11 pud_resistor up
attr gpio_pin11 room Heizung,System
attr gpio_pin11 DbLogExclude .*Toggle.*,.*Counter.*,.*state.*
Zum Auslesen nehme ich das Modul HourCounter (ist noch nicht offiziell, funktioniert aber prima):
Zitat
define CN.Gas HourCounter gpio_pin11:Pinlevel:.low.*
attr CN.Gas verbose 1
attr CN.Gas DbLogExclude .*appOp.*,.*pause.*,.*pulse.*
attr CN.Gas room Heizung
define CN.EventGas notify CN.Gas:(countsOverall:|value:|tickHour:|tickDay:|ti
ckWeek:|tickMonth:).* {appHCNotify("%NAME","%EVTPART0","%EVTPART1");;}
attr CN.EventGas room Heizung
Anschluß des Reedkontaktes:
Reedkontakt an PIN 11 (GPIO 17) und an PIN 6 (Masse)
PullUp Widerstand 10K an PIN 11 und an PIN 1 (3.3V)
Gruß
Blueberry63
Ich habe übrigens keinen Erfolg mit dem Anbringen eines eigenen Reedkontaktes am Gaszähler gehabt (zu viele Aussetzer). Nach Anruf beim Gaslieferant wurde mir kostenlos ein IN-Z61 installiert. Damit läuft alles super.
Gruß
Blueberry63
Danke für deine Antwort.
Ich habe einen Z62 mit zum neuen Zähler dabei bekommen.
Ich habe es geschafft das ganze über RS232 anzuschließen und habe es auch in FHEM jedoch gefällt mir das ganze so über den Maxcounter nicht.
Ich werde das ganze auf 1-Wire umbauen um den OWCOUNTER nutzen zu können.
Hallo Henno,
was ist der Vorteil von OWCounter? Ich habe eben mal kurz die Commandref gelesen und kann keinen Vorteil erkennen (nur Mehrkosten). Hast Du das Wiki zu HourCounter gelesen:
http://www.fhemwiki.de/wiki/HourCounter (http://www.fhemwiki.de/wiki/HourCounter)
Gruß
Blueberry63
Beim Hourcounter finde ich keine Möglichkeit das Komma richtig zu setzen.
Mein Zähler hat 1 imp. = 0,01 m³
Bei Hourcounter müsste ich doch jedesmal umrechnen.
edit
falscher thread
Ich mach das so (in m3 und dann in kwh):
attr hwr_Gaszaehler userReadings verbrTagkWh {sprintf("%.1f",ReadingsVal("hwr_Gaszaehler","countsPerDay",0)*0.01*11.15) . " kWh";;;;}
Oder Alternativ direkt im Plot umrechnen (in m3):
#FileLog 4:hwr_Gaszaehler.countsPerDay\x3a::$fld[3]/=100
Hallo,
ich wärm das hier mal auf.
Habe es aktuell so bei mir eingerichtet wie oben beschrieben. Jedoch zählt der Counter bei JEDEM Toggle, also on wie off, was bei einem Gaszähler pro Impuls immer 2 Zählschirtte sind.
Anbei ein Logauszug:
2014-07-07_18:07:25 Gas Counter: 3619987
2014-07-07_18:15:02 Gas Pinlevel: high
2014-07-07_18:15:02 Gas on
2014-07-07_18:15:02 Gas Toggle: off
2014-07-07_18:15:02 Gas Counter: 3619988
2014-07-07_18:15:04 Gas Pinlevel: high
2014-07-07_18:15:04 Gas on
2014-07-07_18:15:04 Gas Toggle: on
2014-07-07_18:15:04 Gas Counter: 3619989
2014-07-07_18:15:18 Gas Pinlevel: high
2014-07-07_18:15:18 Gas on
2014-07-07_18:15:18 Gas Toggle: off
2014-07-07_18:15:18 Gas Counter: 3619990
Unser Gaszähler dreht sehr gemächlich. In Fall des Logs ist der erste Impuls bei 18:15:02 gekommen, der zweite um 18:15:18.
Das Reed-Kontakt am Gaszähler ist wie folgt definiert:
Internals:
DEF 24
EXCEPT_FD 26
NAME Gas
NR 89
RPI_pin 24
STATE on
TYPE RPI_GPIO
Readings:
2014-07-07 18:15:18 Counter 3619990
2014-07-07 18:15:18 Pinlevel high
2014-07-07 18:15:18 Toggle off
2014-07-07 18:15:18 state on
Fhem:
interfaces switch
Attributes:
direction input
interrupt rising
pud_resistor up
Ich habe es auch mit anderen Kombinationen aus "Interrupt" und "pud_resistor" probiert, aber der Effekt ist immer der selbe.
Wie kann ich dem das "doppeltzählen" abgewöhnen?
Danke und Gruss
Jan