FHEM Forum

Verschiedenes => Bastelecke => ESP8266 => Thema gestartet von: hanswerner1 am 28 Mai 2017, 18:02:08

Titel: Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 28 Mai 2017, 18:02:08
Hallo,

ich wollte euch kurz mein Projekt Garagentorsteuerung mit dem standard Sonoff vorstellen.

Ich habe das ganze 2x gebaut und damit meine beiden Hoerman Garagenantriebe in FHEM eingebunden.

Material:
Sonoff ca. 5,-
2x Magnetkontakt 4,-
ein paar Meter Kabel und Aluleiste

Ich habe jeweils einen Kontakt für Garage geschlossen und einen für Garage offen am Tor montiert. Dann einen standard Sonoff mit ESPEasy geflasht und den Relaiskontakt durch trennen der Leiterbahnen zu einen potenzialfreien Kontakt gemacht. Dann noch eine Brücke eingelötet und nun hat man einen normalen potenzialfreien Schließerkontakt. Den schalte ich über ein doif für 1s um das Tor zu öffnen oder zu schließen. (Toggle für den Tasteranschluß der Torsteuerung)


In ESPEasy habe ich den seriellen Ausgang abgeschaltet damit TX und RX zu GIPO 1 und 3 werden, an diesen habe ich nun die beiden Magnetkontakte angeschlossen. Über jeweils einen Magnetkontakt lege ich GND auf TX und RX.
Nun kann ich in FHEM den Stand des Tores anzeigen. Per doif  setzte ich bei dem Tor dummy den Status open / move / closed.

Ich hoffe es gefällt euch und eventuell hat jemand Lust zum nachbauen.


Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Gisbert am 28 Mai 2017, 20:34:38
Hallo hanswerner1,

schönes Projekt.

Mich würde der Anschluss der Magnetkontakte interessieren.
Zitat
In ESPEasy den seriellen Ausgang abgeschaltet damit TX und RX zu GIPO 1 und 3 werden, an diesen habe ich nun die beiden Magnetkontakte angeschlossen. Über den Magnetkontakt lege ich GND auf TX und RX.
Nun kann ich in FHEM den Stand des Tores anzeigen. Per doif  setzte ich bei dem Tor dummy den Status open / move / closed.
Kannst du ein Fließbild skizzieren oder eine detaillierte Beschreibung?
Welches Bezeichnung​ haben die Magnetkontakte?

Warum hast du die Leiterbahn getrennt? Was hat es mit der Potential​freiheit zu tun?

Viele Grüße Gisbert
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 28 Mai 2017, 21:31:54
Einen pol des Magnetkontaktes an GND und den dann anderen an TX. Der 2. Magnetkontakt an GND und an RX. Damit die Zustände am Sonoff eindeutig sind habe ich über jeweils einen  10k Widerstand TX und RX auf 3V3 gelegt. Wichtig ist aber das Abschalten des seriellen Ausgangs in ESPEasy !!

Das sind ganz einfache Standard Magnetkontakte. Diese heißen:
tinxi 5x Magnetkontakt

Am Ausgang des Sonoff liegt 230v an, wenn eingeschaltet ist. Gebraucht wird aber ein Schließkontakt. Durch trennen der Leiterbahnen (auf beiden Seiten der Platine) und einlöten der Brücke entsteht ein potenzialfreier Schließkontakt. Der an der Tasterfunktion des Antriebs angeschossen wird.
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 29 Mai 2017, 10:49:43
Schaltplan
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: smoudo am 29 Mai 2017, 22:01:51
Bin gerade dabei das selbe mit mysensors zu realisieren. Allerdings gefällt mir der Aspekt über ein unverschlüsseltes Signal ein sicherheitsrelevantes Relais zu schalten gar nicht. Nodemcu hatte ich als Alternative im Kopf! Hast du mal deinen fhem seitigen Ansatz da? Wie löst du die Sperre bei mehrfach Betätigung des Tasters? Die Anzeige hat ja im fahrzustand eine gewisse Trägheit und somit Anfälligkeit auf nervöse Finger  ;)
Schaltung ist soweit klar aber für was ist die Brücke? Hast du da nen Schaltplan für?

Grüße

Matze
Titel: Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 30 Mai 2017, 12:13:25
Dann müsste sich der Angreifer aber schon in meinen Netzwerk befinden um den Sonoff zu schalten.

Status:
Zitat
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)\

Öffnen/Schließen
Zitat
define doif_Garage_Katja_oeffnen DOIF ([Garage_Katja:state] eq "toggle") (set Garage_Katja "wait";; set ESPEasy_06_Garage_Katja on;; sleep 1;; set ESPEasy_06_Garage_Katja off)


Die Brücke verbindet den ehemaligen N Leiter mit dem Schaltkontakt das Relais.

Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: smoudo am 30 Mai 2017, 21:11:50
Ah ok!

Das Sicherheitsrisiko sehe ich weniger am ESP!
Ich hab das auf mein mysensors Projekt bezogen
was den selben Zweck erfüllen soll.

Grüße

Matze
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: JoWiemann am 30 Mai 2017, 22:54:59
Hallo,

anbei eine Möglichkeit das Ganze gegenseitig zu verriegeln, falls doch mal beide Relais gleichzeitig aktiviert werden.

Grüße Jörg
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Fuchshausen am 01 Juni 2017, 20:09:50
Hallo,

ich finde das Projekt super interessant. Da ich noch recht neu bin bei Fhem hätte ich eine Bitte.

Könnte man den Kompletten Befehlssatz veröffentlichen.

Das fände ich echt super.
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 02 Juni 2017, 08:20:15
Hallo,

anbei eine Möglichkeit das Ganze gegenseitig zu verriegeln, falls doch mal beide Relais gleichzeitig aktiviert werden.

Grüße Jörg

Hallo Jörg,
das ist in meinen Fall nicht nötig, da meine Tore nicht per "auf" und "ab" gesteuert werden sondern mit einem Kontakt. Bei jeder Betätigung ändert sich dann die Richtung. (toggle)

Könnte man den Kompletten Befehlssatz veröffentlichen.

kommt !
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 02 Juni 2017, 20:28:22
Dummy für Tor:
Zitat
define Garage_Katja dummy
attr Garage_Katja eventMap toggle
attr Garage_Katja group Garage
attr Garage_Katja icon fts_garage
attr Garage_Katja room 16_Aussen
attr Garage_Katja stateFormat zustand
attr Garage_Katja webCmd toggle

Sonoff:
Zitat
define ESPEasy_06_Garage_Katja ESPEasy 192.168.0.125 80 espBridge 06_Garage_Katja
attr ESPEasy_06_Garage_Katja IODev espBridge
attr ESPEasy_06_Garage_Katja Interval 300
attr ESPEasy_06_Garage_Katja eventMap /gpio 12 on:on/gpio 12 off:off/gpio 12 gpio:off/gpio 12 output:off/
attr ESPEasy_06_Garage_Katja group ESPEasy Device
attr ESPEasy_06_Garage_Katja presenceCheck 1
attr ESPEasy_06_Garage_Katja readingSwitchText 0
attr ESPEasy_06_Garage_Katja room ESPEasy
attr ESPEasy_06_Garage_Katja stateFormat Tor auf: Tor_auf Tor zu: Tor_zu
attr ESPEasy_06_Garage_Katja webCmd on:off

Garage öffnen/schließen:
Zitat
define doif_Garage_Katja_oeffnen DOIF ([Garage_Katja:state] eq "toggle") (set Garage_Katja "wait";; set ESPEasy_06_Garage_Katja on;; sleep 1;; set ESPEasy_06_Garage_Katja off)

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

Garage Status:
Zitat
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)

attr doif_Garage_Katja_status do always
attr doif_Garage_Katja_status group Garage
attr doif_Garage_Katja_status room 90_System_Prog
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: smoudo am 04 Juni 2017, 12:46:49
Die Idee mit dem ESP hat mir gut gefallen und ich habe das ganze gestern
Mit einer Nodemcu und lochrasterplatte sowie relay und temperatursensor
Nachgebaut.

Als Anmerkung für alle Nachbauer:
Gpio 1 darf bei ESP Boot nicht auf Masse liegen, sonst bootet der ESP nicht.
Werde ich noch abändern! Muss aber erst mal in Erfahrung bringen welcher
Gpio das noch kann. Sind in espeasy eigentlich nur 4 Sensoren möglich?
Hätte gern auch noch einen pir reingehängt.


Viele Grüße

Matze
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: JoWiemann am 04 Juni 2017, 13:47:14
Nein, 16 Devices sind möglich. Dafür gibt es in der Deviceübersicht die schwarzen links/rechts Pfeile.


Grüße Jörg

Gesendet von iPhone mit Tapatalk
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: smoudo am 04 Juni 2017, 14:40:30
Ah danke!!

Manchmal ist die Lösung einfach  8)

Grüße

Matze
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Fuchshausen am 06 Juni 2017, 21:33:11
Hallo hanswerner1,

Danke für die geniale Tor Steuerung.
 :)
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Per am 13 Juni 2017, 11:41:06
anbei eine Möglichkeit das Ganze gegenseitig zu verriegeln, falls doch mal beide Relais gleichzeitig aktiviert werden.
Warum nicht mit der "Standard"-Schaltung: ein Relais (Schließer) für "Ein", das zweite (Umschalter) für "Hoch"/"Runter"? Spart glatt zwei Relais und die Software ist schnell angepasst. Zur Not sogar als "Hardwarelösung" mittels einer Diode.
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Lucky2k12 am 28 Juni 2017, 10:07:26
Danke @hanswerner1 für die schöne Anleitung, ich werde das für meine Doppelgarage nachbauen.
Magnetkontakte habe ich schon drin, allerdings bisher nur für "offen".

Meine Fragen dazu:
Spricht irgendwas dagegen, einen Sonoff dual zu verwenden und direkt zwei Tore anzusteuern?
Wo muss dort die Brücke und die Unterbrechungen hin?
Kann ich die Kontakte auch an andere GPIOs anschließen?
Danke.
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 28 Juni 2017, 10:29:46
Ich hatte auch zuerst vor den Sonoff dual für meine beiden Tore zu nehmen. Allerdings werden beim dual die Relais nicht wie bei den andreren sonoff's über GPIO gesteuert sondern seriel. Das unterstützt erstens nicht ESPEasy sondern nur die Tasmota FW bei der Du die GPIO's der Magnetsensoren aber leider nicht abfragen kannst. Der zweite Grund ist, Du kannst die serielle Kommunikation nicht abschalten um aus TX/RX GPIO's zu machen, da dann auch die Relais nicht mehr schalten würden.

Prinzipiell kannst Du die Kontakte auch an anderen verfügbaren GPIO's anschließen. musst dann nur den Code in ESPeasy darauf anpassen.

 
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Lucky2k12 am 28 Juni 2017, 13:56:35
Danke hanswerner1, für deine Antwort.

Meinen Sonoff dual, den ich gerade von Banggood bestellt hatte, konnte ich leider nicht mehr canceln, aber dafür findet sich bestimmt noch eine andere Verwendung... ;)
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Lucky2k12 am 29 Juni 2017, 13:42:25
Hier wird von @Reinhart ein Elektrodragon dual Modul erwähnt, das bereits mit potentialfreien Kontakten erhältlich ist:
https://forum.fhem.de/index.php/topic,73369.msg653878.html#msg653878
http://www.electrodragon.com/product/wifi-iot-relay-board-spdt-based-esp8266/ (http://www.electrodragon.com/product/wifi-iot-relay-board-spdt-based-esp8266/)

Das hat aber dann die gleiche Problematik wie das Sonoff dual, also Tasmota und keine Magnet-Kontakte oder ?
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 29 Juni 2017, 17:35:15
Ich kenne das Elektrodragon dual Modul leider nicht. Wenn darauf aber ESPEasy läuft und er 2 freie GPIO's hat, dann brauchst Du die serielle Kommunikation nicht abzuschalten.
Das ist nur nötig bei dem Sonoff die keine 2 freiverwendbaren GPIO's haben. Dann wird durch das abschalten TX/RX zu freiverwendbaren GPIO's. Wenn die Relais beim Dragon über GPIO's geschaltet werden dann macht auch das abschalten der seriellen Schnittstelle nichts.
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Lucky2k12 am 30 Juni 2017, 08:38:09
Soweit ich das Wiki verstanden habe, werden die Relais direkt per GPIO angesteuert und es sind noch ein paar GPIO frei. ESPEasy drauf zu flashen sollte auch kein Problem sein.

