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

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

Vorheriges Thema - Nächstes Thema

jorge

Danke für das Modul. Habe schon vor einige Monaten genau die gleiche HM-Konfiguration verbaut und das notify bislang mit DOIF gelöst. Mit Deinem Modul ist das natürlich komfortabler. Hat auf Anhieb funktioniert.
Bei meinem Marantec 370 Garagenöffner erübrigt sich übrigens das Relais. Kann mit Open-Drain direkt gesteuert werden.
Auch die Spannungsversorgung kann von der Marantec bezogen werden.
FHEM.RaspberryPi 2 (HM, 1Wire, Callmonitor.FB 7490, GPIO, I2C, MQTT-Server, MCP23018)
FHEM.RaspberryPi  (FHEM2FHEM, CUL, FS20)
FHEM.RPiZeroW (I2C, 1Wire, python.api, XiaomiBTLESens.MQTT)
FHEM.Win7 (FHEM2FHEM,DBLOG.MySql)
ESPEasy (WEMOSD1, I2C, Analog, 1Wire), Sonoff_T1_3ch, Mobotix QM25, robonect

hartenthaler

Super Modul! Allerdings setze ich einen anderen Aktor ein: HM-LC-Sw1-Pl-CT-R1.
Und da passt die folgende Zeile im Modul nicht:
fhem("set ".$hash->{BUTTON_DEVICE}." on-for-timer 1");

Ich brauche stattdessen:
fhem("set ".$hash->{BUTTON_DEVICE}." press");

Ich würde mir daher ein Attribut im Modul wünschen, das man mit "on-for-timer 1" oder eben mit "press" belegen kann.

PS: als Sensor verwende ich den Homematic-Neigungssensor HM-SEC-TIS.
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

hyper2910

Zitat von: mbrak am 13 Mai 2016, 10:13:30
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



Habe das gleiche Problem, hat das jemand gelöst?
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

Gerhard

@: hyper2910 & hartenthaler

ich benutze auch den HM-LC-Sw1-Pl-CT-R1 und den Neigungssensor von homematic.

Ich habe es über ein dummy gelöst, was ich dann dem Modul übergebe:

define GarazsAjto CUL_HM 3BD516
attr GarazsAjto IODev myHMLAN
attr GarazsAjto autoReadReg 4_reqStatus
attr GarazsAjto expert 2_full
attr GarazsAjto firmware 2.5
attr GarazsAjto model HM-LC-Sw1-Pl-CT-R1
attr GarazsAjto peerIDs 00000000,
attr GarazsAjto room Unsorted
attr GarazsAjto serialNr MEQ0351397
attr GarazsAjto subType switch
attr GarazsAjto webCmd statusRequest:toggle:on:off

define GarazsNyto dummy
attr GarazsNyto eventMap toggle
attr GarazsNyto group Garasz
attr GarazsNyto icon refresh
attr GarazsNyto room TECHNIKA
attr GarazsNyto webCmd toggle

#Garagentaster 1 Sekunde schalten
define n_GarazsNytot notify GarazsNyto set GarazsAjto on-for-timer 1

define myGarageDoor GarageDoorSingleButton GarazsNyto closeSensrGarage
attr myGarageDoor devStateIcon Open:fts_garage_door_10 Closed:fts_garage_door_100 DrivingUp:control_arrow_upward@red DrivingDown:control_arrow_downward@red StoppedOnWayUp:fts_garage_door_50@red StoppedOnWayDown:fts_garage_door_50@red
attr myGarageDoor group Garasz
attr myGarageDoor icon fts_garage
attr myGarageDoor room TECHNIKA
attr myGarageDoor totalTimeDown 21.5
attr myGarageDoor totalTimeUp 14.5
attr myGarageDoor webCmd open:close:stop
define myGarageDoor_closeSensorNotify notify closeSensrGarage:closed set myGarageDoor forceClose


