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

Aus FHEMWiki
K (Einführung Attr triggerPartial bei sequence eingearbeitet)
(FHEM(TM))
 
(12 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 21: Zeile 21:
== Features ==
== Features ==
=== EnOcean-PTM-210-Taster ===
=== 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
"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, AWAG Omnio Wandsender WS-CH-102...). 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 ===
=== EnOcean-PTM-215-Taster ===
wie PTM-210, jedoch zusätzlich mit zuschaltbarer verschlüsselter Datenübertragung, verbaut z.B. in Eltako 1FT65, FT55
wie PTM-210, jedoch zusätzlich mit zuschaltbarer verschlüsselter Datenübertragung, verbaut z.B. in Eltako 1FT65, FT55
== Hinweise zum Betrieb mit Fhem ==
== Hinweise zum Betrieb mit FHEM ==
=== Definition/Anlernvorgang ===
=== Definition/Anlernvorgang ===
Der Sensor wird bei Versand des Anlerntelegramms vollständig von Fhem erkannt. Anlegen in fhem.cfg erfolgt dann automatisch per autocreate.
Der Sensor wird bei Versand eines Telegramms vollständig von FHEM im <code>learningMode</code> erkannt. Definition in der Konfiguration erfolgt dann automatisch durch autocreate.


=== Fhem Config-Auszug ===
Anlernvorgang:
Ein exemplarischer Auszug aus der [[Konfiguration|fhem.cfg]]:
# FHEM in Lernmodus schalten: <code><nowiki>set <IODev> teach <time/s></nowiki></code>
# 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):
<pre>
attr PTM_215 subType switch.7F
attr PTM_215 manufID 00D
</pre>
 
=== FHEM Config-Auszug ===
Ein exemplarischer Auszug aus der [[Konfiguration]]:
<pre>
<pre>
define EnO_switch_FFC54500 EnOcean FFC54500                    <-- "FFC54500" ist die 8-stellige Hex-SenderID des Tasters
define EnO_switch_FFC54500 EnOcean FFC54500                    <-- "FFC54500" ist die 8-stellige Hex-SenderID des Tasters
Zeile 46: Zeile 57:
2014-01-01_07:00:03 EnO_switch_FFC54500 channelB: BI
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 BI
2014-01-01_07:00:04 EnO_switch_FFC54500 buttons: released
2014-01-01_07:00:03 EnO_switch_FFC54500 buttons: released
</pre>
</pre>


== Einsatzbeispiel ==
== 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:
<pre>
define nLampeAn notify PTM_215:A0 set Lampe on
</pre>
=== "Mehrfachklick"-Erkennung ===
=== "Mehrfachklick"-Erkennung ===
Am 07.09.2014 wurde für das Kommando <code>sequence</code> das Attribut <code>triggerPartial</code> eingeführt. Damit kann ein Mehrfachklick erkannt und entsprechend der Klickanzahl eine unterschiedliches Szenario ausgeführt werden ({{Link2Forum|Topic=26772|Message=198050}}).  
Am 07.09.2014 wurde für das Kommando <code>sequence</code> das Attribut <code>triggerPartial</code> eingeführt. Damit kann ein Mehrfachklick erkannt und entsprechend der Klickanzahl eine unterschiedliches Szenario ausgeführt werden ({{Link2Forum|Topic=26772|Message=198050}}).  
 
Bei einem Update-Stand von Fhem vor dem 08.09.2014 kann mit folgendem Code für eine Tasterseite (B0) ein Doppelklick erkannt werden:
{{Randnotiz|RNTyp=Fehl|RNText=Die alte Lösungsvariante mit <code>watchdog</code> funktioniert seit Update-Stand 10.11.2016 nicht mehr. Bitte auf die neuere und einfachere Lösungsvariante <code>sequence</code> unter Nutzung des Attribut <code>triggerPartial</code> umstellen!}}
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 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


aus {{Link2Forum|Topic=22289|Message=186698}}
aus {{Link2Forum|Topic=22289|Message=186698}}
=== "Taste lange gedrückt" und "Taste kurz gedrückt" unterscheiden ===
=== "Taste lange gedrückt" und "Taste kurz gedrückt" unterscheiden ===


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


  define nklickdauer notify Taster:buttons:.released {\
  define nklickdauer notify Taster:buttons:.released {\
Zeile 75: Zeile 93:
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>
 
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 {{Link2Forum|Topic=22289|Message=186698}}, 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|Enocean Dimmer  mit kurzem und langem Tastendruck ansteuern]]


aus {{Link2Forum|Topic=22289|Message=186698}}
== Links ==
== Links ==
* Datenblatt: [http://www.enocean.com/de/enocean_module/ptm-210-data-sheet-pdf/ PDF]
* Datenblatt: [http://www.enocean.com/de/enocean_module/ptm-210-data-sheet-pdf/ PDF]

Aktuelle Version vom 20. Januar 2017, 11: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, AWAG Omnio Wandsender WS-CH-102...). 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).

X mark.svgDie alte Lösungsvariante mit watchdog funktioniert seit Update-Stand 10.11.2016 nicht mehr. Bitte auf die neuere und einfachere Lösungsvariante sequence unter Nutzung des Attribut triggerPartial umstellen!

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