Ich hab mal zwei Module bestellt und werde hier berichten, wenn ich es zum Laufen gebracht habe. ;)
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Reinhart am 30 Juni 2017, 11:56:37
Hier wird von @Reinhart ein Elektrodragon dual Modul erwähnt, das bereits mit potentialfreien Kontakten erhältlich ist:
https://forum.fhem.de/index.php/topic,73369.msg653878.html#msg653878
http://www.electrodragon.com/product/wifi-iot-relay-board-spdt-based-esp8266/ (http://www.electrodragon.com/product/wifi-iot-relay-board-spdt-based-esp8266/)

Das hat aber dann die gleiche Problematik wie das Sonoff dual, also Tasmota und keine Magnet-Kontakte oder ?

Was meinst du mit Magnetkontakte, normale Reedkontakte?

Wenn ja, diese kannst du mit Tasmota einfach mit "Buttontopic" entkoppeln, siehe Beispiel im Wiki mit Bewegungsmelder und die kannst du in Fhem auswerten wie du willst. Das Beispiel im Wiki ist noch für die 3er Version, d.h. du musst die Syntax daher geringfügig anpassen.

Beim Eelectrodragon sind die GPIOs 4,5,14,15 frei, 1+3 wären die seriellen die du noch zusätzlich frei schalten kannst. Aber ich glaube mit 4 freien geht schon einiges.

LG
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 30 Juni 2017, 12:31:21
Soweit ich das Wiki verstanden habe, werden die Relais direkt per GPIO angesteuert und es sind noch ein paar GPIO frei. ESPEasy drauf zu flashen sollte auch kein Problem sein.

Ich hab mal zwei Module bestellt und werde hier berichten, wenn ich es zum Laufen gebracht habe. ;)

berichte mal ob es mit den Elektrodragon funktioniert. Das ist dann schon die bessere Lösung als das trennen der Leiterbahnen beim  normalen sonoff. und GPIO's hat das Teil ja auch genug. Für 2 Tore benötigst Du ja 4 GPIO's

Was meinst du mit Magnetkontakte, normale Reedkontakte?

Wenn ja, diese kannst du mit Tasmota einfach mit "Buttontopic" entkoppeln, siehe Beispiel im Wiki mit Bewegungsmelder und die kannst du in Fhem auswerten wie du willst. Das Beispiel im Wiki ist noch für die 3er Version, d.h. du musst die Syntax daher geringfügig anpassen.

ja, normale Reedkontakte
Sind denn mit Tasmota auch 2 oder wie in Lucky2k12's Fall 4 GPIO's abfragbar ?
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Lucky2k12 am 30 Juni 2017, 13:53:15
Was meinst du mit Magnetkontakte, normale Reedkontakte?

Wenn ja, diese kannst du mit Tasmota einfach mit "Buttontopic" entkoppeln, siehe Beispiel im Wiki mit Bewegungsmelder und die kannst du in Fhem auswerten wie du willst. Das Beispiel im Wiki ist noch für die 3er Version, d.h. du musst die Syntax daher geringfügig anpassen.
Ja Reedkontakte, die im FHEM anzeigen sollen ob die Garage zu oder auf ist. Momentan sind in meiner Garage nur "Zu-" Kontakte verbaut.

Ich glaube der Torantrieb hat auch interne Endschalter. Evtl. kann man die auch anzapfen oder ist das eher keine so gute Idee?

