Neues Modul für Ein-Knopf-Garagentor-Steuerungen

Begonnen von farion, 06 Februar 2016, 18:02:43

Vorheriges Thema - Nächstes Thema

farion

Hi,

Aktuelle Version von Github installieren:
update all https://raw.githubusercontent.com/farion/fhem-garagedoorsinglebutton/master/controls_garagedoorsinglebutton.txt


da mir die existierenden Garagenlösungen nicht zusagten habe ich ein entsprechendes Modul implementiert.

Ich habe eine recht betagte aber noch wunderbar funktionierende Garagenmotorsteuerung. Man bedient sie mit einem Knopf.

  • Ist das Tor unten, geht es hoch.
  • Ist das Tor oben, geht es runter.
  • Ist das Tor in Bewegung stoppt es.
  • Ist das Tor gestoppt bewegt es sich in die andere Richtung wie vor dem Stop
Denke so sind recht viele Steuerungen aufgebaut. Insbesondere die Älteren.

Meine zusätzliche Hardware ist ein HM-LC-SW1-BA-PCB mit Relais zum potentialfreien Schalten und einem HM-SEC-SC-2 um zu messen wann das Tor zu ist.

Das Modul definiert ein zusätzliches Gerät welches die nötigen Geräte bündelt und entsprechende Aktionen ermöglicht. Es basiert darauf, dass man die Zeiten zum Hoch/Runterfahren per Attribut setzt. Das "Drücken" des Steuerknopfes wird gequeued, damit wird verhindert, dass ungeduldiges öfteres Drücken etwas ausmacht.

  • Absolute Befehle für Schliessen und Öffnen, egal in welchem Status sich das Tor befindet
  • Readings für Toröffnung in %, Nötige Zeit zum Hoch/Runterfahren, Statistiken über Knopfdrücker und Queue
  • Watchdog-Funktion: Wenn das Tor länger offen ist wird ein FHEM-Befehl getriggert (Bei mir z.B. ne Jabber-Nachricht)

Ich werde wohl auf Dauer noch einen zweiten HM-SEC-SC-2 einbauen um den Offen-Zustand eindeutig zu haben. Aber so funktioniert es schon erstaunlich gut. Man kann das Tor auf halben Weg umlenken etc.
V0.0.6 erlaubt einen zweiten Sensor.

Einschränkung: Aktuell geht das Modul davon aus, dass das Tor zu Beginn unten ist. Ein "Erkennen" bei Fhem-Start habe ich mir gespart. Das wäre ziemlich nervig wenn das Tor dann erstmal ne Runde durch die Gegend fährt.

Aktuell wird auch noch ein notify für den Sensor automatisch angelegt um den Close-Status zu injekten. Das muss ich noch besser machen, aber es funktioniert.
Entfernt seit V0.0.2

Ich hoffe es hilft Jemanden. Vllt. hat auch jemand noch Ideen oder Vorschläge.

Gruss Frieder

PS: Habe noch das Zustandsdiagramm im Anhang. Einfach weil es so schön ist :D. Ausserdem ein Bild der Steuerschaltung und ein Screenshot aus FHEM.

[edit] added version 0.0.2

  • Added buttonTriggerCommand
  • Added closeSensorDeviceEvent
  • Make use of NotifyFn to get events from close device (thx to marvin78)

[edit] added version 0.0.3

  • Fixed some bugs (thx to hartenthaler)

[edit] added version 0.0.6 (not well tested)

  • Added openSensorDevice and openSensorDeviceEvent for second sensor that shows if door is open.
  • Fixed some bugs

ACHTUNG: Beim Installieren der versionierten Module bitte die Datei vorher in 98_GarageDoorSingleButton.pm umbenennen.
Fhem5.8@Raspi3|~70xHomematic|KM271|1Wire|DoorPi mit DoorPiBoard|GarageDoorSingleButton|Graphite

Gerhard

Hallo farion,

tolle sache, ich kan's gebrauchen.

vermutlich funktion ähnlich wie das ROLLO Modul mit Positionen wie 10, 20, ... 90, 100, und mit Icons für Position.
Ich werde es bei mir einbinden und Testen.

Danke, Gerhard
FB6890LTE, cubietruck, orangePi, raspberry 2/3/4, HM/HMIP, shelly > 50, etc.

Regengott

Klingt interessant - aber verstehe ich das richtig: du benutzt einen Rauchmelder als Sensor ob das Garagentor zu ist? Zumindest finde ich nur Rauchmelder, wenn ich nach HM-SEC-SD-2 suche.

farion

