EnOcean-PTM-210-Taster: Unterschied zwischen den Versionen

Aus FHEMWiki
K (Aktualisierung)
K (→‎Einsatzbeispiel: -> notify (unötige Perl/FHEM-Ebenenwechsel entfernt))
Zeile 72: Zeile 72:


  define sDoppelklickB0 sequence Taster2:channelB:.B0 1 Taster2:channelB:.B0
  define sDoppelklickB0 sequence Taster2:channelB:.B0 1 Taster2:channelB:.B0
  define nDoppelklickB0 notify DoppelklickB0:trigger { fhem "set Lampe off" }
  define nDoppelklickB0 notify DoppelklickB0:trigger set Lampe off
  define wEinfachklickB0 watchdog Taster2:channelB:.B0 00:00:01 SAME set Lampe on;; trigger wEinfachklickB0 .
  define wEinfachklickB0 watchdog Taster2:channelB:.B0 00:00:01 SAME set Lampe on;; trigger wEinfachklickB0 .
  attr wEinfachklickB0 regexp1WontReactivate 1
  attr wEinfachklickB0 regexp1WontReactivate 1
Zeile 91: Zeile 91:
Gleichen Zweck erfüllt auch der Code für eine Tasterseite (BI)
Gleichen Zweck erfüllt auch der Code für eine Tasterseite (BI)


  define Schalter1BIlongclick notify Schalter1:BI { fhem "define Test at +00:00:01 set Alles off" }
  define Schalter1BIlongclick notify Schalter1:BI define Test at +00:00:01 set Alles off
  define sSchalter1BIlongclick sequence Schalter1:BI 1 Schalter1:buttons:.*released
  define sSchalter1BIlongclick sequence Schalter1:BI 1 Schalter1:buttons:.*released
  define nSchalter1BIlongclick notify sSchalter1BIlongclick:trigger { fhem "delete Test" }
  define nSchalter1BIlongclick notify sSchalter1BIlongclick:trigger delete Test


oder alternativ diese Variante mit Nutzung von <code>sequence</code> und dem Attribut <code>triggerPartial</code>
oder alternativ diese Variante mit Nutzung von <code>sequence</code> und dem Attribut <code>triggerPartial</code>

Version vom 1. April 2016, 07:39 Uhr

EnOcean-PTM-210-Taster
EnOcean Funktaster: Eltako FT55 (schwarz), in seine Einzelteile zerlegter Eltako F1FT65, links unten das PTM215
Allgemein
Protokoll EnOcean
Typ Sender, Sensor
Kategorie EnOcean
Technische Details
Kommunikation EnOcean Funk, 868Mhz
Kanäle 2
Betriebsspannung
Leistungsaufnahme
Versorgung Tastendruck
Abmessungen
Sonstiges
Modulname EnOcean
Hersteller EnOcean, diverse


EnOcean-PTM-210-Taster ist "das" batterielose Funkschaltmodul

  • für
    • Schalter/Taster und Fernbedienungen ohne Verschlüsselungsfunktion

Features

EnOcean-PTM-210-Taster

"Das" batterielose Funkschaltmodul, das in den Schaltern/Tastern oder Fernbedienungen ohne Verschlüsselungsfunktion von diversen Hersteller genutzt wird (z.b. Eltako FT4, FT55, Peha Easyclick-2-Kanal-Wandsender,...). Die Energie für das Funktelegramm wird durch den Tastendruck erzeugt. Das Funkmodul hat 2 Kanäle. Bei den Wandtastern wird durch Aufklicken von einer Einzelwippe daraus ein 1-kanaliger Einfach-Wandtaster bzw. durch Aufklicken von 2 Wippen ein 2-kanaliger Doppeltaster

EnOcean-PTM-215-Taster

wie PTM-210, jedoch zusätzlich mit zuschaltbarer verschlüsselter Datenübertragung, verbaut z.B. in Eltako 1FT65, FT55

Hinweise zum Betrieb mit Fhem

Definition/Anlernvorgang

Der Sensor wird bei Versand eines Telegramms vollständig von Fhem im learningMode erkannt. Definition in der Konfiguration erfolgt dann automatisch durch autocreate.

Anlernvorgang:

  1. Fhem in Lernmodus schalten: set <IODev> teach <time/s>
  2. Funktelegramm durch Druck auf eine Taste auslösen. Das Anlegen in der Konfiguration erfolgt dann automatisch per autocreate.

Besonderheiten bei verschlüsseltem PTM-215 über Eltako FAM14/FGW14

