gegenseitige Verriegelung und automatische Abschaltung bei GPIO

Begonnen von crossbike0815, 16 November 2016, 15:11:34

Vorheriges Thema - Nächstes Thema

crossbike0815

Hallo,
ich habe über 2 Relais eine zentrale Ansteurung für Rolladenmotoren realisiert. Dies funktioniert zeitgesteuert auch sehr gut.
Zur Vermeidung der gleichzeitigen Ansteuerung habe ich aber 3 Fragen:

1. Wie kann ich verhindern, dass beide gleichzeitig ansteuerbar sind? Also GPIO2 nicht geschaltet werden kann, wenn z.B. GPIO3 bereits ON ist und umgekehrt...
2. Kann ich die automatisch erstellten Schaltmöglichkeiten ON/OFF auf der FHEM-Oberfläche so ersetzen, dass statt dessen immer "on-for-timer 60" ausgeführt wird?
3. Wenn 2. nicht geht, kann ich es so einstellen, dass es immer allein nach 60s ausgeht. Ich habe gefunden "define Licht_an notify Wz_LampeDeckeUp { if ("%" ne "off") { fhem("define  Licht_aus at +00:00:10 set Wz_LampeDeckeUp off") } }", aber geht es nicht irgendwo im Device per attribut oder so? Ein passendes hab ich jedenfalls nicht gefunden...

klausw

Über die Suche habe ich recht schnell ein Modul gefunden, das dir dabei helfen könnte:
https://forum.fhem.de/index.php/topic,47202.0.html

Zitat von: crossbike0815 am 16 November 2016, 15:11:34
1. Wie kann ich verhindern, dass beide gleichzeitig ansteuerbar sind? Also GPIO2 nicht geschaltet werden kann, wenn z.B. GPIO3 bereits ON ist und umgekehrt...
Indem du die Verriegelung in Hardware aufbaust.
(z.B. Leitung hoch auf den Öffner, Leitung runter auf den Schließer des selben Relais. Der gemeinsame Kontakt wird über ein zweites Relais mit der Netzspannung verbunden. So lässt sich mit einem GPIO die Richtung bestimmen und mit dem zweiten schaltet man ein.)
Die GPIOs funktionieren voneinander getrennt, können also nicht verriegelt werden.
Alternativ kannst du einen "dummy" anlegen und diesem die Befehle "hoch" und "runter" geben.
Ein "notify" welches auf dummy reagiert kümmert sich dann um die Steuerung und Verriegelung der GPIOs.
Das alles und einiges mehr lässt sich bestimmt mit oben genanntem Modul realisieren.


Zitat von: crossbike0815 am 16 November 2016, 15:11:34
2. Kann ich die automatisch erstellten Schaltmöglichkeiten ON/OFF auf der FHEM-Oberfläche so ersetzen, dass statt dessen immer "on-for-timer 60" ausgeführt wird?
mit dem Attribut "cmdIcon" kannst du klickbare Icons erzeugen und diesen on-for-timer übergeben
als Text müsste das mit dem Attribut "webCmd" gehen


Zitat von: crossbike0815 am 16 November 2016, 15:11:34
3. Wenn 2. nicht geht, kann ich es so einstellen, dass es immer allein nach 60s ausgeht. Ich habe gefunden "define Licht_an notify Wz_LampeDeckeUp { if ("%" ne "off") { fhem("define  Licht_aus at +00:00:10 set Wz_LampeDeckeUp off") } }", aber geht es nicht irgendwo im Device per attribut oder so? Ein passendes hab ich jedenfalls nicht gefunden...
% muss jetzt $EVENT heissen
du könntest userreadings dafür missbrauchen
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

crossbike0815

Zitat von: klausw am 16 November 2016, 16:29:12
mit dem Attribut "cmdIcon" kannst du klickbare Icons erzeugen und diesen on-for-timer übergeben
als Text müsste das mit dem Attribut "webCmd" gehen

Danke, das hat darüber gut funktioniert und deshalb brauche ich 3. nicht.

Prof. Dr. Peter Henning

Ich bun mir nich so ganz sicher, was mit "dem darüber" gemeint ist - aus Sicherheitsgründen muss das unbedingt in der Hardware gemacht werden. Dopplete Ansteuerung: Ältere Motoren können dabei zu einer echten Brandgefahr werden, neuere gehen nur kaputt.

LG
pah