HM-LC-Sw1-Ba-PCB als Taster bei Garagentor

Begonnen von cRossi, 14 August 2018, 14:02:57

Vorheriges Thema - Nächstes Thema

cRossi

Hallo zusammen,
auch ich bin Neuling in FHEM und diesem Forum, möchte mich aber gerne beteiligen, deshalb hier meine erste kleine Steuerung für die HomeMatic.

Hardware:
Meine Hardware sieht wie folgt aus:
Das Garagentor selber hat nur eine einfache Ein-Tasten-Steuerung:

  • Mal drücken: Tor geht auf oder zu
  • Mal drücken: Tor stoppt
  • Mal drücken: Tor fährt entgegengesetzt wieder zurück
Zur Steuerung habe ich den HM-LC-Sw1-Ba-PCB als CUL_HM-Taster für mein Garagentor gewählt. Weitere Hardware wie Neigungssensoren, Endlagen- oder Lichtschalter sowie ein zus. Relais zur Ansteuerung des Garagentormotors habe ich nicht verbaut.

Problem:
Der HM-LC-Sw1-Ba-PCB ist ein Ein-/Aus-Schalter (= Switch) und kein Taster (!) deshalb sind ein paar Änderungen notwendig wenn man nicht ständig manuell on-off drücken möchte um 1x drücken zu erzeugen...

Schön ware es gewesen wenn der on-for-timer funktioniert hätte, aber aus irgendeinem Grund hat sich dabei mein FHEM samt RasPi komplett aufgehängt. Es wurden wohl zu viele Steuerkommandos erzeugt da der Switch sich nicht mehr gemeldet hat.

Und da mir ein "Neues Modul für Ein-Knopf-Garagentor-Steuerungen" etwas zu aufwändig erschien habe ich eine andere Lösung gefunden.

Lösung:

       
  • Den zusammengebauten Bausatz HM-LC-Sw1-Ba-PCB mit einer 9V Block Batterie in ein kleines Gehäuse parallel zum Garagentortaster angeschlossen.
  • In FHEM den HM-LC-Sw1-Ba-PCB mittels set HM_xxxxxx hmPairForSec 120 als CUL_HM bekannt gemacht.
  • Die Einstellungen für den neuen Switch wie folgt geändert:

    aliasGaragentor
    event-on-changestate,tor
    defStateIcon{ if(ReadingsVal("HM_xxxxxx", "tor", "") eq "zu") {".*:fts_garage_door_100:on"} else {".*:fts_garage_door_10:on"} }
    userReadingstor
    webCmdon

  • Mittels setreading HM_xxxxxx tor auf ein neues Reading im neuen Switch angelegt.
  • Mittels define tor notify HM_xxxxxx {} ein neues Nofity angelegt. Den DEF-Code habe ich mit Absicht leer gelassen und anschließend direkt im Nofity wie folgt geändert:

HM_xxxxxx:.*set_on {
if (ReadingsVal("HM_xxxxxx", "tor", "") eq "zu") {
fhem "setreading HM_xxxxxx tor auf";
fhem "attr HM_xxxxxx cmdIcon on:black_down";
} else {   
fhem "setreading HM_xxxxxx tor zu";
fhem "attr HM_xxxxxx cmdIcon on:black_up";
}
fhem "set HM_xxxxxx off";
}


Nicht vergessen die Config noch speichern und Feddich  ;)

Anmerkungen:
HM_xxxxxx ist natürlich durch den richtigen Namen des HM-LC-Sw1-Ba-PCB in FHEM zu ersetzen.
- HM-MOD-RPI-PCB = HMUARTLGW
- HM-LC-Sw1-Ba-PCB = CUL_HM (= Switch / HM_xxxxxx)


Ergebnis:

  • Nun gibt es beim neu angelegten Switch nur noch einen Taster und ein Status-Icon.
  • Beim Klicken auf on wird das Tor aktiviert und das Nofity ausgeführt.
  • Das Nofity setzt zum einen das userReading "tor" auf den jeweils anderen Zustand "zu / auf" und setzt das cmdIcon für "up / down" sowie den Status des Switch wieder zurück auf "off" und ist somit wieder bereit für den nächsten Tastendruck.

Wichtig:
Die Ereignisse des Taster oder der Fernbedienung des Garagentor werden nicht (!) in FHEM bekannt gemacht. Insofern wird der Status des Tors (auf / zu) nur richtig angezeigt wenn über es FHEM angesteuert wird.