define closeSensrGarage CUL_HM 2A8619
attr closeSensrGarage IODev myHMLAN
attr closeSensrGarage actCycle 028:00
attr closeSensrGarage actStatus alive
attr closeSensrGarage autoReadReg 4_reqStatus
attr closeSensrGarage expert 2_full
attr closeSensrGarage firmware 1.5
attr closeSensrGarage group Garasz
attr closeSensrGarage model HM-SEC-TIS
attr closeSensrGarage peerIDs 00000000,
attr closeSensrGarage room TECHNIKA
attr closeSensrGarage serialNr LEQ0428042
attr closeSensrGarage subType threeStateSensor


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

hyper2910

Zitat von: Gerhard am 26 Juli 2016, 10:40:26
@: hyper2910 & hartenthaler

ich benutze auch den HM-LC-Sw1-Pl-CT-R1 und den Neigungssensor von homematic.

Ich habe es über ein dummy gelöst, was ich dann dem Modul übergebe:

define GarazsAjto CUL_HM 3BD516
attr GarazsAjto IODev myHMLAN
attr GarazsAjto autoReadReg 4_reqStatus
attr GarazsAjto expert 2_full
attr GarazsAjto firmware 2.5
attr GarazsAjto model HM-LC-Sw1-Pl-CT-R1
attr GarazsAjto peerIDs 00000000,
attr GarazsAjto room Unsorted
attr GarazsAjto serialNr MEQ0351397
attr GarazsAjto subType switch
attr GarazsAjto webCmd statusRequest:toggle:on:off

define GarazsNyto dummy
attr GarazsNyto eventMap toggle
attr GarazsNyto group Garasz
attr GarazsNyto icon refresh
attr GarazsNyto room TECHNIKA
attr GarazsNyto webCmd toggle

#Garagentaster 1 Sekunde schalten
define n_GarazsNytot notify GarazsNyto set GarazsAjto on-for-timer 1

define myGarageDoor GarageDoorSingleButton GarazsNyto closeSensrGarage
attr myGarageDoor devStateIcon Open:fts_garage_door_10 Closed:fts_garage_door_100 DrivingUp:control_arrow_upward@red DrivingDown:control_arrow_downward@red StoppedOnWayUp:fts_garage_door_50@red StoppedOnWayDown:fts_garage_door_50@red
attr myGarageDoor group Garasz
attr myGarageDoor icon fts_garage
attr myGarageDoor room TECHNIKA
attr myGarageDoor totalTimeDown 21.5
attr myGarageDoor totalTimeUp 14.5
attr myGarageDoor webCmd open:close:stop
define myGarageDoor_closeSensorNotify notify closeSensrGarage:closed set myGarageDoor forceClose


define closeSensrGarage CUL_HM 2A8619
attr closeSensrGarage IODev myHMLAN
attr closeSensrGarage actCycle 028:00
attr closeSensrGarage actStatus alive
attr closeSensrGarage autoReadReg 4_reqStatus
attr closeSensrGarage expert 2_full
attr closeSensrGarage firmware 1.5
attr closeSensrGarage group Garasz
attr closeSensrGarage model HM-SEC-TIS
attr closeSensrGarage peerIDs 00000000,
attr closeSensrGarage room TECHNIKA
attr closeSensrGarage serialNr LEQ0428042
attr closeSensrGarage subType threeStateSensor


Gerhard

Verstehe nicht wie die Meldung dadurch vermieden wird!
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

Gerhard

@hyper2910

im Modul 98_GarageDoorSingleButton.pm Zeile 115 auskommentieren, aber den notify in fhem.cfg lassen.