Meinst du das Tasmota-Wiki, das electrodragon Wiki oder das FHEM Wiki? Ich finde das von dir erwähnte Beispiel nicht.
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Reinhart am 30 Juni 2017, 14:04:46
[quote author=hanswerner1
ja, normale Reedkontakte
Sind denn mit Tasmota auch 2 oder wie in Lucky2k12's Fall 4 GPIO's abfragbar ?


Ja, in Tasmota sind die Devices schon vordefiniert in der sonoff_template.h und somit braucht man diese nur anwählen und schon kannst du die möglichen GPIOs einem Sensor zuweisen, alles im Webif wie bei ESPEasy. Wenn was nicht geht oder Wünsche offen sind, einfach an Arends melden und wenn es Sinn macht baut der das ein. Das haben schon einige User von hier so gemacht. Obwohl die Software speziell für Sonoff (+Electrodragon + Wemos) ausgerichtet ist, passt sie fast für alle 8266 Anwendungen. Allerdings sind noch nicht so viele Sensoren wie bei ESPEasy vorhanden, werden aber fast täglich mehr.

Hier die Definition des Electrodragon, man kann hier auch händisch eingreifen ist aber im Normalfall nicht notwendig (deshalb kenne ich die GPIOs immer alle).

  { "ElectroDragon",   // ElectroDragon IoT Relay Board (ESP8266)
     GPIO_KEY2,        // GPIO00 Button 2
     GPIO_USER,        // GPIO01 Serial RXD and Optional sensor
     GPIO_KEY1,        // GPIO02 Button 1
     GPIO_USER,        // GPIO03 Serial TXD and Optional sensor
     GPIO_USER,        // GPIO04 Optional sensor
     GPIO_USER,        // GPIO05 Optional sensor
     0, 0, 0, 0, 0, 0, // Flash connection
     GPIO_REL2,        // GPIO12 Red Led and Relay 2 (0 = Off, 1 = On)
     GPIO_REL1,        // GPIO13 Red Led and Relay 1 (0 = Off, 1 = On)
     GPIO_USER,        // GPIO14 Optional sensor
     GPIO_USER,        // GPIO15 Optional sensor
     GPIO_LED1,        // GPIO16 Green/Blue Led (1 = On, 0 = Off)
     GPIO_ADC0         // ADC0   A0 Analog input
  },

Es empfiehlt sich aber immer auch das Wiki von Arends (https://github.com/arendst/Sonoff-Tasmota/wiki) zu studieren, weil das ständig wächst und auch alle Commands dort erklärt werden.

LG
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Reinhart am 30 Juni 2017, 14:06:23
Meinst du das Tasmota-Wiki, das electrodragon Wiki oder das FHEM Wiki? Ich finde das von dir erwähnte Beispiel nicht.

Fhem Wiki (https://wiki.fhem.de/wiki/Sonoff#Sonoff_Switch_mit_Bewegungsmelder_HC-SR501) Bewegungsmelder

LG
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Lucky2k12 am 30 Juni 2017, 15:14:06
Fhem Wiki (https://wiki.fhem.de/wiki/Sonoff#Sonoff_Switch_mit_Bewegungsmelder_HC-SR501) Bewegungsmelder
Danke @Reinhart, der Artikel im Wiki ist ja sehr umfangreich geworden, seit dem ich das letzte mal reingeschaut hatte.

OT: Meine Warmwasser-Heizungspumpensteuerung mit ESPEasy spackt seit ein paar Tagen rum, vielleicht Zeit, das mal auf Tasmota umzubauen. Gibt es eine Möglichkeit, mit Logik auf Temperaturgradienten zu reagieren? Ich würde das gern direkt im Modul machen und nicht im FHEM wegen der Zuverlässigkeit.

Jetzt muss ich leider noch ein paar Wochen warten, bis das electrodragon Modul über den Ozean geschippert ist und ich mit dem Basteln anfangen kann...
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 16 Juli 2017, 16:14:07
Hier noch meine Visualisierung in FTUI

Nach dem Tippen auf das Tor Symbol erscheint ein Fenster mit einen Button zum Tor öffnen / schließen.
Das habe ich als zusätzliche Sicherheit gemacht, damit das Tor nicht sofort aufgeht wenn man an das Torsymbol unbeabsichtigt kommt.

Dann wird der Zustand des Tores angezeigt, grün -> geschlossen, gelb blinkend -> in Bewegung, rot -> offen

<div data-type="push"
data-device="Garage_Katja"
    data-get="zustand"
data-states='["on","closed","move","open","absent"]'
data-colors='["bg-gray","green","yellow","red","#505050"]'
date-set="on"
data-background-icon=""
data-icons='["oa-fts_garage_door_100","oa-fts_garage_door_100","oa-fts_garage_door_50 blink","oa-fts_garage","oa-fts_garage"]'
class="big"></div>
<div data-type="label" class="">Katja</div>
</div>

<div data-type="popup"
data-width="200px"
data-height="200px"
data-left="600px"
data-top="300px"
data-mode="fade"
data-device="Garage_Katja"
data-get="state"
data-get-on="on"
data-get-off="wait">
<div class="dialog">
<header><font size="+1">Garage Katja</font></header>
<div class="top-space-3x">
<div data-type="push"
data-device="Garage_Katja"
data-set-on="toggle"
data-set-off="wait"
data-get="zustand"
data-states='["closed","open","absent"]'
data-colors='["green","red","#505050"]'
data-icons='["oa-fts_garage_door_100","oa-fts_garage","oa-fts_garage"]'
data-background-icon="fa-square-o"
data-on-background-color="#505050"
class="big"></div>
</div>
</div>
</div>



Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Lucky2k12 am 29 August 2017, 09:31:02
So, kleines Update von mir:
Das Elektrodragon Modul ist mittlerweile in der Garage eingebaut und steuert erfolgreich beide Tore.

Der DHT11 direkt auf dem Board liefert deutlich zu hohe Temperaturen, den werde ich wohl aus dem Gehäuse raus verlegen müssen, damit das Sinn macht. Die Tasteranschlüsse des Torantriebs musste ich am Relais auf com und open (nicht Close)  legen.

Die Magnetkontakte für Zustand "geschlossen" muss ich noch anschließen. Vorbereitet / verkabelt hab ich mal GPIO 4 und 5.
@Reinhart: Weißt du, ob das Modul Pullup Widerstände drauf hat?
Edit: Habs im electrodragon wiki gefunden, ja, 4k7 pullups an 4 und 5 sind dran: http://www.electrodragon.com/w/ESP_Relay_Board_Hardware#General_Pin_Definition

Dann kommen die beiden Positions-Kontakte der an GPIO4/5 und GND, und werden als Switch konfiguriert, richtig?

Nutzt ihr noch weitere Funktionen oder nur die "Fernsteuerung/Statusanzeige"?
z.B. ein paar Ideen:
- "coming home" mit geofencing: Handy fragt: "Soll ich die Garage öffnen?"
- "Warnung per pushmsg wenn Garage nach xx Uhr offen steht"
- "Lüften wenn Feuchtigkeit / Temperatur > xx / yy"
...
wenn ja, welche Funktionen und wie habt ihr die implementiert?

List vom device:
defmod Garage MQTT_DEVICE
attr Garage IODev mqtt
attr Garage alexaName Garage
attr Garage genericDeviceType garage
attr Garage room Garage,AlexaRoom,MQTT
attr Garage stateFormat transmission-state
attr Garage subscribeReading_Power1 stat/Garage/POWER1
attr Garage subscribeReading_Power2 stat/Garage/POWER2
attr Garage subscribeReading_Result stat/Garage/RESULT
attr Garage subscribeReading_Sensor tele/Garage/SENSOR
attr Garage subscribeReading_Status tele/Garage/STATE

setstate Garage incoming publish received
setstate Garage 2017-08-28 23:02:49 Power1 OFF
setstate Garage 2017-08-28 23:02:50 Power2 OFF
setstate Garage 2017-08-28 23:02:49 Result {"POWER2":"OFF"}
setstate Garage 2017-08-29 09:26:32 Sensor {"Time":"2017-08-29T09:26:32", "Switch1":"ON", "Switch2":"ON", "DHT11":{"Temperature":34.00, "Humidity":23.0}, "TempUnit":"C"}
setstate Garage 2017-08-29 09:26:32 Status {"Time":"2017-08-29T09:26:32", "Uptime":11, "Vcc":4.094, "POWER1":"OFF", "POWER2":"OFF", "Wifi":{"AP":1, "SSID":... ", "RSSI":38, "APMac":"xxx"}}
setstate Garage 2017-08-29 09:26:32 transmission-state incoming publish received

Edit: Wie muss ich eigentlich das attr publishSet definieren, um beide Relais ansprechen zu können? Es gibt ja zwei Topics (...POWER1 und ...POWER2)
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: trs am 26 Januar 2018, 18:15:58
@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?
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: trs am 27 Januar 2018, 14:51:15
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?

Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 27 Januar 2018, 18:43:37
Ich bin aktuell im Urlaub, nächste Woche kann ich Dir helfen.
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: trs am 28 Januar 2018, 09:06:34
Hallo,
funktioniert jetzt. Habe lange gebraucht um rauszufinden, dass die "\" nicht in die Befehlszeile gehören:-((
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: trs am 29 Januar 2018, 21:43:12
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.
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: smoudo am 30 Januar 2018, 15:08:00
Das kann man mit einem doif oder notify ganz gut lösen.

Grüße

Matze
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: trs am 31 Januar 2018, 17:45:12
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.



Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: RaspiLED am 31 Januar 2018, 22:21:39
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, ...
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: trs am 01 Februar 2018, 06:00:11
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.

Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 01 Februar 2018, 07:53:39
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
 
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: trs am 01 Februar 2018, 08:59:39
Ok, probier ich aus. Das Tor geht doch bei einem Hindernis selbstständig nach oben.
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 01 Februar 2018, 09:38:03
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.
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: trs am 01 Februar 2018, 19:44:17
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.

Titel: Garagentorsteuerung mit Sonoff
Beitrag von: RaspiLED am 01 Februar 2018, 19:56:04
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, ...
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Per am 02 Februar 2018, 12:20:38
Ein paar Anmerkungen dazu:
Das Forum bietet die Formatierung "Code" (Icon: #), das solltest du nutzen.

DOIF bietet cmdState (https://fhem.de/commandref_DE.html#DOIF_Reine_Statusanzeige_ohne_Ausfuehrung_von_Befehlen).
Das kannst du statt
(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 (https://fhem.de/commandref_DE.html#DOIF_setList__readingList)" 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.
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: trs am 02 Februar 2018, 12:47:01
@Per: Danke für den Vorschlag.

 Mein Tor hat aber nur eine ein-Knopf-Bedienung. Drücken = auf, nochmal drücken = stop, nochmal drücken = zu. Und als Zstandsmeldung auf und zu. Wenn beides nicht zutrifft = move.

Funktioniert dein Vorschlag damit?
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Per am 02 Februar 2018, 12:57:11
Weiss ich nicht.
Die Zustandsmeldung passt auf jeden Fall (wird ja extern erzeugt).
nochmal drücken = stop
Auch wenn es steht? Oder nur, wenn es gerade "move" ist? Und in welche Richtung fährt es aus "stopp" heraus? In die alte oder immer nach oben?
Falls letzteres, kannst du alle set-Befehle durch set xxx toggle (toggle ist ja eh nur ein fhem-interner Platzhalter) ersetzen.

Ein mehrfaches Start-Stopp ohne Erreichen der Endlage könnte aber Schwierigkeiten machen, da habe ich nicht weiter geschaut. Dazu müsste man die Status zwischenspeichern oder die Bedingungen erweitern.
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: trs am 02 Februar 2018, 13:09:27
Folgendermaßen :

Tor zu - Knopfdruck - Tor geht auf - Knopfdruck - Tor stoppt - Knopfdruck - Tor geht wieder zu

Tor auf - Knopfdruck - Tor geht zu - Knopfdruck -  Tor stoppt - Knopfdruck - Tor geht auf

Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: trs am 03 Februar 2018, 23:24:11
Bin noch nich viel weiter. Dadurch, dass der Knopf 25 sec gedrückt gehalten wird (die Zeit für eine komplette Torfahrt) kann in dieser Zeit nicht mit dem originalen Schalter "dazwischen gefunkt" werden. Somit gibt es keine undefinierte Stellung.

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

Aber weiter bin ich nicht.
Titel: Garagentorsteuerung mit Sonoff
Beitrag von: RaspiLED am 04 Februar 2018, 16:32:19
Hi,
also ich habe hier ein Hörmann Garagentor, das hat auch nur einen Eingang (oder Funkkanal auf der Fernbedienung).

Tor auf -> Taste -> Tor fährt zu -> Tor zu -> Taste -> Tor auf (oder)
Tor auf -> Taste -> Tor fährt zu-> Taste -> Tor hält an -> Taste -> Tor fährt auf -> Tor auf

Ich habe mir Deine Frage zum Anlass genommen einen ESP8266 mit ESPEasy Mega (Testversion 4096) zu flashen.

Kernideen:
- ESPEasy Bridge als FHEM Gateway
- ESPEasy Device als Gegenpart zur ESP8266 Hardware in der Garage,
  * zeigt den aktuellen Status der Garage
  * und liest dafür zwei Switches/Reedkontake Tor_zu bzw. "Reed_Closed" (GPIO-12) und Tor_auf bzw. "Reed_Opened" (GPIO-13) und
  * fährt/stoppt das Garagentor über longpulse 2sec (GPIO-16)
  * hat Status LED (GPIO-2)
- dummy „Garage“ zur Interaktion mit HomeBridge/Siri
- notify übergibt tatsächlichen Status des Tors an Garage für Homebridge/Siri


Sieht jetzt schon ganz okay aus, die lists liefere ich hier nach:

ESPEasy Hardware wesentliche Einstellungen:

Seite Tools, Button Advanced:

Rules: checked

Seite Controller:

Protocol: FHEM HTTP
Locate Controller: Use Hostname
Controller Hostname: fhem.fritz.box
Controller Port: 8383
Controller User: Beispiel
Controller Password: Geheim
Enabled: checked

Seite Hardware:

Wifi Status LED: none
I2C: none und none
SPI: not checked
Alle Pin mode: default
außer 2 (D4), 12 (D6), 13 (D7): Input
und 16 (D0): Output low

Seite Devices, 4 Stück:

Analog Input - internal
Name: [leer]
Enabled: checked
Internal PullUp: checked
Inversed Logic : checked
1st GPIO: GPIO-2 (D4)
Switch Type: Switch
Switch Button Type: Normal Switch
Sent Bootstate: checked
Sent to Controller: checked
Delay: 0
Value 1 Name: LED

Analog Input - internal
Name: Garagentor
Enabled: checked
Internal PullUp: checked
Inversed Logic : checked
1st GPIO: GPIO-12 (D6)
Switch Type: Switch
Switch Button Type: Normal Switch
Sent Bootstate: checked
Sent to Controller: checked
Delay: 0
Value 1 Name: Reed_Closed

Analog Input - internal
Name: Garagentor
Enabled: checked
Internal PullUp: checked
Inversed Logic : checked
1st GPIO: GPIO-13 (D7)
Switch Type: Switch
Switch Button Type: Normal Switch
Sent Bootstate: checked
Sent to Controller: checked
Delay: 0
Value 1 Name: Reed_Opened

Analog Input - internal
Name: Garagentor
Enabled: checked
Internal PullUp: checked
Inversed Logic : not checked
1st GPIO: GPIO-16 (D0)
Switch Type: Switch
Switch Button Type: Normal Switch
Sent Bootstate: checked
Sent to Controller: checked
Delay: 0
Value 1 Name: Switch

Seite Rules

Rules Set 1:

On System#Boot do
  timerSet,1,1
  timerSet,2,18
EndOn

On Garagentor#Reed_Closed do
  timerSet,1,1
  timerSet,2,6
EndOn

On Garagentor#Reed_Opened do
  timerSet,1,1
  timerSet,2,12
EndOn

On Rules#Timer=1 do
  timerSet,3,2
  gpio,2,0
EndOn

On Rules#Timer=2 do
  timerSet,1,0
  timerSet,3,0
  gpio,2,1
EndOn

On Rules#Timer=3 do
  timerSet,1,1
  gpio,2,1
EndOn
FHEM Seite:

list espBridge

Internals:
CONNECTS   2290
DEF        bridge 8383
FD         21
HOST       bridge
IPV        4
MAX_HTTP_SESSIONS 3
MAX_QUEUE_SIZE 250
NAME       espBridge
NOTIFYDEV  global
NR         138
NTFY_ORDER 50-espBridge
PORT       8383
STATE      initialized
SUBTYPE    bridge
TYPE       ESPEasy
VERSION    1.35

READINGS:
2018-02-03 18:26:27   state           initialized

helper:
pm:
Encode     1
JSON       1
queue: 192.168.188.120:
sessions: 192.168.188.120 0

Attributes:
authentication 1
autocreate 1
combineDevices 0
group      ESPEasy Bridge
room       ESPEasy,Gateways,Software
verbose    3

set espBridge pass geheim
set espBridge user Beispiel

list ESPEasy_ESP_Garage:

Internals:
DEF        192.168.188.120 80
espBridge ESP_Garage
ESP_BUILD  20000
ESP_BUILD_GIT mega-20180111
ESP_BUILD_NOTES  - Mega
ESP_NODE_TYPE_ID 17:
ESP Easy Mega ESP_SLEEP  0
ESP_UNIT   1
ESP_VERSION 2
HOST       192.168.188.120
IDENT      ESP_Garage
INTERVAL   300
IODev      espBridge
LASTInputDev espBridge
MSGCNT     1999
NAME       ESPEasy_ESP_Garage
NOTIFYDEV  global
NR         162
NTFY_ORDER 50-ESPEasy_ESP_Garage
PORT       80
STATE      -57.00
SUBTYPE    device
TYPE       ESPEasy
VERSION    1.35
espBridge_MSGCNT 1999
espBridge_TIME 2018-02-04 18:01:33   
 
READINGS:
2018-02-04 10:59:57   LED             off
2018-02-04 18:01:33   WiFi_RSSI       -57.00
2018-02-04 17:58:56   presence        present
2018-02-03 18:26:27   state           opened

helper:
fpc        1517678797
pm: Encode     1
JSON       1
received:
LED        1517738397
WiFi_RSSI  1517763693

Attributes:
IODev      espBridge
Interval   300
devStateIcon /close:ios-on-green:open/open:ios-off:close/absent:10px-kreis-rot:statusRequest/.*:ios-NACK:check/
eventMap   /longpulse 16 1 2:toggle/
group      ESPEasy
Device icon       building_carport
presenceCheck 1
readingSwitchText 1
room       Garage,ESPEasy,Hardware,MQTT
setState   0
stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"WiFi_RSSI","") }
webCmd     reboot:toggle

list ESPEasy_ESP_Garage_Garagentor:

Internals:
   DEF        192.168.188.120 80 espBridge ESP_Garage_Garagentor
   ESP_BUILD  20000
   ESP_BUILD_GIT mega-20180111
   ESP_BUILD_NOTES  - Mega
   ESP_NODE_TYPE_ID 17: ESP Easy Mega
   ESP_SLEEP  0
   ESP_UNIT   1
   ESP_VERSION 2
   HOST       192.168.188.120
   IDENT      ESP_Garage_Garagentor
   INTERVAL   300
   IODev      espBridge
   LASTInputDev espBridge
   MSGCNT     306
   NAME       ESPEasy_ESP_Garage_Garagentor
   NOTIFYDEV  global
   NR         163
   NTFY_ORDER 50-ESPEasy_ESP_Garage_Garagentor
   PORT       80
   STATE      Close
   SUBTYPE    device
   TYPE       ESPEasy
   VERSION    1.35
   espBridge_MSGCNT 306
   espBridge_TIME 2018-02-04 10:59:53
   READINGS:
     2018-02-04 10:59:53   Reed_Closed     on
     2018-02-04 10:59:52   Reed_Opened     off
     2018-02-04 10:40:21   Switch          off
     2018-02-04 18:09:01   presence        absent
     2018-02-04 18:09:01   state           absent
   helper:
     fpc        1517678795
     pm:
       Encode     1
       JSON       1
     received:
Attributes:
   IODev      espBridge
   Interval   300
   devStateIcon Open:fts_garage_door_10:toggle Close:fts_garage_door_100:toggle Running:fts_garage_door_50:toggle
   eventMap   /longpulse 16 1 2:running/longpulse 16 1 2:open/longpulse 16 1 2:closed/longpulse 2 0 2:sim/gpio 12 0:simclose/gpio 13 1:simclose2/gpio 12 1:simopen2/gpio 13 0:simopen/longpulse 16 1 2:toggle/longpulse 16 1 1:autoclose/
   genericDeviceType garage
   group      ESPEasy Device
   icon       fts_garage
   presenceCheck 1
   readingSwitchText 1
   room       ESPEasy,Garage,Hardware
   setState   3
   siriName   Garage
   stateFormat {ReadingsVal($name,"Reed_Opened","") eq "on" ? "Open" : ReadingsVal($name,"Reed_Closed","") eq "on" ? "Close" : "Running"}
   webCmd     toggle:autoclose:sim

list ESPEasy_ESP_Garage_Garagentor_DOIF_1:

Internals:
   DEF        ([ESPEasy_ESP_Garage_Garagentor:"^sim$"] and [ESPEasy_ESP_Garage_Garagentor] eq "Close") (
set ESPEasy_ESP_Garage_Garagentor simopen2,
set ESPEasy_ESP_Garage_Garagentor simopen)
DOELSEIF ([ESPEasy_ESP_Garage_Garagentor:"^sim$"]) (
set ESPEasy_ESP_Garage_Garagentor simclose2,
set ESPEasy_ESP_Garage_Garagentor simclose)
DOELSE ()
   NAME       ESPEasy_ESP_Garage_Garagentor_DOIF_1
   NR         195
   NTFY_ORDER 50-ESPEasy_ESP_Garage_Garagentor_DOIF_1
   STATE      cmd_3
   TYPE       DOIF
   READINGS:
     2018-02-04 18:14:06   Device          ESPEasy_ESP_Garage_Garagentor
     2018-02-04 10:34:55   cmd             3
     2018-02-04 10:34:55   cmd_event       ESPEasy_ESP_Garage_Garagentor
     2018-02-04 10:34:55   cmd_nr          3
     2018-02-04 18:14:06   e_ESPEasy_ESP_Garage_Garagentor_STATE Close
     2018-02-04 18:14:06   e_ESPEasy_ESP_Garage_Garagentor_events absent
     2018-02-03 22:13:07   mode            enabled
     2018-02-04 10:34:55   state           cmd_3
   Regex:
   condition:
     0          EventDoIf('ESPEasy_ESP_Garage_Garagentor',$hash,'^sim$',1) and InternalDoIf($hash,'ESPEasy_ESP_Garage_Garagentor','STATE') eq "Close"
     1          EventDoIf('ESPEasy_ESP_Garage_Garagentor',$hash,'^sim$',1)
   devices:
     0           ESPEasy_ESP_Garage_Garagentor
     1           ESPEasy_ESP_Garage_Garagentor
     all         ESPEasy_ESP_Garage_Garagentor
   do:
     0:
       0           set ESPEasy_ESP_Garage_Garagentor simopen2, set ESPEasy_ESP_Garage_Garagentor simopen
     1:
       0           set ESPEasy_ESP_Garage_Garagentor simclose2, set ESPEasy_ESP_Garage_Garagentor simclose
     2:
       0     
   helper:
     DOIF_Readings_events
     DOIF_eventas
     event      absent
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   ESPEasy_ESP_Garage_Garagentor
     timerevent absent
     triggerDev ESPEasy_ESP_Garage_Garagentor
     timerevents:
       absent
     timereventsState:
       state: absent
     triggerEvents:
       absent
     triggerEventsState:
       state: absent
   internals:
     0           ESPEasy_ESP_Garage_Garagentor:STATE
     all         ESPEasy_ESP_Garage_Garagentor:STATE
   itimer:
   readings:
   trigger:
     all         ESPEasy_ESP_Garage_Garagentor
   uiState:
   uiTable:
Attributes:
   icon       helper_doif
   room       Garage,Software

list ESPEasy_ESP_Garage_Garagentor_notify_1:

Internals:
   DEF        ESPEasy_ESP_Garage_Garagentor:Ree:.on.*|ESPEasy_ESP_Garage_Garagentor:Ree:.off.* {
my $r1 = Value("ESPEasy_ESP_Garage_Garagentor");;
my $r2 = Value("Garage");;
if ($r1 eq "Close") {
  fhem "setreading Garage CurrentDoorState closed;set Garage off"
} else {
if ($r1 eq "Open") {
  fhem "setreading Garage CurrentDoorState opened;set Garage on"
} else {
if ($r1 eq "Running") {if ($r2 eq "closed") {
  fhem "setreading Garage CurrentDoorState opening"} else {
  fhem "setreading Garage CurrentDoorState closeing"}
} else {
  fhem "setreading Garage CurrentDoorState $r1",,$r1
}}}}
   NAME       ESPEasy_ESP_Garage_Garagentor_notify_1
   NOTIFYDEV  ESPEasy_ESP_Garage_Garagentor
   NR         192
   NTFY_ORDER 50-ESPEasy_ESP_Garage_Garagentor_notify_1
   REGEXP     ESPEasy_ESP_Garage_Garagentor:Ree:.on.*|ESPEasy_ESP_Garage_Garagentor:Ree:.off.*
   STATE      2018-02-04 11:00:01
   TYPE       notify
   READINGS:
     2018-02-04 10:18:58   state           active
Attributes:
   icon       system_fhem_reboot
   room       Garage,Software

list ESPEasy_ESP_Garage_Garagentor_watchdog_1:

Internals:
   CMD        define Garage_autclose at +00:00:02 set ESPEasy_ESP_Garage_Garagentor autoclose
   DEF        ESPEasy_ESP_Garage_Garagentor:autoclose 00:00:30 ESPEasy_ESP_Garage_Garagentor:Reed_Closed:.on define Garage_autclose at +00:00:02 set ESPEasy_ESP_Garage_Garagentor autoclose
   NAME       ESPEasy_ESP_Garage_Garagentor_watchdog_1
   NOTIFYDEV  ESPEasy_ESP_Garage_Garagentor,ESPEasy_ESP_Garage_Garagentor_watchdog_1
   NR         193
   NTFY_ORDER 50-ESPEasy_ESP_Garage_Garagentor_watchdog_1
   RE1        ESPEasy_ESP_Garage_Garagentor:autoclose
   RE2        ESPEasy_ESP_Garage_Garagentor:Reed_Closed:.on
   STATE      defined
   TO         30
   TYPE       watchdog
   READINGS:
     2018-02-03 21:40:53   Activated       activated
     2018-02-02 23:30:29   Triggered       triggered
     2018-02-02 19:10:52   state           defined
Attributes:
   autoRestart 1
   icon       ampel_gruen
   room       Garage,Software

list Garage:

Internals:
   NAME       Garage
   NR         197
   STATE      closed
   TYPE       dummy
   READINGS:
     2018-02-04 11:00:01   CurrentDoorState closed
     2018-02-03 19:57:39   TargetDoorState closed
     2018-02-04 11:00:01   state           off
Attributes:
   devStateIcon closed:fts_garage_door_100:on opened:fts_garage_door_10:off opening:fts_garage_door_30:on closing:fts_garage_door_70:off
   genericDeviceType garage
   icon       fts_garage
   readingList CurrentDoorState
   room       Garage,Homekit,Software
   stateFormat {
(ReadingsVal($name,"state","") eq "on" ||
ReadingsVal($name,"state","") eq "opened" ) ?
  (ReadingsVal($name,"CurrentDoorState","") eq "opened" ? "opened" : "opening" ) :
    (ReadingsVal($name,"state","") eq "off" ||
ReadingsVal($name,"state","") eq "closed" ) ?
     (ReadingsVal($name,"CurrentDoorState","") eq "closed" ? "closed" : "closing" ) : "undefined"}
   webCmd     on:off

list Garage_notify_1:

Internals:
   CFGFN     
   DEF        Garage:o*{
if ($EVENT eq "on") {
  fhem "setreading Garage TargetDoorState opened"
} else {
  fhem "setreading Garage TargetDoorState closed"
}
}
   NAME       Garage_notify_1
   NOTIFYDEV  Garage
   NR         323
   NTFY_ORDER 50-Garage_notify_1
   REGEXP     Garage:o*{
   STATE      active
   TYPE       notify
   READINGS:
     2018-02-03 20:00:38   state           active
Attributes:
   icon       system_fhem_reboot
   room       Garage,Software


Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: RaspiLED am 04 Februar 2018, 18:31:37
Hi,


wow selbst copy und paste dauert ;-) Wenn noch was fehlt einfach melden.


Deine "Schliesse nach drei Minuten Logik" steckt in dem Watchdog.


Das DoIf ist nur zur Simulation der Reedkontakte.


Die Garage ist nur für homebridge/Siri.
Das notify vermittelt zwisvhen ESP Device und homebridge.


Gruß Arnd
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: trs am 04 Februar 2018, 20:37:20
@RasiLED:

ich teste Deine Lösung mit einem zweiten Sonoff Basic. Der erste hängt schon in der Garage. Bei dem Basic weden der GPIO 1 (reed zu), GPIO 3 (reed auf) und der GPIO 14 (Relais Tor Betätigung) genutzt. Muss ich ändern. Welche ESPEasy Version hast Du verwendet?

Danke für Deine Hilfe.

Titel: Garagentorsteuerung mit Sonoff
Beitrag von: RaspiLED am 04 Februar 2018, 22:04:15
Hi,
mega-20180111 git test version von hier:
https://github.com/letscontrolit/ESPEasy/releases

" On the linked page you will find two daily builds of ESPEasy.
 For some clarification:
 Release V2.0-<date>: Beta version of the next stable release, no new features, bugfixes only.
 Release mega-<date>: Bleeding edge of development"

Ich brauchte die Testversion auf einem ESP w/ der (Klingel-)Tonausgabe auf einem Lautsprecher rtttl.

Gruß Arnd



Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: trs am 10 Februar 2018, 15:27:49
Hallo Arnd,
ich bin jetzt erst wieder dazu gekommen, mich um die Garagentor Steuerung zu kümmern. Ein paar Fragen :

- Was bedeuteten die Smylies im Listing?
- Bei dem Sonoff Basic kann ich nur 3 GPIOs nutzen: GPIO 1 und 3 für auf und zu, und 14 für das Relais. Wozu ist dieLED? Kann ich die eingebaute LED an GPIO 13 verwenden?

Gruß
Thorsten
Titel: Garagentorsteuerung mit Sonoff
Beitrag von: RaspiLED am 10 Februar 2018, 21:39:35
Hi, also die LED ist die eingebaute auf meinem ESP ;-) Insofern ja.
Smileys? Habe ich keine in meinen Listings. Ist das ein Autoersetzen Deines Endgerätes? Schau mal in der Normalen Webansicht. Ah jetzt sehe ich was Du meinst in Tapatalk:

Garage:o*{
if ($EVENT eq "on")

also Doppelpunkt kleinesO ":o" wird zu Smiley

Ich habe oben noch eine zip mit dem Auszug aus meiner fhem.cfg angehängt!

Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: RaspiLED am 23 Februar 2018, 21:57:52
Hi,
Ist hier Interesse für eine upgedatete Lösung der ESPeasy Firmware auf Sonoff/Wemos D1 mit Relais für Hörmann Supramatic Antriebe?
Bei mir läuft jetzt seit ca. 1 Woche "alles" auf dem ESP selbst. Inklusive Automatikmode mit 5 Minuten Überwachung auf Zielzustand und Relais Status und LED Status und Simulationsmode und ...
FHEM Integration passt, LogFile und Graph zum Verhalten stehen.
HomeBridge Mappings über CurrentDoorState, TargetDoorState und Obstruction inklusive ;-)


Falls es noch wen Anderen interessiert, würde ich noch zwei Dinge umbauen:
1) Gleiche GPIOs wie der Sonoff (Belegung muss mir jemand sagen!)
2) Native States wie bei Homebridge (Ist im Moment invers und muss per Mapping getauscht werden)


Gruß Arnd
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 24 Februar 2018, 10:13:49
Hi,
Ist hier Interesse für eine upgedatete Lösung der ESPeasy Firmware auf Sonoff/Wemos D1 mit Relais für Hörmann Supramatic Antriebe?

Würde mich schon interessieren wie du das umgesetzt hast.
Du hast die Firmware des ESP so angepasst, das die komplette Steuerung im ESP läuft und an FHEM nur noch die Torzustände gesendet werden ?

HW1
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: trs am 24 Februar 2018, 17:43:16
Moin,
habe auch Interesse an der Sonoff All-In Lösung.

Folgende GPIOs beim Sonoff Basic (Serial Port abgeschaltet) :

GPIO 1 und 3   Eingang für Tor auf und zu
GPIO 13 LED
GPIO 14  Schaltrelais (muss hardwareseitig potentialfrei gemacht werden, siehe Seite 1)

Titel: Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 24 Februar 2018, 18:04:23
GPIO 1 und 2   Eingang für Tor auf und zu
GPIO 13 LED
GPIO 14  Schaltrelais (muss hardwareseitig potentialfrei gemacht werden, siehe Seite 1)

Bei mir, Sonoff Basic ist es:
Relais      GPIO 12
TOR_zu   GPIO 1
TOR_auf  GPIO 3

Das sollte doch bei alles Sonoffs Basic gleich sein [emoji47]
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: trs am 24 Februar 2018, 19:58:57
Seltsam, bei mir geht GPIO 14.
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: trs am 24 Februar 2018, 20:01:06
Geht beides☺️
Titel: Garagentorsteuerung mit Sonoff
Beitrag von: RaspiLED am 24 Februar 2018, 20:01:23
Hi,
https://github.com/arendst/Sonoff-Tasmota/wiki/Sonoff-Basic#serial-connection

Spannend, welche Versionen sonoff Basic habt Ihr? V1.1?

Okay also meine Konvention wird:
GPIO-01 Garage Auf (ESP interner PullUp mit Schalten nach Ground, also Invers)
GPIO-03 Garage Zu (ESP interner PullUp mit Schalten nach Ground, also Invers)
GPIO-12 Relais Garagenschalter (ext. PullDown z.B. 10K mit Schalten nach 3V3)
GPIO-13 LED (Wie ist die LED verkabelt?
GPIO-14 (not used)

Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: trs am 24 Februar 2018, 20:04:30
Schon geändert
Titel: Garagentorsteuerung mit Sonoff
Beitrag von: RaspiLED am 27 Februar 2018, 16:40:33
Hi,

ich hatte jetzt kein Feedback auf meine GPIO Annahmen oben erhalten.
Zusätzlich habe ich das Problem, dass ich keinen Sonoff Basic zum Testen hier habe.
Meine ESP8266/4096 (z.B. Node MCU oder Wemos D1) haben die GPIO 1 und 3 gar nicht :-(

Daher habe ich jetzt folgende GPIO verwendet:
GPIO-00 Garage Auf (ESP interner PullUp mit Schalten nach Ground, also Invers)
GPIO-04 Garage Zu (ESP interner PullUp mit Schalten nach Ground, also Invers)
GPIO-12 Relais Garagenschalter (ext. PullDown z.B. 10K Ohm mit Schalten nach 3V3)
GPIO-13 LED (LED über 470 Ohm an Ground)

Als EasyESP Software setzte ich ein MEGA Release von https://github.com/letscontrolit/ESPEasy/releases (https://github.com/letscontrolit/ESPEasy/releases) ein,
z.B. "ESP_Easy_mega-20180219_test_ESP8266_4096.bin"

Also hier zu den Inhalten:

FHEM Defines:
define espBridge ESPEasy bridge 8383
attr espBridge allowedIPs 192.168.188.1/24 attr espBridge authentication 1
attr espBridge autocreate 1
attr espBridge combineDevices 0
attr espBridge group ESPEasy Bridge
attr espBridge room ESPEasy,Gateways,Software
attr espBridge verbose 3

define ESPEasy_ESP_Garage_GarageDoor ESPEasy 192.168.188.126 80 espBridge ESP_Garage_GarageDoor
attr ESPEasy_ESP_Garage_GarageDoor IODev espBridge
attr ESPEasy_ESP_Garage_GarageDoor Interval 300
attr ESPEasy_ESP_Garage_GarageDoor devStateIcon Open:fts_garage_door_10:close Closed:fts_garage_door_100:open Closing:fts_garage_door_70:close Opening:fts_garage_door_30:open Stopped:fts_garage:close
attr ESPEasy_ESP_Garage_GarageDoor event-min-interval .*:900
attr ESPEasy_ESP_Garage_GarageDoor event-on-change-reading .*
attr ESPEasy_ESP_Garage_GarageDoor eventMap /event Close:stopped/event Open:opening/event Close:closing/event Open:open/event Close:close/event Simulate:sim/event SimulateEnd:simEnd/event Toggle:toggle/event AutoClose:autoclose/
attr ESPEasy_ESP_Garage_GarageDoor genericDeviceType GarageDoorOpener
attr ESPEasy_ESP_Garage_GarageDoor group ESPEasy Device
attr ESPEasy_ESP_Garage_GarageDoor homebridgeMapping Clear CurrentDoorState=ESPEasy_ESP_Garage_GarageDoor:CurrentDoorState,values=0:0;;1:1;;2:2;;3:3;;/.*/:4 TargetDoorState=ESPEasy_ESP_Garage_GarageDoor:TargetDoorState,values=1:1;;0:0,cmdOff=open,cmdOn=close ObstructionDetected=ESPEasy_ESP_Garage_GarageDoor:ObstructionDetected,values=0:0;;/.*/:1
attr ESPEasy_ESP_Garage_GarageDoor icon fts_garage
attr ESPEasy_ESP_Garage_GarageDoor presenceCheck 1
attr ESPEasy_ESP_Garage_GarageDoor readingSwitchText 1
attr ESPEasy_ESP_Garage_GarageDoor room ESPEasy,Garage,Hardware,Homekit
attr ESPEasy_ESP_Garage_GarageDoor setState 3
attr ESPEasy_ESP_Garage_GarageDoor siriName GarageDoor
attr ESPEasy_ESP_Garage_GarageDoor stateFormat {ReadingsVal($name,"CurrentDoorState","") eq "0" ? "Open" : ReadingsVal($name,"CurrentDoorState","") eq "1" ? "Closed" :ReadingsVal($name,"CurrentDoorState","") eq "2" ? "Opening" :ReadingsVal($name,"CurrentDoorState","") eq "3" ? "Closing" : ReadingsVal($name,"CurrentDoorState","") eq "4" ? "Stopped" : "Undefined"}
attr ESPEasy_ESP_Garage_GarageDoor webCmd close:open:toggle:autoclose:sim:simEnd

define ESPEasy_ESP_Garage_GarageDoorSets ESPEasy 192.168.188.126 80 espBridge ESP_Garage_GarageDoorSets
attr ESPEasy_ESP_Garage_GarageDoorSets IODev espBridge
attr ESPEasy_ESP_Garage_GarageDoorSets Interval 300
attr ESPEasy_ESP_Garage_GarageDoorSets group ESPEasy Device
attr ESPEasy_ESP_Garage_GarageDoorSets presenceCheck 1
attr ESPEasy_ESP_Garage_GarageDoorSets readingSwitchText 1
attr ESPEasy_ESP_Garage_GarageDoorSets room ESPEasy
attr ESPEasy_ESP_Garage_GarageDoorSets setState 3

define GarageDoorFileLog FileLog ./log/GarageDoor_Filelog_%Y%m.log ESPEasy_ESP_Garage_GarageDoor:*
attr GarageDoorFileLog room Logs

define SVG_GarageDoorFileLog_1 SVG GarageDoorFileLog:SVG_GarageDoorFileLog_1:CURRENT
attr SVG_GarageDoorFileLog_1 captionPos left
attr SVG_GarageDoorFileLog_1 room Garage,Plots

SVG Plot Datei /opt/fhem/www/gplot/SVG_GarageDoorFileLog_1.gplot
# Created by FHEM/98_SVG.pm, 2018-02-27 15:50:23
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<TL>'
set ytics ("Open" 100, "Run" 50, "Closed" 0)
set y2tics ("Active" 80, "Deactive" 20)
set grid ytics y2tics
set ylabel "DoorStates"
set y2label "State"
set yrange [-20:120]
set y2range [-20:120]

#GarageDoorFileLog 4:ESPEasy_ESP_Garage_GarageDoor.CurrentDoorState\x3a::$fld[3]=~"1"?102:0
#GarageDoorFileLog 4:ESPEasy_ESP_Garage_GarageDoor.TargetDoorState\x3a::$fld[3]=~"1"?100:2
#GarageDoorFileLog 4:ESPEasy_ESP_Garage_GarageDoor.RelaisState\x3a::$fld[3]=~"1"?80:20
#GarageDoorFileLog 4:ESPEasy_ESP_Garage_GarageDoor.ObstructionDetected\x3a::$fld[3]=~"1"?78:22

plot "<IN>" using 1:2 axes x1y1 title 'CurrentDoorState' ls l1 lw 1 with steps,\
     "<IN>" using 1:2 axes x1y1 title 'TargetDoorState' ls l0 lw 1 with steps,\
     "<IN>" using 1:2 axes x1y2 title 'Relais' ls l3 lw 1 with steps,\
     "<IN>" using 1:2 axes x1y2 title 'Obstruction' ls l4 lw 1 with steps

EasyESP Einstellungen sind besser im angehängten File zu sehen, da Bilder...

Rules Page in ESPEasy:
[RulesSet1]

on System#Boot do  // fired at boot
  TaskValueSet 1,1,4 // CurrentDoorState (0=opened, 1=closed, 2=opening, 3=closing, 4=stopped)
  TaskValueSet 1,2,1 // TargetDoorState (0=opened, 1=closed)
  TaskValueSet 1,3,0 // RelaisState (0=off, 1=on)
  TaskValueSet 1,4,0 // Obstruction (0=not detected, no sensor available)
  TaskValueSet 2,1,1 // AutoMode (0=off, 1=on)
  TaskValueSet 2,2,300 // AutoTestFrequency (in seconds)
  TaskValueSet 2,3,0 // Simulate (0=off, 1=on)
  TaskValueSet 2,4,30 // SimulationFrequency (in seconds)
  gpio,13,0 // LED (0=off, 1=on)
  gpio,12,0 // Relais (0=off, 1=on)
  timerSet,1,300 // AutoTestTimer starten
endon

On Clock#Time=All,20:00 do // Defaults jeden Tag um 20:00 Uhr
  TaskValueSet 1,2,1
  TaskValueSet 2,1,1
  TaskValueSet 2,2,300
  TaskValueSet 2,3,0
  TaskValueSet 2,4,30
  timerSet,1,300
endon

on Drive do // Toggle Door and LED Lightshow
  LongPulse,12,1,1
  Pulse,13,1,200
  Pulse,13,0,200
  Pulse,13,1,200
  Pulse,13,0,200
  Pulse,13,1,200
  timerSet,1,[GarageDoorSets#AutoTestFrequency] // Restart Check
endon

on AutoClose do
  event ActivateAutoMode
  TaskValueSet 1,2,1
  timerSet,1,1
endon

on DoorClose do
  TaskValueSet 1,2,1
  event Check_Close
endon

On DoorOpen do
  TaskValueSet 1,2,0
  event Check_Open
endon

on ActivateAutoMode do
  TaskValueSet 2,1,1
endon

on ActivateManualMode do
  TaskValueSet 2,1,0
endon

On Check_Target do
  If [GarageDoor#TargetDoorState]=0
    event Check_Open
  Else
    event Check_Close
  Endif
Endon

On Check_Open do
  If [GarageDoor#CurrentDoorState]=0
    Pulse,13,1,100
    Pulse,13,0,200
    Pulse,13,1,300
    Pulse,13,0,400
    Pulse,13,1,500
  Else
    timerSet,2,1
  endif
endon

On Check_Close do
  If [GarageDoor#CurrentDoorState]=1
    Pulse,13,1,500
    Pulse,13,0,400
    Pulse,13,1,300
    Pulse,13,0,200
    Pulse,13,1,100
  Else
    timerSet,2,1
  endif
endon

[RuleSet2]

on GarageDoor#DoorClosed=1 do
  TaskValueSet 1,1,1
endon

on GarageDoor#DoorClosed=0 do
  If [GarageDoor#CurrentDoorState]=1
    TaskValueSet 1,1,2
  endif
endon

on GarageDoor#DoorOpen=1 do
  TaskValueSet 1,1,0
endon

on GarageDoor#DoorOpen=0 do
  If [GarageDoor#CurrentDoorState]=0
    TaskValueSet 1,1,3
  endif
endon

on Rules#Timer=1 do
  If [GarageDoorSets#AutoMode]=1 // AutoModus active?
    Event Check_Target
  Else
    timerSet,4,1
  Endif
  timerSet,1,[GarageDoorSets#AutoTestFrequency] // Restart Check
Endon

on Toggle do // Toggle and switch GarageDoorTarget
  if [GarageDoor#TargetDoorState]=0
    TaskValueSet 1,2,1
  else
    TaskValueSet 1,2,0
  endif
  Event Drive
endon

on Close do // Set GarageDoorTarget to close and drive if needed
  TaskValueSet 1,2,1
  Event Check_Target
endon

on Open do // Set GarageDoorTarget to close and drive if needed
  TaskValueSet 1,2,0
  Event Check_Target
endon

on Rules#Timer=2 do
  event Drive
endon

on GarageDoor#Relais do
  TaskValueSet 1,3,%eventvalue%
endon

on Rules#Timer=4 do  // LED Lightshow Manual Mode
    Pulse,13,1,500
    Pulse,13,0,500
    Pulse,13,1,500
endon

[RuleSet3]

on Simulate do
  TaskValueSet 2,3,1
  timerSet,3,1
endon

on Rules#Timer=3 do  // Simulation
   If [GarageDoor#CurrentDoorState]=0
    event Simulate_Close
  Else
    event Simulate_Open
  Endif
  Pulse,13,1,100
  Pulse,13,0,100
  Pulse,13,1,100
  Pulse,13,0,100
  Pulse,13,1,100
  timerSet,3,[GarageDoorSets#SimulationFrequency]
endon

on SimulateEnd do
  TaskValueSet 2,3,0
  gpio,0,1
  gpio,4,1
  timerSet,3,0
endon

on Simulate_Open do
  TaskValueSet 1,2,0
  delay 5
  gpio,4,1
  delay 5
  gpio,0,0
endon

on Simulate_Close do
  TaskValueSet 1,2,1
  delay 5
  gpio,0,1
  delay 5
  gpio,4,0
endon

Was müsstet ihr meiner Meinung nach für Sonoff Basic noch ändern?
1.) Richtige EasyESP Firmware für Sonoff nehmen, wieviel Flash hat der 512 oder 4096?
2.) GPIO 1 und 3 verwenden:
  a.) auf Devices Tab GPIO 1 statt 0 und GPIO 3 statt 4 auswählen
  b.) in RuleSet 3 alle "gpio,0" durch "gpio,1" und "gpio,4" durch "gpio,3" ersetzten
3.) Hier mal posten ob es klappt ;-)

Gruß Arnd
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 27 Februar 2018, 19:16:04
Hallo Arnd,

werde mir das mal auf einen Sonoff packen und testen. Denke ich schaffe das bis zum WE. Werde dann mal berichten.

Gruß HW1
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 28 Februar 2018, 21:19:46
Ich habe jetzt mal alles auf einen Sonoff geflasht und eingerichtet.
Bin mir aber nicht sicher ob alles funktioniert. Kannst Du kurz zu den Readings etwas sagen was sie bedeuten ?
Was bedeutet autoclose, sim und simend ?

Diese Readings sind mir noch nicht klar.
AutoMode
AutoTestFrequency
CurrentDoorState
LEDState
ObsturctionDetected
RelaisState
Simulation
TargetDoorState
Titel: Garagentorsteuerung mit Sonoff
Beitrag von: RaspiLED am 28 Februar 2018, 21:53:09
Hi,
ich habe heute mit Siri gesprochen und noch Fehler gefunden.
Morgen kommt ein Update für HomeBridgeMapping, Eventmap und für die Rules ;-(

Die Dummy sind beschrieben in Kommentaren in der System#Boot unter Rules 1.
Wesentlich sind in der Hombridge Logik:
- CurrentDoorState welches den Ist Status des Tors anzeigt. (0=auf, 1=zu, 2=öffnend, 3=schliessend, 4=gestoppt) Gefüttert über die Kontakte an den GPIOs (DoorClosed, DoorOpen).
- TargetDoorState sagt wie das Toor eigentlich sein soll (0=auf, 1=zu)
- Obstruction ist ein Sabotage Alarm, der immer auf 0 ist, da wir keinen GPIO dafür haben

Mit autoclose soll das Tor zufahren (und danach prüfen ob es auch zu bleibt) über Event AutoClose

Mit sim starte ich die Simulation über das Event Simulation

Mit simend beende ich die Simulation über Event Simulation_End

Achso die Rules in ESPEasy muss man unter den Advanced Einstellungen erst aktivieren, bevor man etwas reinschreiben kann.

Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: RaspiLED am 01 März 2018, 10:26:32
Moin,


so habe Beitrag 63 upgedatet. Jetzt geht auch HomeBridge und Siri ;-)
Zusätzlich gibt es jetzt noch ein klares Kommando zum schliessen ("event close") und eins zum öffnen ("event open") in ESPEasy.


Gruß Arnd
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 01 März 2018, 19:59:51
so habe Beitrag 63 upgedatet. Jetzt geht auch HomeBridge und Siri ;-)
Zusätzlich gibt es jetzt noch ein klares Kommando zum schliessen ("event close") und eins zum öffnen ("event open") in ESPEasy.

Hi Arnd,

Habs mal nach deinem update angepasst, jetzt reagiert aber toggle, close und open nicht ??
Der Sonoff schaltet nicht.
Gruß
HW1
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: RaspiLED am 01 März 2018, 21:59:54
Hi,
Hast Du die rules im ESPEasy? Was zeigt Dein FHEM Eventmonitor? Was zeigt der Tools/Log in ESPEasy? Jeweils während Du Toggle, Close, Open in FHEM ,set'est und/oder event toggle, event close, event open in ESPEasy unter Tools eingibst?
Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 02 März 2018, 15:44:31
Rules sind drin.

bei Druck auf toggle

Log ESPEasy
2230730 : Dummy: value 3: 0.00
2230730 : Dummy: value 4: 0.00
2230731 : EVENT: GarageDoor#CurrentDoorState=1.00
2231087 : EVENT: GarageDoor#TargetDoorState=1.00
2231448 : EVENT: GarageDoor#RelaisState=0.00
2231809 : EVENT: GarageDoor#ObstructionDetected=0.00
2232222 : SYS : -41.00
2232222 : EVENT: GarageDoor#WifiRSSI=-41.00
2233355 : WD : Uptime 37 ConnectFailures 0 FreeMem 21968
2241315 : EVENT: Toggle

Log Fhem
2018.03.02 15:42:10 3 : ESPEasy: set ESPEasy_ESP_GarageDoor event Toggle
2018-03-02 15:42:10 ESPEasy ESPEasy_ESP_GarageDoor toggle

Relais zieht nicht an, die zustände des Tores werden richtig angezeigt.
Titel: Garagentorsteuerung mit Sonoff
Beitrag von: RaspiLED am 02 März 2018, 19:34:55
Hi,
es kommt also das FHEM toggle als Event Toggle beim ESP an. Soweit sogut! In Rules 2 unter On Toggle do... wird dann ein Event Drive ausgelöst. Das sehe ich bei Dir im Log des ESP nicht. Dort wird auf Rule Page 1 mit longpulse das Relais an gpio 12 für eine Sekunde angezogen.
Bist Du sicher, dass Du die Rules Pages 2&3 auch reinkopiert hast? Was passiert, wenn Du in FHEM ein
set ESPEasy_ESP_GarageDoor event Drive
auslöst? Ansonsten gerne mal Screenshots Deines ESP zeigen ;-)
Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 02 März 2018, 21:08:34
Hi Arnd,
Hab jetzt nochmal die 3 Rules aus dem aus dem Tweet reinkopiert, jetzt zieht das Relais an.
Vorher hatte ich die aus der Datei genommen. Vielleicht hatte ich aber auch einen Fehler beim kopieren gemacht.  :)

Werd das ganze jetzt mal testen. Was mir aber schon aufgefallen ist, das die Zustandsanzeige CurrentDoorState ca. 10s verzögert ist.

Was mir gut gefällt ist, das die Logik komplett auf dem Sonoff läuft.


Titel: Garagentorsteuerung mit Sonoff
Beitrag von: RaspiLED am 02 März 2018, 22:56:04
Hi,
Nee die ist nicht 10s verzögert. Sondern wird nur alle 60 Sec gesetzt. Kannst Du einstellen im Delay des Dummy Devices (indem CurrentDoorState und TargetDoorState drin sind) ;-) Provoziert aber halt auch jede Menge WLAN Traffic, obwohl das Toor ca 98% der Zeit immer den gleichen Status wie vorher hat. Deshalb dachte ich mir test alle 5 Minuten (AutoTestDelay 300=60*5) und Status jede Minute (60sec) reicht.

Wundere Dich nicht über die blöden event Verschachtelungen, aber ESPEasy kennt keine if in if und leider auch nur 3 event tiefen, so dass ich sogar timer verwenden musste, um den Event Drive zu feuern ;-) Naja, es geht immerhin *lol*
Wenn Du gute Ideen hast immer raus damit ;-)

Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 03 März 2018, 12:06:27
Ich meine, wenn das Tor öffnet, wird sofort das Reading DoorOpen und DoorClose gesetzt, aber CurrentDoorState braucht ca. 10s bis sich der Wert ändert. Dadurch ist die Zustandsanzeige um ca. 10s verzögert.

Läuft bis jetzt zuverlässig, bis auf die verzögerungen. Die auch manchmal beim Betätigen von open, close und toggel 2-3s brauchen bis das Relais anzieht.


Titel: Garagentorsteuerung mit Sonoff
Beitrag von: RaspiLED am 03 März 2018, 14:00:07
Hi, ja verstehe genau was Du meinst.

Wie schon geschrieben, der CurrentDoorState wird sofort anhand der GPIO Status DoorClosed und DoorOpen ermittelt. Aber nur alle 60sec an FHEM gemeldet.

Die Verzögerungen beim Relais liegen daran, dass die ESP Hardware halt nicht Multitasking ist. Wenn da gerade etwas mit FHEM redet (z.B. Status Updates) dauert es halt. Schaue ich mir aber noch mal an, insb. Beim öffnen stört es wahrscheinlich.

Wenn Du testest, dann probiere mal über FB den Zustand zu ändern und schaue ob sich das Tor richtig verhält, da ja TargetDoorState dann nicht angepasst wird ;-)

Benutzt Du auch HomeBridge? Welche ESP Firmware nutzt Du auf dem Sonoff? Magst Du Deine Änderungen hier mal dokumentieren?

Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 05 März 2018, 09:34:14
Kann man das CurrentDoorState nicht bei Änderung auch direkt an FHEM senden wie das DoorClosed oder Door Open auch ?
Die Sim Befehle sind nur zum testen ? Die könnte man ja dann in der finalen Version aus den Rules rausnehmen oder ?

Ich konnte den Unterschied zwischen Close und Autoclose noch nicht erkennen. Hab das Tor mal mit beiden geschlossen und die Torkontakte dann nur geöffnet aber nicht geschlossen, ich hab aber keinen unterschied gesehen.

Bin am WE leider nicht so richtig zum testen gekommen. Hab den Sketch auf einen Testsonoff und die Türkontakte schölate ich per  Brücke.

HomeBridgen nutze ich nicht. Auf den Sonoff ist die mega-20180104
Geändert habe ich bisher eigendlich nichts, ausser die GPIO's an den Sonoff angepasst.
 
Titel: Garagentorsteuerung mit Sonoff
Beitrag von: RaspiLED am 05 März 2018, 21:36:07
Hi,

also Dummies können leider nicht auf den Delay 0 gesetzt werden, daher gibt es von Haus aus kein direktes Update, sondern nur alle <Delay> Sekunden. Nach abtauchen in die ESPEasy Tiefen gibt es aber eine Lösung. Überall auf den Rules Pages 1&2, wo wir TaskValue,x,... setzen, ergänzen wir ein TaskRun,x. X mit 1 oder 2.

Also z.B.:
  on AutoClose do
  event ActivateAutoMode
  TaskValueSet 1,2,1
  TaskRun,1
  timerSet,1,1
endon

Ich habe das gerade getestet und scheint zu gehen ;-)

Ja sim und simend brauche ich nur zum testen. Insgesamt sind rules pages 3&4 nur zum testen. Du kannst also webCmd einfach einkürzen!

Autoclose setzt zusätzlich den Automatik Mode und startet den Timer mit 5 Minuten.

Okay die MegaVersion, aber mit wieviel Speicher 1024, 4096?


Gruß Arnd





Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 06 März 2018, 18:58:00
Hi,
das mit TaskRun,x klappt prima, jetzt ist die Zustandsanzeige wesentlich schneller.
Wenn Du jetzt nur noch die Torbetätigung bescheinigen könntest. Da vergehen nach druck auf open oder close 2-4 sec bis das Relais anzieht.

Ich musste allerdings aus den Rules 1 die Kommentare rausnehmen, da die Rules sonst zu groß waren. (Data was not saved, exceeds web editor limit!)

Ruels 3 habe ich jetzt mal rausgenommen.

Hab die Mega Version mit 1024

Gruß HW1



Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Typ1er am 03 September 2018, 09:26:54
Ich sage erstmal danke, es funktioniert.

Eine Sache stört mich, die Meldung in Home, das das "Tor geöffnet wird" kommt erst wenn das Tor am DoorOpen Kontakt ankommt. Öffne ich das Tor nur halb, bekommt man keine Pushnachricht.

Mit den Rules stehe noch etwas auf den Schlauch, wie weit alles entfernen, kann. Brauche nur auf und zu.
Titel: Garagentorsteuerung mit Sonoff
Beitrag von: RaspiLED am 03 September 2018, 19:41:17
Hi,
Die Rules tun nicht weh also drinne lassen ;-) Alternativ Rules Seiten 3 und 4 löschen.

W/ dem halbauf: Die Message kommt von Homekit auf dem iPhone. Das kann ich nicht beeinflussen.

Du könntest allerhöchstens im Homebridge Mapping den Status öffnet auf offen mappen. Bekommst dann aber keine klaren Status mehr mit.
Oder ein Doif bauen, das nach 10 Sekunden öffnet auf offen switched!?

Gruß Arnd



Gesendet von iPhone mit Tapatalk
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Typ1er am 09 September 2018, 21:37:36
welche Rules Seite 4 meinst du?
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: RaspiLED am 09 September 2018, 21:45:53
Hi,

Die Rules unter ESPEasy haben die Seiten 1-4. Auf den Seiten 1 und 2 sind die wesentlichen Funktionen des Garagetor ESP, auf den Seiten 3 und 4 hatte ich Debug und Testcode. Falls da noch was stand, kann das weg. Muss aber eben nicht ;-)

Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Typ1er am 14 September 2018, 21:40:18
Rules habe ich Seite 1-2 integriert, soweit alles ok, Schalten per Siri klappt auch.

Wenn ich die Homebridge Neustarte springt die anzeige auf "wird geöffnet..." oder "wird geschlossen..." wo habe ich hier einen Dreher?
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: RaspiLED am 14 September 2018, 22:25:10
Hi,
Das habe ich nicht getestet, aber ich schätze die Homebridge liest dann den Status aus FHEM ein. Kamst Du das Log von Homebridge zeigen oder durchsuchen was da genau passiert? Ich tippe darauf, das TargetDoorState nicht gleich CurrentDoorState ist.
Gruß Arnd


Gesendet von iPhone mit Tapatalk
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Gisbert am 24 August 2019, 16:15:54
Hallo Arnd,

auch wenn dieser Thread schon länger ruht, habe ich eine Frage, die mit der hardwareseitigen Garagentorsteuerung zu tun hat.
Ich hab einen Sonoff Basic mit potentialfreiem Relais seit längerem in Gebrauch.

Von Homematic habe ich einen optischen Fenstersensor, der erkennt, wenn das Tor geschlossen ist. Sobald das Tor öffnet, ggf. auch nur ein bißchen geöffnet ist, z.B. auf Lüftungsstellung, also nur einen kleinen Spalt, meldet sich der Homematic-Sensor. Als Software läuft Tasmota in der aktuellen Version, soweit ist alles zufriedenstellend und stabil.

Verbaut sind auch noch außen ein Schlüsselschalter und innen ein Taster, mit dem man das Tor ganz an Fhem vorbei öffnen kann, solange Strom da ist.

Jetzt hab ich mir in den Sinn gesetzt, die Schlüsselschalter/Tasterbetätigung in Fhem zu registrieren. Ich weiß, dass die Tasterbetätigung, ohne weitere Informationen zu haben, Rauf/Stop/Runter bedeuten kann.
Ich hab jetzt mal die Spannung an den beiden rausgeführten Relaiskontakten gemessen, die ja von Fhem zum Absetzten des Rauf/Stop/Runter-Befehls genutzt werden:

Wie könnte ich dieses Verhalten in Fhem registrieren?
Mir ist klar, dass ich nicht 27V auf einen GPIO geben kann, da muss eine Z-Diode dazwischen, die die Spannung auf 3.3V reduziert.
Im Falle der Tasterbetätigung müssten dann am GPIO 0V anlegen, so dass man diese high/low-Änderung zur Auswertung nutzen könnte.
Die Frage ist auch am Rande noch, wieviel Energie dabei verbraten wird. Wenn es 1W ist, dann wäre das ja akzeptabel, bei 10W sieht es aber schon anders aus.

Da ich von Elektrotechnik, Potentialen, gemeinsamer Masse, etc. nicht wirklich viel verstehe - außer jemand macht sich die Mühe und erklärt es mir :) - und ich den Garagentorantrieb nicht durch eine solche Aktion zerstören möchte, suche ich nach Hilfe. Wenn es nur um den Sonoff gehen würde, der Verlust wäre verschmerzbar.

Vielleicht kannst du dich der Sache annehmen und mich auf den Pfad der Tugend führen ;).
Wenn es noch jemand gibt, der etwas beitragen kann, dann möchte ich ihn nicht abhalten.