Ist FHEM über ein FGW14 an ein FAM14 angeschlossen und erhält darüber EnOcean-Funktelegramme, so ist eine ggf. aktivierte Verschlüsselung eines PTM-215 für FHEM grundsätzlich transparent (der Taster muss nach Anleitung im FAM14 eingelernt werden und funktioniert anschließend so, als wäre er nicht verschlüsselt). Damit die korrekten channelA- und B-Events erzeugt werden, sind aber nach dem automatischen Anlegen des Tasters durch FHEM noch folgende Schritte durchzuführen (PTM_215 ist im folgenden der Devicename des Tasters):

attr PTM_215 subType switch.7F
attr PTM_215 manufID 00D

Fhem Config-Auszug

Ein exemplarischer Auszug aus der Konfiguration:

define EnO_switch_FFC54500 EnOcean FFC54500                    <-- "FFC54500" ist die 8-stellige Hex-SenderID des Tasters
attr EnO_switch_FFC54500 IODev TCM310_0
attr EnO_switch_FFC54500 room EnOcean
attr EnO_switch_FFC54500 subType switch   

Logbeispiel

2014-01-01_07:00:01 EnO_switch_FFC54500 buttons: pressed
2014-01-01_07:00:01 EnO_switch_FFC54500 channelA: AI
2014-01-01_07:00:01 EnO_switch_FFC54500 AI
2014-01-01_07:00:02 EnO_switch_FFC54500 buttons: released
2014-01-01_07:00:03 EnO_switch_FFC54500 buttons: pressed
2014-01-01_07:00:03 EnO_switch_FFC54500 channelB: BI
2014-01-01_07:00:03 EnO_switch_FFC54500 BI
2014-01-01_07:00:03 EnO_switch_FFC54500 buttons: released

Einsatzbeispiel

Wie zu Anfang beschrieben, kann ein PTM-210/215 bis zu vier verschiedene Events erzeugen. Diese werden in FHEM als A0/AI (für die linke Tasterseite oben bzw. unten) und B0/BI (für die rechte Tasterseite oben bzw. unten) abgebildet. Um eine Lampe beim Betätigen des linken oberen Tasters einzuschalten, wäre also folgende Definition möglich:

define nLampeAn notify PTM_215:A0 set Lampe on

"Mehrfachklick"-Erkennung

Am 07.09.2014 wurde für das Kommando sequence das Attribut triggerPartial eingeführt. Damit kann ein Mehrfachklick erkannt und entsprechend der Klickanzahl eine unterschiedliches Szenario ausgeführt werden (Beitrag).

Bei einem Update-Stand von Fhem vor dem 08.09.2014 kann mit folgendem Code für eine Tasterseite (B0) ein Doppelklick erkannt werden:

define sDoppelklickB0 sequence Taster2:channelB:.B0 1 Taster2:channelB:.B0
define nDoppelklickB0 notify DoppelklickB0:trigger set Lampe off
define wEinfachklickB0 watchdog Taster2:channelB:.B0 00:00:01 SAME set Lampe on;; trigger wEinfachklickB0 .
attr wEinfachklickB0 regexp1WontReactivate 1

aus Beitrag

"Taste lange gedrückt" und "Taste kurz gedrückt" unterscheiden

Beide Tasterseiten (B0/BI) unterscheiden hiermit die Tastdauer (bei einem Einfachtaster):

define nklickdauer notify Taster:buttons:.released {\
my $start=time_str2num(ReadingsTimestamp("$NAME", "channelB", 0));;\
my $stop=time_str2num(ReadingsTimestamp("$NAME", "buttons", 0));;\
if (ReadingsVal("$NAME","channelB",0) eq "B0"){\
if ($stop-$start<=1) {fhem "set Raffstore 50"} else {fhem "set Raffstore 100"}}\
else {if ($stop-$start<=1) {fhem "set Raffstore 20"} else {fhem "set Raffstore 80"}}\
}

Gleichen Zweck erfüllt auch der Code für eine Tasterseite (BI)

define Schalter1BIlongclick notify Schalter1:BI define Test at +00:00:01 set Alles off
define sSchalter1BIlongclick sequence Schalter1:BI 1 Schalter1:buttons:.*released
define nSchalter1BIlongclick notify sSchalter1BIlongclick:trigger delete Test

oder alternativ diese Variante mit Nutzung von sequence und dem Attribut triggerPartial

define sKurzerLangerDruck sequence Taster:BI 0.5 Taster:buttons:.released
attr sKurzerLangerDruck triggerPartial 1
define nKurzerDruck notify sKurzerLangerDruck:trigger set Raffstore 100
define nLangerDruck notify sKurzerLangerDruck:partial_1 set Raffstore 50

aus Beitrag, der auch eine Variante für einen Doppeltaster enthält.

Ein weitergehendes Anwendungsbeispiel für eine indirekte Dimmersteuerung: Enocean Dimmer mit kurzem und langem Tastendruck ansteuern

Links

  • Datenblatt: PDF