sub GarageDoorSingleButton_Define($$) {

    my ( $hash, $def ) = @_;

    my @a = split( "[ \t]+", $def, 5 );

    return "Usage: define <name> GarageDoorSingleButton <buttonDevice> <closeSensorDevice>"
        if ( int(@a) != 4 );

    $hash->{NAME} = $a[0];
    $hash->{BUTTON_DEVICE} = $a[2];
    $hash->{CLOSE_SENSOR_DEVICE} = $a[3];

    my $name = $hash->{NAME};

    # fhem("define ".$name."_closeSensorNotify notify ".$hash->{CLOSE_SENSOR_DEVICE}.":closed set ".$name." forceClose");

    $hash->{helper}{RUNNING_TRIGGER_COUNT} = 0;


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

marvin78

Besser wäre, defmod zu verwenden. Dann kann mit dem notify passieren, was will..

Oder das Modul verwendet NotifyFn, dann ist das notify überflüssig.

Ich wollte mir das Modul immer einmal ansehen und für eine zwei Sensor Lösung für mich umschreiben. Leider bin ich noch nicht dazu gekommen und werde es wohl auch nicht so schnell.

Alcamar

vielleicht schieße ich mit meiner Frage knapp an diesem Thread vorbei, aber ich wüßte nicht wo ich das sonst platzieren könnte.

Wenn ich es auf dem Bild von farion richtig erkenne, dienen Batterien für die Stromversorgung. Die beschriebenen Garagentorantriebe liefern aber auch Strom. (z.B. für ein Taster zum Öffnen und Schließen der Garage) Ich meine 24V wären üblich. Könnte man diese Spannung nicht heruntertransformieren um das Relais zu betreiben und damit auf die Batterien zu verzichten? Ich kenne mich Strom nicht besonders gut aus. Aber die Spannung von 24 V auf die 9-15 V für das Relais zu reduzieren, sollte nicht so kompliziert sein, oder?

micomat

Zitat von: jorge am 30 Mai 2016, 17:14:22
Bei meinem Marantec 370 Garagenöffner erübrigt sich übrigens das Relais. Kann mit Open-Drain direkt gesteuert werden.
Auch die Spannungsversorgung kann von der Marantec bezogen werden.

Kannst Du hierzu mehr informationen geben? Ich bekomme ebenfalls diesen Antrieb. Und mit dem Impulsschalter/EinKnopf bin ich nur teilgluecklich...
Synology DS218+ with fhem+iobroker in docker, 2x RasPi w. ser2net, CUL433+868, IT, EGPM2LAN, THZ/LWZ, FB_Callmonitor, HMS100TF, Homematic, 2x TX3-TH, Pushover, USB-IR-SML-Head, SONOS, GHoma, MBus, KLF200

Skywalker007

Zitat von: Alcamar am 01 August 2016, 08:57:16
vielleicht schieße ich mit meiner Frage knapp an diesem Thread vorbei, aber ich wüßte nicht wo ich das sonst platzieren könnte.

Wenn ich es auf dem Bild von farion richtig erkenne, dienen Batterien für die Stromversorgung. Die beschriebenen Garagentorantriebe liefern aber auch Strom. (z.B. für ein Taster zum Öffnen und Schließen der Garage) Ich meine 24V wären üblich. Könnte man diese Spannung nicht heruntertransformieren um das Relais zu betreiben und damit auf die Batterien zu verzichten? Ich kenne mich Strom nicht besonders gut aus. Aber die Spannung von 24 V auf die 9-15 V für das Relais zu reduzieren, sollte nicht so kompliziert sein, oder?
Yep. Das geht. Ich mache das über eine z-Diode. Reicht vollkommen und funktioniert prima. Irgendwo hier im Forum hat jemand dazu auch mal ein Schaltbild veröffentlicht wenn ich mich recht erinnere.


Gesendet von iPad mit Tapatalk

tagedieb

Hallo und Guten Tag

Ich habe gerade versucht das Modul für meine Zwecke zu nutzen, da ich es ganz toll finde ::)
ich komme jedoch jetzt irgendwie nicht weiter, vielleicht kann mir jemand meinen Fehler zeigen
meine Definitiondefine GartentorSylvia GarageDoorSingleButton TorSylvia Hoftor
hierbei ist TorSylvia ein Dummy,welcher einen HM-LC-SW4-WM schaltet, da ich zwei Button benötige
(ich habe das ROLLO Modul nicht verwendet, da ich denTürkontakt nicht über ein DOIF oder notify einbinden wollte)
die Dummy Schaltung ohne Garagentormodul funktioniert wunderbar - jedoch über das Modul erhalte ich nur ein on-for-timer vom dummy zurück,jedoch bekomme ich nicht hin,das der dummy trotz notify diesen Befehl an den HM-LC-SW4-WM weitergibt  ???
oder gibt es gar  die Möglichkeit 2 Button_Device einzubauen und zwei CLOSE_SENSOR_DEVICE ?

lg tagedieb
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

jorge