Viele Grüße Gisbert
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Papa Romeo am 24 August 2019, 19:36:05
Hallo Gisbert,

das mit der Z-Diode ist so ne Sache. Ich würde einfach einen Optokoppler nehmen oder ein 24 Volt Miniaturrelais,
das mir bei Betätigung dann den GPIO auf Gnd legt.

Mit Opto oder Relais liegste mit ca. 10 bis 15 mA bei etwa 0,4 Watt.

Andere Option wenn´s nicht unbedingt Potentialfrei sein muss: FET mit Gate-Spannungsteiler --> Leistungslos

Gruß

Papa Romeo
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: RaspiLED am 24 August 2019, 20:42:43
Hallo Arnd,

auch wenn dieser Thread schon länger ruht, habe ich eine Frage, die mit der hardwareseitigen Garagentorsteuerung zu tun hat.
Ich hab einen Sonoff Basic mit potentialfreiem Relais seit längerem in Gebrauch.

Von Homematic habe ich einen optischen Fenstersensor, der erkennt, wenn das Tor geschlossen ist. Sobald das Tor öffnet, ggf. auch nur ein bißchen geöffnet ist, z.B. auf Lüftungsstellung, also nur einen kleinen Spalt, meldet sich der Homematic-Sensor. Als Software läuft Tasmota in der aktuellen Version, soweit ist alles zufriedenstellend und stabil.