@Regengott
Ja, man muss auch immer ne Kerze anzünden :D.
Nein im Ernst war ein Typo ... ich meinte natürlich: HM-SEC-SC-2. Habe es im Eingangspost korrigiert. Danke!!

@Gerhard
Nicht ganz. Aktuell gibt es mehr oder weniger nur die Kommandos "open","close". Also "fahre auf 20%" kannst du nicht sagen. Die Readings zeigen aber eine geschätzte Position an. Könnte man aber noch einbauen ... wenn der Sohnemann mit dem Bobycar raus will braucht man das Tor ja nicht ganz hoch fahren :).

Ich teste es jetzt seit 3 Tagen und es funktioniert schon recht gut. Ab und zu kommt er noch mit dem aktuellen Zustand durcheinander. Das muss ich noch robuster machen. Und den zweiten Fensterkontakt für "offen" ... das bringt denke ich viel.

Icons gibt es auch noch keine. Ich verwende die Table-UI und FHEMWEB nur zum Entwickeln. Also da ist noch Platz nach oben :). Ich freue mich aber natürlich über jedes Feedback.

Gruss Frieder
Fhem5.8@Raspi3|~70xHomematic|KM271|1Wire|DoorPi mit DoorPiBoard|GarageDoorSingleButton|Graphite

Gerhard

Hi farion,

vll. ein paar Anregungen von hier:

http://forum.fhem.de/index.php/topic,47202.0.html

oder

http://www.fhemwiki.de/wiki/ROLLO

ist ähnlich wie dein Modul, fährt nach Zeit, mit Pos. angaben und Icons für die Position,
und jetzt nur mit Ein-Knopf-Steurerung sowie mit Angabe von zwei oder 3? Eingänge für Closed.mid,open.

Gerhard
FB6890LTE, cubietruck, orangePi, raspberry 2/3/4, HM/HMIP, shelly > 50, etc.

Gerhard

P.S.

hier der define :

define myRollo_01 ROLLO
attr myRollo_01 automatic-enabled on
attr myRollo_01 devStateIcon offen:fts_shutter_10:geschlossen geschlossen:fts_shutter_100:offen schlitz:fts_shutter_80:geschlossen drive-up:fts_shutter_up@red:stop drive-down:fts_shutter_down@red:stop position-100:fts_shutter_100:offen position-90:fts_shutter_80:geschlossen position-80:fts_shutter_80:geschlossen position-70:fts_shutter_70:geschlossen position-60:fts_shutter_60:geschlossen position-50:fts_shutter_50:geschlossen position-40:fts_shutter_40:offen position-30:fts_shutter_30:offen position-20:fts_shutter_20:offen position-10:fts_shutter_10:offen position-0:fts_shutter_10:geschlossen
attr myRollo_01 drive-down-time-to-100 20
attr myRollo_01 drive-up-time-to-100 20
attr myRollo_01 funktionsweise Typ4
attr myRollo_01 kanal1 EL_BT_Up
attr myRollo_01 kanal2 EL_BT_Down
attr myRollo_01 kanal3 EL_BT_Stop
attr myRollo_01 room ROLLOK
attr myRollo_01 webCmd offen:geschlossen:schlitz:position


FB6890LTE, cubietruck, orangePi, raspberry 2/3/4, HM/HMIP, shelly > 50, etc.

Skywalker007

Hallo Gerhard,

ich bastel auch gerade an einer Garagentor Steuerung und würde ganz gern das Rollo modul dafür verwenden wie von dir vorgeschlagen.
Was ich daran allerdings vermisse, und das ist wohl der Clou an diesem Garagentor Modul, ist die Einbindung des Sensors der mir ein definiertes Signal für Garage-zu gibt.
Wenn das sich noch in das Rollo Modul integrieren liesse, dann wär es perfekt.

Grüße, Till


Gerhard

Hi Skywalker,

das Modul hat keine Eingänge sondern nur Ausgänge (auf, ab, stopp), und fährt nach Zeit wobei der Befehl Stopp nach Ablauf der Zeit
gesetzt wird, und setzt voraus das der Antrieb auch dort steht wo die Position berechnet wurde.
Eine Überprüfung der Position kann man out of the box machen.

Gerhard
FB6890LTE, cubietruck, orangePi, raspberry 2/3/4, HM/HMIP, shelly > 50, etc.

Prof. Dr. Peter Henning

Da kann ich helfen. Hier gibt es für sehr wenig Geld einen mechanischen Neigungsschalter.

http://www.conrad.biz/ce/de/product/185271/Neigungssensor-Print-gewinkelt-1-Schliesser-1-Oeffner?ref=searchDetail

