Garagentorsteuerung mit Sonoff

Begonnen von hanswerner1, 28 Mai 2017, 18:02:08

Vorheriges Thema - Nächstes Thema

trs

@hanswerner1:

Hallo,
bin neu hier, und will deine Torsteuerung nachbauen. Wie schalte ich den seriellen Ausgang aus, um pio1 und 3 als Eingang für die Schalter zu nutzen? Kannst du mir deine ESPeasy config zu Verfügung stellen?

trs

#31
Ok, hab ich jetzt gefunden unter "Tools" "Advanced". Funktioniert auch soweit, die Eingänge werden erkannt, und der Richtige Status angezeigt (im Webinterface unter "Devices").

Ich habe die Befehle soweiteingegeben, funktioniert bis zu der Eingabe:

    define doif_Garage_Katja_status DOIF ([ESPEasy_06_Garage_Katja:Tor_auf] eq "1" and [ESPEasy_06_Garage_Katja:Tor_zu] eq "0") (setreading Garage_Katja zustand open)\
    DOELSEIF ([ESPEasy_06_Garage_Katja:Tor_auf] eq "0" and [ESPEasy_06_Garage_Katja:Tor_zu] eq "0") (setreading Garage_Katja zustand move)\
    DOELSEIF ([ESPEasy_06_Garage_Katja:Tor_auf] eq "0" and [ESPEasy_06_Garage_Katja:Tor_zu] eq "1") (setreading Garage_Katja zustand closed)\



Dann bekomme ich die Rückmeldung:

doif_Garage_Katja_status DOIF: expected DOELSEIF or DOELSE: \ DOELSEIF ([ESPEasy_06_Garage_Katja:Tor_auf] eq "0" and [ESPEasy_06_Garage_Katja:Tor_zu] eq "0") (setreading Garage_Katja zustand move)\ DOELSEIF ([ESPEasy_06_Garage_Katja:Tor_auf] eq "0" and [ESPEasy_06_Garage_Katja:Tor_zu] eq "1") (setreading Garage_Katja zustand closed)\

wobei "ESPEasy_06_Garage_Katja" immer rot geschrieben ist.

Was nun?


hanswerner1

Ich bin aktuell im Urlaub, nächste Woche kann ich Dir helfen.

trs

Hallo,
funktioniert jetzt. Habe lange gebraucht um rauszufinden, dass die "\" nicht in die Befehlszeile gehören:-((

trs

Funktioniert prima. Jetzt brauche ich nur noch einen zweiten Knopf "Automatikbetrieb", der das Tor öffnet, 3 min. wartet, und dann das Tor wieder schließt. Allerdings nur, wenn es offen ist, falls es manuell (mit dem originalen Schalter) während der 3 min. geschlossen wurde.

smoudo

Das kann man mit einem doif oder notify ganz gut lösen.

Grüße

Matze

trs

Vielleichtkann mir noch jemand etwas Hilfestellung geben:

Ich brauche einen zusätzlichen Knopf (Tor Automatik 3min):

Beim drücken öffet das Tor (nur wenn es noch nicht offen ist) bleibt für eine Zeit offen (z.B. 3min) und schließt dann wieder selbstständig (wenn es noch offen ist)

Hier meine config:

Dummy für Tor:

define Garagentor dummy
attr Garagentor eventMap toggle
attr Garagentor group Garage
attr Garagentor icon fts_garage
attr Garagentor room Aussen
attr Garagentor stateFormat zustand
attr Garagentor webCmd toggle


Sonoff:

define ESPEasy_06_Garagentor ESPEasy 192.168.1.76 80 espBridge 06_Garagentor
attr ESPEasy_06_Garagentor IODev espBridge
attr ESPEasy_06_Garagentor Interval 300
attr ESPEasy_06_Garagentor eventMap /gpio 12 on:on/gpio 12 off:off/gpio 12 gpio:off/gpio 12 output:off/
attr ESPEasy_06_Garagentor group ESPEasy Device
attr ESPEasy_06_Garagentor presenceCheck 1
attr ESPEasy_06_Garagentor readingSwitchText 0
attr ESPEasy_06_Garagentor room ESPEasy
attr ESPEasy_06_Garagentor stateFormat Tor auf: auf Tor zu: zu
attr ESPEasy_06_Garagentor webCmd on:off


Garage öffnen/schließen:

define doif_Garagentor_oeffnen DOIF ([Garagentor:state] eq "toggle") (set Garagentor "wait"; set ESPEasy_06_Garagentor on; sleep 25; set ESPEasy_06_Garagentor off)

attr doif_Garagentor_oeffnen do always
attr doif_Garagentor_oeffnen group Garage
attr doif_Garagentor_oeffnen room 90_System_Prog


Garage Status:


define doif_Garagentor_status DOIF ([ESPEasy_06_Garagentor:auf] eq "1" and [ESPEasy_06_Garagentor:zu] eq "0") (setreading Garagentor zustand open)
DOELSEIF ([ESPEasy_06_Garagentor:auf] eq "0" and [ESPEasy_06_Garagentor:zu] eq "0") (setreading Garagentor zustand move)
DOELSEIF ([ESPEasy_06_Garagentor:auf] eq "0" and [ESPEasy_06_Garagentor:zu] eq "1") (setreading Garagentor zustand closed)

attr doif_Garagentor_status do always
attr doif_Garagentor_status group Garage
attr doif_Garagentor_status room 90_System_Prog


Ich komm im Moment nicht weiter.




RaspiLED

Hi,
aber was ist Dein Problem?

Dein eventmap 06_Garagentor hat einen merkwürdigen Inhalt. Ich kenne gpio 12 gpio/output nicht!?

Dein stateFormat sollte nach den : keine Leerzeichen haben

Aber schildere erstmal Dein Problem ;-)

Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

trs

Die Konfiguration habe ich vom Themenstarter übernommen. Funktioniert auch alles. Beim druck auf den Knopf öffent sich das Garagentor, state ist dann "move", wenn es ganz offen ist "open". Bei erneutem Druck ist der state "move", wenn es geschlossen ist "close". Alles wunderbar. Jetzt würde ich aber gerne noch zusätzlich einen Knopf haben, der das Tor automatisch nach 3min wieder schließt. (wenn es nicht bereits duch den Hardware-Knopf am Tor direkt in der Zwischenzeit geschlossen wurde. (sonst würde es ja wieder auf gehen, da das Tor eine Ein-Knopf-Bedienung hat). Es muß also der Zustand (open, move, close) überwacht werden. Außerdem soll das nur bei geöffnetem Tor (open) passieren.


hanswerner1

Hallo trs,

schau dir mal Watchdog an, ich denke damit wäre das am Einfachsten. Du überwachst den Zustand open. wenn er sich nicht innerhalb von 3 min ändert dann sendest Du den toggle Befehl an das Tor.

Ich habe mir so etwas auch mal überlegt, aber wieder verworfen. Da es mir zu kriminell ist wenn das Tor automatisch zugeht ohne Kontrolle ob nicht etwas im weg ist.

Gruß HW1

trs

Ok, probier ich aus. Das Tor geht doch bei einem Hindernis selbstständig nach oben.

hanswerner1

ja schon, aber wenn ich aus irgendeinen Grund den Wagen mal nicht ganz rein oder rausfahre (was schon vorgekommen ist) fährt das Tor schon aufs Auto. Zwar dann wieder hoch, aber ohne Lackkratzer sicher nicht und 3 min später geht das Tor ja auch wieder runter und knallt wieder aus Auto. Ich würde das nicht ohne einen Sensor machen der misst ob ein Hindernis vorhanden ist, zB. eine Lichtschranke.

trs

Zur Entschuldigung: Ich bin noch neu in der Materie;-)

Aber ich finde den Anfang nicht. Klar ist, ich erstelle einen dummy für den Automatikbetrieb:

define Garagentor_Auto dummy
attr Garagentor_Auto eventMap toggle
attr Garagentor_Auto group Garage
attr Garagentor_Auto icon fts_garage
attr Garagentor_Auto room Aussen
attr Garagentor_Auto stateFormat zustand
attr Garagentor_Auto webCmd toggle

Sonoff ist ja bereits definiert:

define ESPEasy_06_Garagentor ESPEasy 192.168.1.76 80 espBridge 06_Garagentor
attr ESPEasy_06_Garagentor IODev espBridge
attr ESPEasy_06_Garagentor Interval 300
attr ESPEasy_06_Garagentor eventMap /gpio 12 on:on/gpio 12 off:off/gpio 12 gpio:off/gpio 12 output:off/
attr ESPEasy_06_Garagentor group ESPEasy Device
attr ESPEasy_06_Garagentor presenceCheck 1
attr ESPEasy_06_Garagentor readingSwitchText 0
attr ESPEasy_06_Garagentor room ESPEasy
attr ESPEasy_06_Garagentor stateFormat Tor auf: auf Tor zu: zu
attr ESPEasy_06_Garagentor webCmd on:off