Verbaut sind auch noch außen ein Schlüsselschalter und innen ein Taster, mit dem man das Tor ganz an Fhem vorbei öffnen kann, solange Strom da ist.

Jetzt hab ich mir in den Sinn gesetzt, die Schlüsselschalter/Tasterbetätigung in Fhem zu registrieren. Ich weiß, dass die Tasterbetätigung, ohne weitere Informationen zu haben, Rauf/Stop/Runter bedeuten kann.
Ich hab jetzt mal die Spannung an den beiden rausgeführten Relaiskontakten gemessen, die ja von Fhem zum Absetzten des Rauf/Stop/Runter-Befehls genutzt werden:
  • Keine Tasterbetätigung: ca. 27V, fällt mit der Zeit ab, hab auch 20.6V gemessen
  • Tasterbetätigung: 0V Spannung zwischen den beiden Relaiskontakten

Wie könnte ich dieses Verhalten in Fhem registrieren?
Mir ist klar, dass ich nicht 27V auf einen GPIO geben kann, da muss eine Z-Diode dazwischen, die die Spannung auf 3.3V reduziert.
Im Falle der Tasterbetätigung müssten dann am GPIO 0V anlegen, so dass man diese high/low-Änderung zur Auswertung nutzen könnte.
Die Frage ist auch am Rande noch, wieviel Energie dabei verbraten wird. Wenn es 1W ist, dann wäre das ja akzeptabel, bei 10W sieht es aber schon anders aus.