Zitat von: micomat am 02 August 2016, 06:53:43
Kannst Du hierzu mehr informationen geben? Ich bekomme ebenfalls diesen Antrieb. Und mit dem Impulsschalter/EinKnopf bin ich nur teilgluecklich...

Ich glaube, dann macht Dich meine Lösung auch nicht glücklich: Habe nur einen Ersatz für die Ein-Knopf-Regelung, aber gesteuert über fhem.
Habe den HM-LC-SW4-BA-PCB in Betrieb, 24 V Stromversorgung der Marantec heruntergeregelt auf 12 V, den open-Drain parallel zum Taster geschaltet (ohne Relais!).
Außerdem stelle ich die Torneigung noch über einen HM-Neigungssensor fest und melde den Zustand im 10-Minuten Abstand via DOIF über Lautsprecher im Haus: So wird das Schließen nicht vergessen. Funktioniert bis jetzt gut mit hohem WAF! Eine Feststellung von Teilöffnungszuständen ist so natürlich nicht möglich, vermisse ich aber auch nicht.

LG

Jorge
FHEM.RaspberryPi 2 (HM, 1Wire, Callmonitor.FB 7490, GPIO, I2C, MQTT-Server, MCP23018)
FHEM.RaspberryPi  (FHEM2FHEM, CUL, FS20)
FHEM.RPiZeroW (I2C, 1Wire, python.api, XiaomiBTLESens.MQTT)
FHEM.Win7 (FHEM2FHEM,DBLOG.MySql)
ESPEasy (WEMOSD1, I2C, Analog, 1Wire), Sonoff_T1_3ch, Mobotix QM25, robonect

farion

Zitat von: Alcamar am 01 August 2016, 08:57:16
vielleicht schieße ich mit meiner Frage knapp an diesem Thread vorbei, aber ich wüßte nicht wo ich das sonst platzieren könnte.

Wenn ich es auf dem Bild von farion richtig erkenne, dienen Batterien für die Stromversorgung. Die beschriebenen Garagentorantriebe liefern aber auch Strom. (z.B. für ein Taster zum Öffnen und Schließen der Garage) Ich meine 24V wären üblich. Könnte man diese Spannung nicht heruntertransformieren um das Relais zu betreiben und damit auf die Batterien zu verzichten? Ich kenne mich Strom nicht besonders gut aus. Aber die Spannung von 24 V auf die 9-15 V für das Relais zu reduzieren, sollte nicht so kompliziert sein, oder?

Ja, prinzipiell sollte das gehen. Mein Tor ist leider älter als ich und die Platine sieht abenteuerlich aus ... müsste so um 1975 gebaut worden sein. Ich habe bissel rumgemessen und ich würde 22,5V (glaube das wars) bekommen. Steht auch noch auf meiner Liste. Aktuell hängt das Ding ja auch noch am Originalschalter an der Wand und dort gibt es nur das Schaltkabel. Könnte man besser in das grosse Gehäuse einbauen und dann natürlich auch dort den Strom abgreifen.
Fhem5.8@Raspi3|~70xHomematic|KM271|1Wire|DoorPi mit DoorPiBoard|GarageDoorSingleButton|Graphite

farion

Habe ein Update in den ersten Post geladen.

@marvin78: Danke für den Hinweis mit NotifyFn.
@hyper2910 + @Gerhard: Damit löst sich euer Problem.

@hartenthaler: Der Befehl zum Triggern kann nun frei gewählt werden (der Name des close events auch)

@tagedieb: Du hast einen Knopf für hoch und einen für runter? Das macht die Situation eigentlich einfacher. Prinzipiell löst dieses Modul ja genau das Problem, dass man keine zwei Buttons hat. Aber grundsätzlich sollte das schon gehen. Wenn ich Muse habe schaue ich mal ob man das einbauen kann.
Zwei close devices ... meinst du ein open und ein close device? Also so dass der Status oben und unten jeweils per Sensor definiert wird? Das steht bei mir schon auf der Liste. Das hat den Vorteil, dass man nicht per Timer erkennen muss ob das Tor oben ist. Das ist leider nicht immer ganz genau, kostet aber einen Sensor mehr. Ich werde das aber in Zukunft so machen, das erscheint mir lohnenswert.
Fhem5.8@Raspi3|~70xHomematic|KM271|1Wire|DoorPi mit DoorPiBoard|GarageDoorSingleButton|Graphite