Garagen Status ist ebenfalls schon definiert:

define doif_Garagentor_status DOIF ([ESPEasy_06_Garagentor:auf] eq "1" and [ESPEasy_06_Garagentor:zu] eq "0") (setreading Garagentor zustand open)
DOELSEIF ([ESPEasy_06_Garagentor:auf] eq "0" and [ESPEasy_06_Garagentor:zu] eq "0") (setreading Garagentor zustand move)
DOELSEIF ([ESPEasy_06_Garagentor:auf] eq "0" and [ESPEasy_06_Garagentor:zu] eq "1") (setreading Garagentor zustand closed)

attr doif_Garagentor_status do always
attr doif_Garagentor_status group Garage
attr doif_Garagentor_status room 90_System_Prog



Aber jetzt das öffnen und schließen, da fehlt mir noch das Verständnis, wo baue ich ein das:

- Das Tor öffnet, wenn es noch nicht offen ist
- Das Tor 3min offen bleibt  (ok, mit "sleep"
- das Tor danach schließt, wenn es nicht bereits geschlossen ist

Hintergrund: Ich möchte diesen Auto-Modus mit der "present"-Prüfung und einem NUT3 über Bluethooth koppeln.


RaspiLED

Hi,
Ich hätte an ein at gedacht, dass nach 3 Minuten prüft und evtl. ein set toggle ausführt und sich dann selbst wieder startet...
Mein Tor fährt bei Widerstand automatisch wieder zurück und das gibt nicht mal einem blauen Fleck an der Schulter ;-)
Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

Per

Ein paar Anmerkungen dazu:
Das Forum bietet die Formatierung "Code" (Icon: #), das solltest du nutzen.

DOIF bietet cmdState.
Das kannst du statt
Zitat von: trs am 01 Februar 2018, 19:44:17(setreading Garagentor zustand open)
nutzen. Dann bildet das DOIF Garagentor _Status diesen direkt ab, ohne extra Userreading. Und dann kannst du dieses auch direkt zum "Bedienen" nutzen. Dann entfällt auch "Garagentor_Auto".

Mit toggle wirst du allerdings nicht weit kommen, weil was machst du wenn "move" ist? Und move kann auch länger bleiben, weil das Tor blockiert ist. Oder lokal Stopp gedrückt wurde.

Mein Vorschlag:
define doif_Garagentor_status DOIF ([ESPEasy_06_Garagentor:auf] eq "1" and [ESPEasy_06_Garagentor:zu] eq "0")
DOELSEIF ([ESPEasy_06_Garagentor:auf] eq "0" and [ESPEasy_06_Garagentor:zu] eq "0")
DOELSEIF ([ESPEasy_06_Garagentor:auf] eq "0" and [ESPEasy_06_Garagentor:zu] eq "1")
DOELSEIF (["$SELF:mybutton: on"] and [?$SELF] eq "open") (set ESPEasy_06_Garagentor close)
DOELSEIF (["$SELF:mybutton: on"] and [?$SELF] eq "move") (set ESPEasy_06_Garagentor stopp)
DOELSEIF (["$SELF:mybutton: on"] and [?$SELF] eq "closed") (set ESPEasy_06_Garagentor open) (set ESPEasy_06_Garagentor close)
DOELSEIF (["$SELF:mybutton: on"] and [?$SELF] eq "stopped") (set ESPEasy_06_Garagentor open)

#Status
attr doif_Garagentor_status cmdState open|move|closed|set_closed|stopp|set_open|secure_open
#Bedienung
attr doif_Garagentor_status readingList mybutton
attr doif_Garagentor_status setList mybutton:on
attr doif_Garagentor_status webCmd mybutton
#Automatik
attr doif_Garagentor_status wait 0:0:0:0:0:0,500:0

Ich lass das erstmal auf dich wirken, kannst ja noch nachfragen.
Achja, die ESPEasy_06_Garagentor-Set-Befehle habe ich mir aus den Fingern gesogen, kenne ESPEasy nicht weiter. Musst du anpassen.