Viel Spaß
cRossi


[Edit:]
- HM_CUL durch CUL_HM ersetzt, war mein Schreibfehler
- Links auf commandref für Typen eingefügt
- "on-for-timer" Info ergänzt
RasPi 3B+
HM-MOD-RPI-PCB
FHEM

darkness

#1
Zitat von: cRossi am 14 August 2018, 14:02:57
Der HM-MOD-RPI-PCB ist ein Ein-/Aus-Schalter und kein Taster (!) deshalb sind ein paar Änderungen notwendig wenn man nicht ständig manuell on-off drücken möchte um 1x drücken zu erzeugen...

Ich finde es ja gut, wenn man mit Beispielen alles vereinfachen möchte. Aber dies hilft leider nicht weiter :(
Das soll wohl eher HM-LC-Sw1-Ba-PCB heißen.

Und wenn du set on-for-timer verwendest, brauchst du dich nicht ums ausschalten zu kümmern.

Edit:

Sehe ich gerade:
Zitat HM_CUL

Was? Du bringst glaube ich einiges durcheinander.

cRossi

#2
ZitatAber dies hilft leider nicht weiter
Was hilft denn nicht weiter?
Wäre schön wenn ich dann wenigstens ein vollständiges (!) Gegenbeispiel bekommen würde, als nur Vorwürfe.

ZitatDu bringst glaube ich einiges durcheinander.
Ich glaube nicht, denn
1. ist der HM-MOD-RPI-PCB auf dem RasPi und ist der CCU der Homatic ohne den nichts geht und deshalb unter Hardware erwähnt,
2. ist der HM-LC-Sw1-Ba-PCB ja als Taster zur Steuerung beschrieben,
3. funktioniert "set on-for-timer" nicht bei dem Taster (jedenfalls bei mir nicht, da hat FHEM ständig gefunkt und sich aufgehängt, alles schon probiert),
4. ist der HM-LC-Sw1-Ba-PCB als CUL_HM in FHEM definiert, und bevor es weitergeht
5. ist HM-MOD-RPI-PCB als HMUARTLGW definiert.

Ja habe einen Buchstabendreher drin gehabt, es heißt CUL_HM und nicht HM_CUL, danke.

Ja vllt. ist einiges nicht ganz sauber beschrieben aber btw das Forum ist zwar ganz nett, aber was ich bisher gesehen und gelesen haben hilft in vielen Fällen nicht wirklich weiter es sei denn man steckt schon tiefer drin dem ganzen.

Einfache Beispiele und Erklärungen fehlen, das Wiki hilft da auch nur bedingt und die Command.ref ist eine Katastrophe im Sinne einer Doku und Beschreibung. Sorry da bin ich anderes gewohnt wenn man programmieren möchte - und ich weiß Perl ist eine Script-Sprache(?).

Wenn es nicht gefällt dann bitte ignorieren, wenn etwas falsch ist bitte richtig stellen, aber solche Kommentare machen das Forum für Einsteiger die nur etwas suchen wollen mMn unbrauchbar, oder ist das der Zweck?



Und danke wie freundlich man hier aufgenommen wird, da macht es echt Spaß weitere Infos preis zugeben und anderen zu helfen.
RasPi 3B+
HM-MOD-RPI-PCB
FHEM

darkness

Zitat von: cRossi am 14 August 2018, 15:20:23
Was hilft denn nicht weiter?
Wäre schön wenn ich dann wenigstens ein vollständiges (!) Gegenbeispiel bekommen würde, als nur Vorwürfe.

Nö, dann hätte ich es auch gleich schreiben können.

ZitatDer HM-MOD-RPI-PCB ist ein Ein-/Aus-Schalter und kein Taster (!)
Was soll ich noch sagen?

Zitatfunktioniert "set on-for-timer" nicht bei dem Taster
Was für ein Taster? HM-LC-Sw1-Ba-PCB ist ein Switch. Funktioniert hier super.

Zitatist der HM-LC-Sw1-Ba-PCB als HM_CUL in FHEM definiert, und bevor es weitergeht
Komisch. Bei mir ist es im Raum HM_CUL als Switch definiert.
Zitat
Und danke wie freundlich man hier aufgenommen wird, da macht es echt Spaß weitere Infos preis zugeben und anderen zu helfen.
Was erwartest du? Blumen und ne Tafel Schokolade? Habe doch gar nichts gesagt... Wollte dich nur auf Fehler hinweisen.

Zitat
Wenn es nicht gefällt dann bitte ignorieren

Ok.




cRossi

Zitat von: darkness am 14 August 2018, 15:29:47
Nö, dann hätte ich es auch gleich schreiben können.
Was soll ich noch sagen?
Was für ein Taster? HM-LC-Sw1-Ba-PCB ist ein Switch. Funktioniert hier super.
Komisch. Bei mir ist es im Raum HM_CUL als Switch definiert.Was erwartest du? Blumen und ne Tafel Schokolade? Habe doch gar nichts gesagt... Wollte dich nur auf Fehler hinweisen.

Ok.

Was für eine Hilfe von den großen Meistern die alles wissen aber davon nix teilen wollen...
RasPi 3B+
HM-MOD-RPI-PCB
FHEM

darkness

Was genau erwartest du denn? Ich habe dich auf Fehler und falschen Begriffen in deinem Code hingewiesen.
Das scheint dich aber nicht zu interessieren. Soll ich dir jetzt eine Klickanleitung schreiben?

Ohne sich mit der Materie zu beschäftigen geht es nun mal nicht.

ZitatWas für eine Hilfe von den großen Meistern die alles wissen aber davon nix teilen wollen...

Außer mir hat keiner geantwortet und ich bin mit Sicherheit kein "Meister". Warum bekommen jetzt alle was ab?


Also, schau dir noch mal deinen Code an.

ZitatDer HM-MOD-RPI-PCB ist ein Ein-/Aus-Schalter und kein Taster (!)

HM-MOD-RPI-PCB  =  Gateway
HM-LC-Sw1-Ba-PCB  = Switch

nur als Beispiel.

cRossi

Ah jetzt sehe ich wo du warst, unter "Problem" hatte ich die falsche Bezeichnung geschrieben (besser gesagt kopiert), das hab ich korrigiert, danke.
Sorry die ganzen Buchstabenkürzel machen zwar Sinn, lassen sich aber nicht immer gleich verdauen bzw. sind leicht zu verwechseln.
Ich dachte du meinst die erste Zeile wo der HM-MOD-RPI-PCB der Vollständigkeit halber erwähnt war.

Den Raum "HM_CUL" habe ich auch nicht mehr, da meine Geräte alle in einem anderen Raum hängen.
Eigentlich wollte ich hier nur die FHEM-Typen der Bausteine klar stellen:
- HM-MOD-RPI-PCB = HMUARTLGW
- HM-LC-Sw1-Ba-PCB = CUL_HM
Auch das habe ich korrigiert, danke.

In den letzten 2 Tagen war ich nur hier im Forum, dem Wiki und der Doku unterwegs und habe nicht wirklich was brauchbares gefunden. Überall sind immer nur so Schnipsel ohne wirklich durchgängige Beispiele. Man weiß gar nicht recht nach was man wie suchen sollte um sein Problem gelöst zu bekommen. Das frustriert einen irgendwie.

Und wenn man mal versucht was durchgängiges zu beschreiben und gleich einen auf den Deckel bekommt macht das noch weniger Spaß.
Da hätte ich mir etwas mehr Hilfestellung erhofft, als nur "da hast du was falsch verstanden", "das hilft nicht weiter" und "arbeite dich mal ein".  :-\

Das mit dem "set on-for-timer" wäre eigentlich auch meine präferierte Lösung gewesen, aber da hat sich mein FHEM samt RasPi immer gleich ganz aufgehängt da das (warum auch immer) irgendwie in einer Endlosschleife geendet ist.


Ja eine Klickanleitung wäre schön...  ::)  ;)

Und ja, einen Lutscher, Schokolade oder Blumen nehme ich auch. :P

RasPi 3B+
HM-MOD-RPI-PCB
FHEM

Benni

Hallo,

ich habe bei mir eine Gragentorsteuerung, die nach dem selben Einknopf-Prinzip mit einem HM-LC-SW1-BA-PCB seit Jahren Problemlos ihren Dienst tut.

Bei mir läuft das ganz einfach über die on-for-timer Funktion des Aktors:
   
set swGaragentor on-for-timer 0.5

(statt swGaragentor musst du natürlich den Namen deines HM-LC-SW1-BA-PCB einsetzen)

Noch ein Tipp, meine Garagentorsteuerung hat einen 24V-Ausgang, dort kann man den HM-LC-SW1-BA-PCB über ein entsprechendes Stepdown-Modul (Bspw. 24V auf 9V) direkt mit Strom versorgen.

gb#