hartenthaler

Fein. Klappt soweit. Allerdings habe ich diverse Fehlermeldungen im Logfile

2016.12.01 18:12:30 1: PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_GarageDoorSingleButton.pm line 204, <$fh> line 566.
2016.12.01 18:12:30 1: PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_GarageDoorSingleButton.pm line 205, <$fh> line 566.
2016.12.01 18:12:30 1: PERL WARNING: Use of uninitialized value in division (/) at ./FHEM/98_GarageDoorSingleButton.pm line 206, <$fh> line 566.
2016.12.01 18:12:30 3: [GarageDoorSingleButton] Change state: Closed
2016.12.01 18:12:30 3: get Garagentorsensor param state : undefined
2016.12.01 18:12:30 1: PERL WARNING: Argument "close" isn't numeric in numeric ne (!=) at ./FHEM/98_GarageDoorSingleButton.pm line 311, <$fh> line 566.
2016.12.01 18:12:30 1: PERL WARNING: Argument "undefined" isn't numeric in numeric ne (!=) at ./FHEM/98_GarageDoorSingleButton.pm line 311, <$fh> line 566.


Hier die raw-Definition meiner Devices

defmod Garage GarageDoorSingleButton Garagentorsteuerung Garagentorsensor
attr Garage buttonTriggerCommand press
attr Garage devStateIcon offen:fts_garage_door_10@red geschlossen:fts_garage_door_100@green
attr Garage eventMap Open:offen Closed:geschlossen
attr Garage group Tür
attr Garage icon fts_garage
attr Garage room 42_Garage,Tür,Sicherheit
attr Garage totalTimeDown 12
attr Garage totalTimeUp 11

defmod Garagentorsteuerung CUL_HM 34xxxx
attr Garagentorsteuerung IODev HMLAN1
attr Garagentorsteuerung IOgrp VCCU:HMLAN1
attr Garagentorsteuerung autoReadReg 4_reqStatus
attr Garagentorsteuerung eventMap press:on
attr Garagentorsteuerung expert 2_raw
attr Garagentorsteuerung firmware 2.5
attr Garagentorsteuerung group Tür
attr Garagentorsteuerung model HM-LC-Sw1-Pl-CT-R1
attr Garagentorsteuerung peerIDs 00000000,34D9xxxx,
attr Garagentorsteuerung room 42_Garage,Homematic,Tür
attr Garagentorsteuerung serialNr MEQ184xxxx
attr Garagentorsteuerung subType switch
attr Garagentorsteuerung webCmd press

defmod Garagentorsensor CUL_HM 3Axxxx
attr Garagentorsensor userattr winOpenMaxTrigger winOpenTimer winOpenTimer2 winOpenType:Fenster,Tür winOpenName
attr Garagentorsensor IODev HMLAN1
attr Garagentorsensor IOgrp VCCU:HMLAN1
attr Garagentorsensor actCycle 028:00
attr Garagentorsensor actStatus unknown
attr Garagentorsensor autoReadReg 4_reqStatus
attr Garagentorsensor devStateIcon offen:fts_garage_door_10@red geschlossen:fts_garage_door_100@green
attr Garagentorsensor event-on-change-reading state
attr Garagentorsensor eventMap open:offen closed:geschlossen
attr Garagentorsensor expert 2_raw
attr Garagentorsensor firmware 1.5
attr Garagentorsensor fp_ae74_eg_nord 803,1316,1,Garage,
attr Garagentorsensor group Tür
attr Garagentorsensor icon fts_garage
attr Garagentorsensor model HM-SEC-TIS
attr Garagentorsensor room Tür,42_Garage,Homematic,Sicherheit
attr Garagentorsensor serialNr MEQ047xxxx
attr Garagentorsensor subType threeStateSensor
attr Garagentorsensor winOpenMaxTrigger 10
attr Garagentorsensor winOpenName Garagentor
attr Garagentorsensor winOpenTimer 00:00:30
attr Garagentorsensor winOpenTimer2 00:05:00
attr Garagentorsensor winOpenType Türe
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...