Taster soll Lampe einschalten und ausschalten - ich krieg´s nicht hin

Begonnen von Jogi, 21 Januar 2017, 12:26:24

Vorheriges Thema - Nächstes Thema

Jogi

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?

Wuehler

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?

Otto123

Der Taster könnte prellen!? Bei gerade Anzahl geht es schief, bei ungerade Anzahl geht es gut.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Zrrronggg!

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
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Puschel74

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.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Jogi

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.


Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Zrrronggg!

#7
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.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Jogi

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.

Otto123

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 enthält doch alles - Stichwort attr <> debounce ...

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

automatisierer

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...