Taster an Raspberry Gpio

Begonnen von Grave, 20 Juli 2016, 21:25:27

Vorheriges Thema - Nächstes Thema

Grave

Hi,

ich würde gerne einen normalen Schalter an einen Gpio anschließen, um damit eine Pumpe zu schalten. Gleichzeitig möchte ich die Pumpe aber auch über Fhem direkt schalten.
Wie bekommt man es denn hin, dass abhängig vom Status der Pumpe, man mit dem Schalter die Pumpe entweder ein- oder ausschaltet?
Sprich: Wenn die Pumpe an ist und ich den Schalter umlege, soll die Pumpe aus gehen. Ist sie aus, soll sie über den Schalter eingeschalte werden, egal wie der eigenliche Status des Schalters ist (high oder low). Einfacher wäre es wahrscheinlich über einen Taster, würde es aber gerne so hinbekommen.

Gruß Grave

PeMue

Hallo,

erst mal die Hardware:
- der Taster geht direkt an einen GPIO, der pullup ist schon drin
- die Pumpe über ein Relais, das über einen Transistor geschaltet wird, inkl. Freilaufdiode.

Die Logik kannst Du dann in fhem machen:
Erst mal den Algorithmus aufschreiben (wenn und -> dann) und dann in fhem realisieren.

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Grave

Hardwaremäßig ist alkes in Ordnung.
Ich habe fhem vor einem jahr installiert und dann lange nichts mehr gemacht. Kann ich das sofort in der fhem.cfg machen? Muss mich wohl nochmal einlesen.

Grave

So in der Art?

PER FHEM

define Garten_Pumpe dummy
attr Garten_Pumpe room Vorgarten
attr Garten_Pumpe webCmd off:on
define Garten_PumpeNotify notify Garten_Pumpe set OW_8_Relais PIO.2 $Event


PER SCHALTER

define Pin23 RPI_GPIO 11
attr Pin23 direction input
attr Pin23 interrupt both
attr Pin23 pud_resistor down
attr Pin23 debounce_in_ms 500
define Garten_Pumpe_Taster_Notify notify Pin23 {if ( Value("Garten_Pumpe") eq "on") {fhem("set Garten_Pumpe off")}}
define Garten_Pumpe_Taster_Notify notify Pin23 {if ( Value("Garten_Pumpe") eq "off") {fhem("set Garten_Pumpe on")}}