Da ich von Elektrotechnik, Potentialen, gemeinsamer Masse, etc. nicht wirklich viel verstehe - außer jemand macht sich die Mühe und erklärt es mir :) - und ich den Garagentorantrieb nicht durch eine solche Aktion zerstören möchte, suche ich nach Hilfe. Wenn es nur um den Sonoff gehen würde, der Verlust wäre verschmerzbar.

Vielleicht kannst du dich der Sache annehmen und mich auf den Pfad der Tugend führen ;).
Wenn es noch jemand gibt, der etwas beitragen kann, dann möchte ich ihn nicht abhalten.

Viele Grüße Gisbert
Hi Gisbert,
Optokoppler wäre auch meine erste Idee, aber erstmal eine andere Frage! Welche Steuerung hast Du? Meine Supramatic von Hörmann hat auch 27V auf dem Tastereingang, daneben aber noch andere Eingänge ;-)
Warum ist der Druck spannend, wenn Du per Homematic den geschlossen Status bereits in FHEM hast? Dann kann doch FHEM einem ESP sagen das Targetdoorstate geschlossen ist!?
Gruß Arnd


Signalduino (Nano, ESP, ...), CUL (Busware, Nano, Maple, ...), Homematic (HM-MOD-UART-RPI, ESP, Maple, ...), LaCrosseGateway (LGW, ESP, ...), 1-wire, ESPEasy, Bravia, Yamaha, ...
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Gisbert am 25 August 2019, 10:48:43
Hallo Papa Romeo,

