FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Jogi am 21 Januar 2017, 12:26:24

Titel: Taster soll Lampe einschalten und ausschalten - ich krieg´s nicht hin
Beitrag von: Jogi am 21 Januar 2017, 12:26:24
Hallo zusammen,
manchmal steht man auf dem Schlauch.
Eigentlich will ich was ganz einfaches:
Ein an GPIO21 angeschlossener Taster soll ein Lampe schalten. Beim ersten drücken geht die Lampe an, beim nächsten drücken geht die Lampe aus, usw. Ich dachte eigentlich, das sei total einfach und mit dem Befehl:
define n_Test notify Eingang21:on set Tastlampe toggle
realisierbar. Aber das funktioniert nicht.
Was mache ich falsch?
Titel: Antw:Taster soll Lampe einschalten und ausschalten - ich krieg´s nicht hin
Beitrag von: Wuehler am 21 Januar 2017, 13:07:51
Hallo,

Ein wenig geraten aber ich denke, dass das Event nicht jedesmal :on ist. Hast du mal im Eventmonitor geschaut? Ist da evtl. kein Doppelpunkt oder kommt beim zweiten Mal ein off?
Titel: Antw:Taster soll Lampe einschalten und ausschalten - ich krieg´s nicht hin
Beitrag von: Otto123 am 21 Januar 2017, 13:38:27
Der Taster könnte prellen!? Bei gerade Anzahl geht es schief, bei ungerade Anzahl geht es gut.
Titel: Antw:Taster soll Lampe einschalten und ausschalten - ich krieg´s nicht hin
Beitrag von: Zrrronggg! am 21 Januar 2017, 19:21:36
Genau: Erst Frage: Was sendet der Taster beim drücken? Sendet er auch was beim loslassen un wen ja was? Was beim nächsten Drücken?

Und prellen hab ich auch mit einem Taster der an einem FS20 S4M 2-/4-Kanal-Sendemodul angeschlossen ist.
Kann man versuchen mit attr aktor event-min-interval on:2 oder so zu lösen
Titel: Antw:Taster soll Lampe einschalten und ausschalten - ich krieg´s nicht hin
Beitrag von: Puschel74 am 21 Januar 2017, 20:22:09
Wie immer würde ein Blick in den EventMonitor das Rätsel lösen.
Warum aber auch niemand meinen angepinnten Beitrag liest - oder versteht (ist er zu schwer geschrieben?).
Angeklickt wird er ja.
Titel: Antw:Taster soll Lampe einschalten und ausschalten - ich krieg´s nicht hin
Beitrag von: Jogi am 22 Januar 2017, 12:29:27
Hallo zusammen,
ich bedanke mich für Eure Mühe, aber sorry, manches verstehe ich nicht. Das ist doch ein Anfängerforum. Was ist "prellen"?
Ich kennen das nur aus der Kneipe ;-)))

Ich habe einen ganz normalen Taster: Kontakt geschlossen beim drücken, offen beim loslassen.

Ist der Befehl: define n_Test notify Eingang21:on set Tastlampe toggle
grundsätzlich richtig?

Sorry, wenn ich "doofe" Fragen stelle, aber als ANFÄNGER muss man doch irgendwie anfangen. Und trotz vielem Lesen und recherchieren erschliesst sich nicht alles.

Titel: Antw:Taster soll Lampe einschalten und ausschalten - ich krieg´s nicht hin
Beitrag von: Otto123 am 22 Januar 2017, 12:47:27
Zitat von: Jogi am 22 Januar 2017, 12:29:27
Hallo zusammen,
ich bedanke mich für Eure Mühe, aber sorry, manches verstehe ich nicht. Das ist doch ein Anfängerforum. Was ist "prellen"?
Hi,

Kontakte bestehen Federn, die Berührung ist nie ideal und einmalig. Alles führt dabei Schwingungen aus.Der Kontakt wird zwar von Dir einmal gedrückt, er selbst bringt aber im millisec Bereich mehrere Berührungen.  Dies nennt man Prellen.

Hast Du Dir es mal im Eventmonitor angeschaut?

Gruß Otto
Titel: Antw:Taster soll Lampe einschalten und ausschalten - ich krieg´s nicht hin
Beitrag von: Zrrronggg! am 23 Januar 2017, 00:47:49
ZitatIch habe einen ganz normalen Taster: Kontakt geschlossen beim drücken, offen beim loslassen.

Entschuldige bitte, aber das ist zu kurz gedacht.