Zwei Stück davon im 90°-Winkel zueinander eingebaut liefern ein eindeutiges Signal für "Tor geschlossen" oder "Tor geöffnet".

Ich betreibe einen sehr komfortablen Garagentoröffner: Von außen per iButton-Auflage mit Identifikation der öffnenden Person, oder per HomeMatic-Fernbedienung. Oder per FHEM, natürlich.

LG

pah

Skywalker007

Hallo,

ich habe mir bisher mit dem Sündhaft-Teuren Homematic Neigungsschalter beholfen. Der sendet mir schon ein sehr zuverlässiges Signal ob offen oder zu.
Ich fände es halt cool man würde das ins Rollo Modul so integrieren können das zu nicht nur auf der Zeitkomponente basiert, sondern tatsächlich den Neigungsschalter abfragt ob wirklich zu ist.
Davon abgesehen interessiere ich mich sehr für die weitere Umsetzung des komfortablen Garagentoröffners mit iButton.

lg, Till


Helmi55

Ist ja schon lange geordert. Dauert halt noch so lange
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

dubelkiste

Hallo Frieder,

vielen Dank für das neue Modul,

ich habe genau die gleichen Probleme mit dem Antrieb von meinem Garagentor.
Ich habe Dein Modul  mit eingebaut, sowie ein weiteres notify wenn offen mit gesetzt,
da meine Frau immer noch den alten Hand-Sender benutzt .....

Funktioniert perfekt !

Danke und Gruß
Markus

Skywalker007

Hallo Frieder,

ich habe mich jetzt doch mal mit deinem Modul auseinander gesetzt und krieg es nicht zum laufen.
Magst du mir ein paar Tips geben?
Beim Server Start wirft das Modul folgende Meldungen aus:
Use of uninitialized value in numeric eq (==) at ./FHEM/98_GarageDoorSingleButton.pm line 212, <$fh> line 112.
Use of uninitialized value in numeric eq (==) at ./FHEM/98_GarageDoorSingleButton.pm line 212, <$fh> line 112.
Use of uninitialized value in numeric eq (==) at ./FHEM/98_GarageDoorSingleButton.pm line 147, <$fh> line 112.
Use of uninitialized value in numeric eq (==) at ./FHEM/98_GarageDoorSingleButton.pm line 150, <$fh> line 112.
Use of uninitialized value in sprintf at ./FHEM/98_GarageDoorSingleButton.pm line 166, <$fh> line 112.
Use of uninitialized value in sprintf at ./FHEM/98_GarageDoorSingleButton.pm line 166, <$fh> line 112.
Use of uninitialized value in sprintf at ./FHEM/98_GarageDoorSingleButton.pm line 167, <$fh> line 112.
Use of uninitialized value in sprintf at ./FHEM/98_GarageDoorSingleButton.pm line 167, <$fh> line 112.
Use of uninitialized value in division (/) at ./FHEM/98_GarageDoorSingleButton.pm line 168, <$fh> line 112.
2016.04.07 12:43:56 3: [GarageDoorSingleButton] Change state: Closed
2016.04.07 12:43:56 3: get Sensor_Tor_Garage param state : undefined
Argument "close" isn't numeric in numeric ne (!=) at ./FHEM/98_GarageDoorSingleButton.pm line 273, <$fh> line 112.
Argument "undefined" isn't numeric in numeric ne (!=) at ./FHEM/98_GarageDoorSingleButton.pm line 273, <$fh> line 112.

Wenn ich dann "set Tor_Garage open" absetze, dann crashed das modul mit folgender Fehlermeldung:

Undefined subroutine &main::BlockingCall called at ./FHEM/98_GarageDoorSingleButton.pm line 380


danke und Gruß, Till

mbrak

Hallo

ich habe das Modul jetzt seit gut einer Woche am laufen. Geht bisher einwandfrei. Sensoren, Schalter und Einrichtung wie oben beschrieben.
Gestern habe ich meinen Raspi mit dem Fhem Server neu starten müssen. Bei Start von Fhem bekam ich folgende Fehlermeldung:

2016.05.12 21:56:48 2: Messages collected while initializing FHEM: configfile: Garage_closeSensorNotify already defined, delete it first

Der Notify wird vom Modul angelegt. Da er schon in der Fhem.cfg steht und dies vom Modul nicht abgefragt wird, kommt diese Fehlermeldung.
Könntest Du das Modul dahingehend abändern?

Könnte man vielleicht noch einbauen, das es nur eine bestimmte Anzahl von Warnmeldungen sendet wenn das Tor noch offen ist?

Ansonsten ist das einfach nur klasse :)
Danke