ich hatte was Ähnliches bei einer Klingelerkennung schon mal realsiert. Von da hatte ich, ohne nachzuschauen, die Z-Diode im Kopf. Dort hatte ich mit einer Z-Diode die Spannung soweit mit einer 20V Z-Diode runtergebracht, dass zwischen den beiden Niveaus 22V (mit Klingeln) und 18V (ohne Klingel) unterschieden werden kann. Die "Rest"spannung hatte ich dann auf einen Optokoppler gegeben und von dort dann auf einen GPIO. Ich muss mir dann "nur" noch Gedanken um den Vorwiderstand machen, da die Spannung anscheinend zwischen 20.6V und ca. 27V schwanken kann, wobei die 20.6V vor der Tasterbetätigung und die ca. 27V direkt nach einer Tasterbetätigung gemessen wurde.

Hallo Arnd,
Zitat
Warum ist der Druck spannend, wenn Du per Homematic den geschlossen Status bereits in FHEM hast? Dann kann doch FHEM einem ESP sagen das Targetdoorstate geschlossen ist!?

willst du die kurze oder die lange Variante hören?
Ok, die kurze: weil ich es will (... Golum: "mein Schatz, wir benötigen ihn" ... ;D)

Die lange Variante: sobald das Tor länger als 15 Minuten geöffnet ist, werde ich per Pushnachricht darüber informiert. Da ich eine Lüfterstellung (nur einen Spalt offen) habe, ist das Tor für den Homematic-Fensterkontakt ebenfalls offen, d.h. dann bekomme ich auch eine Nachricht, die ich aber an der Stelle nicht haben möchte. Ich habe alle möglichen Varianten durchgespielt, ob das softwareseitig (in einem DOIF) zu regeln ist, bin dann aber zum Schluss gekommen, dass mir die Information fehlt, ob das Tor per Taster/Schlüsselschalter auf oder per Fhem auf Lüfterstellung gefahren wurde.
Was ich aber noch nicht bedacht habe, und was vermutlich aber so realisert ist, dass alle Taster/Schlüsselschalter/Fhem-Befehle auf den gleichen Eingang gehen, so dass ich gar nicht zwischen Fhem und manueller Betätigung unterscheiden kann. Immerhin wüsste ich dann, dass ein Fahrbefehl eingegangen ist.
Ich sehe nach, ob ich mehrere Eingänge am Garagentormotor habe, vielleicht gelingt da noch was.

Züruck zur Z-Diode und einem Optokoppler:
Wenn ich eine 18V Z-Diode nehme, dann lässt die 2.6 - 9V durch, richtig?
Dann benötige ich einen Vorwiderstand, der die 9V abdeckt, aber gleichzeitig sicherstellt, dass der Optokoppler bei 2.6V noch arbeiten kann.

Verfügbar habe ich die folgenden Optokoppler:
PC817 und ggf. SFH620A
Für den PC817 müsste die Rechnung so aussehen
Forward voltage VF = 1.2-1.4V,  IF = 20mA

Viele Grüße Gisbert
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Gisbert am 25 August 2019, 11:14:44
Hallo Papa Romeo und Arnd,

bei weiterem Nachdenken komme ich zum Schluss, dass ich die Z-Diode gar nicht benötige, denn bei einem Tasterdruck geht die Spannung auf 0V, so dass der Optokoppler zwischen 20.6-27V und 0V unterscheiden kann. Der Vorteil wäre sogar, dass der Vorwiderstand für 20.6 und 27V in etwa gleich bis ähnlich liegen.

Viele​ Grüße​ Gisbert​
Titel: Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 25 August 2019, 15:47:36
Die lange Variante: sobald das Tor länger als 15 Minuten geöffnet ist, werde ich per Pushnachricht darüber informiert. Da ich eine Lüfterstellung (nur einen Spalt offen) habe, ist das Tor für den Homematic-Fensterkontakt ebenfalls offen, d.h. dann bekomme ich auch eine Nachricht, die ich aber an der Stelle nicht haben möchte. Ich habe alle möglichen Varianten durchgespielt, ob das softwareseitig (in einem DOIF) zu regeln ist, bin dann aber zum Schluss gekommen, dass mir die Information fehlt, ob das Tor per Taster/Schlüsselschalter auf oder per Fhem auf Lüfterstellung gefahren wurde.
Was ich aber noch nicht bedacht habe, und was vermutlich aber so realisert ist, dass alle Taster/Schlüsselschalter/Fhem-Befehle auf den gleichen Eingang gehen, so dass ich gar nicht zwischen Fhem und manueller Betätigung unterscheiden kann. Immerhin wüsste ich dann, dass ein Fahrbefehl eingegangen ist.
Ich sehe nach, ob ich mehrere Eingänge am Garagentormotor habe, vielleicht gelingt da noch was.