Mechanisch mag das sein. Aber du kannst den Taster ja nicht direkt abfragen. Da ist ja eine Mimik hinter, die aus Tastendrücken FHEM Events macht. Diese Teil heisst in deinem Fall "GPIO21" bzw das Softwaremodul die aus den an der GPIO21 gemessenn Eriegnissen FHEM Events macht. Ich weiss auswendig noch nicht mal welche Singalisierung das GPIO21 aus Tastendrücken macht, geschweige denn wie das in FHEM aussieht.

Also WELCHE Zustände werden erzeugt? Es gibt z.b. HW Module für FS20, die erzeugen den ON Event, wenn man die Taste LOSLÄSST.
Und erzeugt das Dingen beim Drücken der Taste ON und beim loslassen der Taste NICHTS? Oder beim Loslassen der Taste OFF? Oder beim ersten Mal drücken ON und beim zweiten Mal OFF? Oder bei jedem Drücken TOGGLE? Oder beim Drücken wegen "prellen" 5x ON? Oder: Normale HM und FS20 Devices erzeugen einen DIM Befehl, wenn man die Taste länger als 0,4 Sekunden drückt.

Und so weiter und so focht...

Das alles kann man im Eventmonitor oder im Logfile sehen. Taste drücken und sehen was dort als Event für Eingang21 erzeugt wird.

ZitatIst der Befehl: define n_Test notify Eingang21:on set Tastlampe toggle
grundsätzlich richtig?

FALLS Eingang21 mit jedem Drücken der Taste nur EIN Event erzeugt, das "on" heisst ... ja.

Grundsätzlich kann man auch mal folgendes versuchen:

define n_Test notify Eingang21 set Tastlampe toggle

Dann geht die Lampe an/aus, EGAL was genau Eingang21 sendet.
Titel: Antw:Taster soll Lampe einschalten und ausschalten - ich krieg´s nicht hin
Beitrag von: Jogi am 23 Januar 2017, 13:15:30
Alles klar, da habe ich tatsächlich etwas zu einfach gedacht.
Das ist das Ergebnis aus dem Eventmonitor:
2017-01-23 13:13:23 RPI_GPIO Relais_1 on
2017-01-23 13:13:23 RPI_GPIO Relais_1 on
2017-01-23 13:13:23 dummy GPIOStatus on
2017-01-23 13:13:23 RPI_GPIO Eingang21 Pinlevel: high
2017-01-23 13:13:23 RPI_GPIO Eingang21 on
2017-01-23 13:13:23 RPI_GPIO Eingang21 Dblclick: off
2017-01-23 13:13:23 dummy GPIOStatus off-for-timer 1
2017-01-23 13:13:23 RPI_GPIO Eingang21 Pinlevel: low
2017-01-23 13:13:23 RPI_GPIO Eingang21 off
2017-01-23 13:13:23 RPI_GPIO Eingang21 Longpress: off
2017-01-23 13:13:23 RPI_GPIO Relais_1 off

Ne Menge Zeug.
Da muss ich wohl noch etwas basteln.

Vielen Dank für Eure Infos.
Titel: Antw:Taster soll Lampe einschalten und ausschalten - ich krieg´s nicht hin
Beitrag von: Otto123 am 23 Januar 2017, 13:36:52
Hi Jogi,

versuche -> define n_Test notify Eingang21:on sleep 0.2;;set Tastlampe toggle
Und lerne bitte Codetags -> die # taste über dem Smily  :-X

Ich würde allerdings erst den Taster entprellen und dann weiterverarbeiten.  Das RPI_GPIO MOdul  (https://fhem.de/commandref_DE.html#RPI_GPIO)enthält doch alles - Stichwort attr <> debounce ...

Gruß Otto
Titel: Antw:Taster soll Lampe einschalten und ausschalten - ich krieg´s nicht hin
Beitrag von: automatisierer am 23 Januar 2017, 14:03:43
Zitat von: Jogi am 23 Januar 2017, 13:15:30

Ne Menge Zeug.
Da muss ich wohl noch etwas basteln.

Vielen Dank für Eure Infos.

nö, das ist durchaus normal!

wäre noch interessant zu wissen, was das nun war... 1 Tastendruck kurz und einer lang oder nur einer kurz oder nur einer lang oder was auch immer... wenn du mehrmals drückst, dann lass da mehr Zeit zwischen, damit du die Events den entsprechenden Tastendrücken zuweisen kannst. dann könntest du noch das att global msecog 1 einschalten, dann stehen hinter der Event-Zeit noch Millisekunden, somit kann man dann auch besser sehen wie die Events zusammen hängen...