Ich mache so etwas ähnliches über ein doif.
Mein Treppenhauslicht schalte ich über den Eltako von Papa Romeo allerdings mit Tasmota drauf. Wenn ich das Licht über Bewegungsmelder einschalte, setzte ich gleichzeitig im doif ein User Reading „Schaltgrund“ auf „auto“.
In einem anderem doif frage ich ab ob das Licht an ist und wenn Schaltgrund nicht auto ist setze ich Schaltgrund auf „manuell“. Bei Licht aus setzte ich Schaltgrund auf „aus“.

So kann ich über das UserReading Schaltgrund im Device Eltako abfragen wie das Licht eingeschaltet wurde. Das funktioniert sehr zuverlässig.
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Gisbert am 26 August 2019, 08:56:35
Hallo hanswerner1,

Zitat
So kann ich über das UserReading Schaltgrund im Device Eltako abfragen wie das Licht eingeschaltet wurde. Das funktioniert sehr zuverlässig.
Das ist eine interessante Idee, die ich ausprobieren werde.

Gestern war ich jedoch mit deiner ursprünglichen Idee beschäftigt, nämlich 2 Sensoren für die offen/geschlossen Erkennung zu nutzen. Das hat mich mit diversen Schwierigkeiten - wie üblich - einige Stunden gekostet, bei denen ich allerdings einiges gelernt habe.

Zuerst wollte ich einen Hallsensor verbauen und habe mich darin eingelesen. Der benötigt 5V Spannung, gut das kann man sich vom Sonoff rausführen.

Dann ist mir ein Reedkontakt in die Hände gefallen, den ich vor längerer Zeit zum Auslesen des Gaszählers nutzen wollte, was aber wegen der mangelnden Empfindlichkeit nicht geklappt hat. Den hatte ich bereits mit der passenden Länge und Dupont-Steckern ausgestattet, super.
Auf dem Sonoff hatte ich noch einen DHT12 rausgeführt, der zwischendurch den Geist aufgab, weil ein Kabel gebrochen war. Da es nicht gesteckt, sondern gelötet war, musste der Lötkolben ran.

Den Reedkontakt hab ich angeschlossen und den GPIO über einen 100kOhm-Widerstand auf high gezogen. Frage an dieser Stelle: War das nötig, oder kann der ESP das intern über Einstellung in der Software regeln?

Die nächste Schwierigkeit war dann Tasmota, das den Reedkontakt nicht als solchen akzeptiert hat. Ich hab's nicht durch Recherchieren oder Ausprobieren hinbekommen. Also hab ich ESPEasy drauf geschmissen, was zuerst mal ne Viertelstunde rumgezickt hatte, bis es lief. Der Reedkontakt wird als Switch Input definiert und liefert 0 oder 1 - funktioniert also.

Da bei Tasmota die Schaltbefehle per MQTT schön kurz und fürs menschliche Auge gut lesbar sind, wollte ich das bei ESPEasy auch haben. Lange Rede, kurzer Sinn, ich hab's geschafft Rules zu definieren und die per MQTT von Fhem ausführen zu lassen. Wichtig ist ja, dass das potentialfreie Relais kurz schließt und nach einer halben bis einer Sekunde wieder öffnet, d.h. diese Logik muss im Sonoff (in den Rules) liegen. Informationen zu MQTT und ESPEasy findet man jedoch nur bruchstückhaft, was entsprechend langes Rumexperimentieren bedeutet hat. Wen es interessiert, ich hab mir eine kleine Anleitung geschrieben, die ich gerne teilen kann.

Es funktioniert alles, auch das Fhemdevice sieht gut aus, jetzt kann ich den Sonoff wieder in die Garage hängen und mich den anderen Ideen widmen.

Viele​ Grüße​ Gisbert​
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: hanswerner1 am 26 August 2019, 13:50:02
Den Reedkontakt hab ich angeschlossen und den GPIO über einen 100kOhm-Widerstand auf high gezogen. Frage an dieser Stelle: War das nötig, oder kann der ESP das intern über Einstellung in der Software regeln?

Ich glaube nicht unbeding, hatte das damals so mit den Wiederständen mal gelesen um definierte Zustände an den GPIO's zu haben.
Hab das auch noch so, aber mittlerweile in anderen Projekten ohne die Wirderstände mit der Einstellung "Internal PullUp " auch keine Probleme. 
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Papa Romeo am 26 August 2019, 14:06:58
Hallo Gisbert,

bei eigenen Sketchen kannst du das z.B. so regeln, dass du keinen externe Pullup benötigst.

.
.
.
#define SENSOR1  3   
.
.
.
void setup()
     {pinMode(SENSOR1,INPUT_PULLUP); 
.
.
.               


Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Gisbert am 31 August 2019, 14:37:09
Kurze Rückmeldung hierzu.
Zitat
Den Reedkontakt hab ich angeschlossen und den GPIO über einen 100kOhm-Widerstand auf high gezogen. Frage an dieser Stelle: War das nötig, oder kann der ESP das intern über Einstellung in der Software regeln?

Ich hab in ESPEasy den Internal PullUp angekreuzt und versucht, ob der Reedkontakt ein Signal reinbekommt.
Entweder war meine "fliegende" Verkabelung zu schlecht, jedenfalls hat's mit dem PullUp nicht funktioniert, also zurück zum 100kOhm-Widerstand.

Viele Grüße Gisbert
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: bajuware am 29 Oktober 2021, 14:29:18
Hallo Zusammen,

eine Frage bezüglich der Sonoff Basic Konfiguration:
Wer hat denn eine finale Lösung mittels Tasmota und MQTT konfiguration und kann diese teilen?
Und: wie sieht es aus, wenn der Sonoff(Tasmota) neu started? Bei mir wird immer Status des Reed Kontakts zu anfangs
invertiert. Also wenn der Kontakt offen ist, wird der Status als "On" also geschlossen angezeigt.
Siehe zweite Zeile. Kontakt ist dem Fall offen gewesen:
13:27:34 RSL: tele/tasmota_4CA967/STATE = {"Time":"2021-10-29T13:27:34","Uptime":"0T00:00:11","UptimeSec":11,"Heap":27,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":20,"MqttCount":0,"POWER":"OFF","Wifi":{"AP":1,"SSId":"PG-HAUS","BSSId":"3C:A6:2F:A9:9C:63","Channel":11,"RSSI":100,"Signal":-37,"LinkCount":1,"Downtime":"0T00:00:05"}}
13:27:34 RSL: tele/tasmota_4CA967/SENSOR = {"Time":"2021-10-29T13:27:34","Switch1":"ON"}
13:28:07 RSL: tele/tasmota_4CA967/SENSOR = {"Time":"2021-10-29T13:28:07","Switch1":"ON"}
13:28:08 RSL: tele/tasmota_4CA967/SENSOR = {"Time":"2021-10-29T13:28:08","Switch1":"OFF"}

Für bessere Lösungen auf dem Sonoff Basic bin ich sehr offen.

Aktuelles Setup:
Sonoff Basic RF R2 V1.0
1x Reed Kontakt and GPIO3
SwitchOption 15


Grüße
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Gasmast3r am 29 Oktober 2021, 14:35:42
Nutze das mitlerweile mit dem Wemos D1 Mini
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Papa Romeo am 29 Oktober 2021, 15:19:54
Also wenn der Kontakt offen ist, wird der Status als "On" also geschlossen angezeigt.

...ist ein GPIO "offen", dann hat dieser über den Pullup ein "HIGH" anliegen und wird somit als "ON" erkannt.

LG
Papa Romeo
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: bajuware am 30 Oktober 2021, 08:06:12
@gasmast3r
Ich werde es heute auch mal mit einem ESP32 testen.
Der Sonoff ist halt komfortabel weil er die Relais an Board hat.

@Papa Romeo
Das passiert aber nur beim starten des Gerätes.
Im Betrieb wird es richtig erkannt. Eben bis auf das erste Signal
welches ich ja manuel triggern muss.
Kann man das denn irgendwie ändern bzw umgehen? Widerstand?

Grüße

Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Papa Romeo am 30 Oktober 2021, 15:51:48
Das passiert aber nur beim starten des Gerätes.

Bein Booten braucht der ESP bestimmte logische Pegel an seine GPIO´s.
0(Flash) ,1(TxD)und 2 müssen "HIGH" sein.
GPIO03 (RxD) wird bei Booten auf HIGH gelegt, kann oder darf aber auch z.B. durch einen Öffner auf LOW liegen.
Hast du einen Schliesser angeschlossen, also "offen", ist der Pegel natürlich "HIGH".

Im Betrieb wird es richtig erkannt.

... da kommt dann der Sketch(Tasmota) ins Spiel, wie es dort definiert ist.


LG

Papa Romeo
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: bajuware am 30 Oktober 2021, 15:57:55
Vielen dank für die Erklärung.
Würde dann eigentlich bedeuten ein anderes Board zu nehmen und dann dort die entspr. "freien" GPIO's, richtig?
Leider ist GPIO14 auf dieser Board VErsion os gut wie unerreichbar.
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Papa Romeo am 30 Oktober 2021, 19:15:53
Würde dann eigentlich bedeuten ein anderes Board zu nehmen und dann dort die entspr. "freien" GPIO's, richtig?

... hier eine Übersicht, wann die GPIO´s wie genutzt werden können ...

https://randomnerdtutorials.com/esp8266-pinout-reference-gpios/

LG
Papa Romeo
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: bajuware am 31 Oktober 2021, 12:47:14
Ok, habe jetzt der Vollständigkeit halber den Kontakt an GPIO14 angebracht. Laut Doku der Pins sollte das keine Problem zwecks Boot machen. Aber ich habe immer noch den widersprüchlichen Status des Schalters. Obwohl er aus ist und das auch korrekt protokolliert wird sagt der Status in diesem Fall "ON". Sie log unten. Woran liegt das? Ist die Platine kaputt?

CMD: Switchmode2 15
12:41:27 RSL: stat/tasmota/RESULT = {"SwitchMode2":15}
12:41:34 RSL: tele/tasmota/SENSOR = {"Time":"2021-10-31T12:41:34","Switch2":"ON"}
12:41:34 RSL: tele/tasmota/SENSOR = {"Time":"2021-10-31T12:41:34","Switch2":"OFF"}
12:41:35 RSL: tele/tasmota/SENSOR = {"Time":"2021-10-31T12:41:35","Switch2":"ON"}
12:41:35 RSL: tele/tasmota/SENSOR = {"Time":"2021-10-31T12:41:35","Switch2":"OFF"}
12:41:36 RSL: tele/tasmota/SENSOR = {"Time":"2021-10-31T12:41:36","Switch2":"ON"}
12:41:36 RSL: tele/tasmota/SENSOR = {"Time":"2021-10-31T12:41:36","Switch2":"OFF"}
12:41:42 CMD: Status 8
12:41:42 RSL: stat/tasmota/STATUS8 = {"StatusSNS":{"Time":"2021-10-31T12:41:42","Switch2":"ON"}}
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Papa Romeo am 31 Oktober 2021, 14:12:33
..definiere mal was bei dir "ON" und was "OFF" ist.

Ist ein "HIGH-Pegel" am GPIO "ON" und ein "LOW-Pegel" an GPIO "OFF" so, wie es definiert ist, wenn er als Ausgang genutzt wird oder ist es umgekehrt.

Am Eingang ist es in der Regel so, dass ein "ON" dann vorliegt, wenn der Schalter oder Taster geschlossen ist. Dies wiederum hat am Eingang aber ein LOW zu Folge.
Ein LOW wird aber eigentlich als "OFF" deklariert.

Der GPIO14 ist zwar für das "Booten" nicht relevant, aber an ihm liegt bei offenen Schalter trotzdem ein "HIGH-Pegel" und wird daher während dem "Booten´s" als
"ON" erkannt.

Was ist eigentlich so schlimm daran, dass der ESP während dem Booten seine tatsächlichen Pegel an den GPIO´s wieder gibt ?
Wird doch dann durch den Sketch korrigiert.

LG
Papa Romeo
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: bajuware am 31 Oktober 2021, 15:28:18
Das ist im Prinzip gar nichts schlecht dran.
Ich möchte ja im Prinzip einfach nur den Zustand des Reed Kontakts wissen und mittels mqtt gesendet bekommen. Und natürlich auch nach einem Stromausfall wissen wollen ob das Tor eben offen oder zu ist.
Titel: Antw:Garagentorsteuerung mit Sonoff
Beitrag von: Papa Romeo am 31 Oktober 2021, 17:59:01
...da macht er doch auch, wenn der Sketch nach dem "Booten" läuft. Ist doch egal was der ESP währen dem "Booten" ausgibt. Die über MQTT übertragenen Daten sind doch erst valid wenn der Sketch, sprich Tasmota läuft und die GPIO´s abgefragt hat.

LG
Papa Romeo