HM-Sec-SCo Tür-Fensterkontakt, optisch: Unterschied zwischen den Versionen

Aus FHEMWiki
K (Ph1959de verschob die Seite HM-SEC-SCo Tür-Fensterkontakt, optisch nach HM-Sec-SCo Tür-Fensterkontakt, optisch, ohne dabei eine Weiterleitung anzulegen: Verschiebung auf korrekte Schreibweise)
(Info zum Bausatz eingefügt, etc.)
Zeile 11: Zeile 11:
|HWPoweredBy=Batterie (1x 1,5V LR03/Micro/AAA)
|HWPoweredBy=Batterie (1x 1,5V LR03/Micro/AAA)
|HWSize=15x100x18mm
|HWSize=15x100x18mm
|HWDeviceFHEM=[http://fhem.de/commandref.html#CUL_HM CUL_HM]
|HWDeviceFHEM=[[CUL_HM]]
|HWManufacturer=ELV / eQ-3
|HWManufacturer=ELV / eQ-3
}}
}}
Zeile 19: Zeile 19:


== Hinweis ==
== Hinweis ==
Das meiste zum [[HM-SEC-SC Tür-Fensterkontakt|HM-SEC-SC]] Beschriebene zur Nutzung gilt auch für den HM-SEC-SCo.
Das meiste zum [[HM-SEC-SC Tür-Fensterkontakt|HM-SEC-SC]] Beschriebene zur Nutzung gilt auch für den HM-Sec-SCo.


Wird mit aktiviertem [[AES Encryption|AES]] ausgeliefert und kann nur mit Gateways, die AES unterstützen, gepaired werden ([[HM-CFG-USB USB Konfigurations-Adapter|HM-LAN-CFG]], [[HM-CFG-LAN LAN Konfigurations-Adapter|HM-USB-CFG]] und [[CUL]] (seit Juli 2015)).
Wird mit aktiviertem [[AES Encryption|AES]] ausgeliefert und kann nur mit Gateways, die AES unterstützen, gepaired werden ([[HM-CFG-USB USB Konfigurations-Adapter|HM-LAN-CFG]], [[HM-CFG-LAN LAN Konfigurations-Adapter|HM-USB-CFG]] und [[CUL]] (seit Juli 2015)).


Mindestens bei Benutzung mit einem CUL (vermutlich auch via HM-CFG-USB und HM-CFG-LAN) muss FHEM auf das Perl-Modul Crypt::Rijndael zugreifen können. Wenn es nicht zur Verfügung steht, bleibt das Pairing unvollständig. Siehe auch [[AES_Encryption#IO_.3C-.3E_Ger.C3.A4t|den Abschnitt über AES-Encryption zwischen IO-Device und Gerät]].
Mindestens bei Benutzung mit einem CUL (vermutlich auch via HM-CFG-USB und HM-CFG-LAN) muss FHEM auf das Perl-Modul Crypt::Rijndael zugreifen können. Wenn es nicht zur Verfügung steht, bleibt das Pairing unvollständig. Siehe auch [[AES_Encryption#IO <-> Gerät|den Abschnitt über AES-Encryption zwischen IO-Device und Gerät]].


== Betrieb mit FHEM ==
== Betrieb mit FHEM ==
{{Randnotiz|RNText='''Info zum Bausatz'''
Das Gerät ist als Bausatz verfügbar, es sind nur
* das Funkmodul mit einer 8-poligen Stiftleiste
* der Batteriekontakt (Minuspol) mit einem kurzen Drahtstück
an der Basisplatine anzulöten.
Zu beachten ist noch, dass die Antenne '''vor''' dem Auflöten des Funkmoduls durch das markierte Loch der Basisplatine geführt werden muss.
[[Datei:HM-Sec-SCo_Basisplatine.jpg|mini|250px|Markiert: Antennendurchführung (1), Batterieanschluss (2), sehr schmaler Platinensteg (3)]]
Die fertig montierte Platine muss sich leicht in das Gehäuse einsetzen lassen, anderenfalls wird der schmale Platinensteg u.U. zu stark belastet und kann brechen!
'''Bauzeit''': <&nbsp;15&nbsp;Minuten
}}
=== Event-Monitor ===
=== Event-Monitor ===
Wird z. B. das Fenster geöffnet, wird Folgendes vom Gerät übermittelt:
Wird z. B. das Fenster geöffnet, wird Folgendes vom Gerät übermittelt:
Zeile 45: Zeile 55:
</pre>
</pre>


=== fhem.cfg ===
=== Konfiguration ===
Bei eingeschaltetem Autocreate werden die erforderlichen Definitionen beim Pairen selbstständig erstellt.
Bei eingeschaltetem [[autocreate]] werden die erforderlichen Definitionen beim Pairen selbstständig erstellt.


<pre>
<pre>
Zeile 63: Zeile 73:
</pre>
</pre>


== Beispiele ==
=== Aktionen durchführen, wenn Fenster zu lange geöffnet ist ===
=== Aktionen durchführen, wenn Fenster zu lange geöffnet ist ===
Mit der nachfolgenden DOIF-Definition wird ein Log-Eintrag erzeugt, eine Meldung auf der [[Enigma2 Receiver (Dreambox, VUplus etc.) steuern|Dreambox]] angezeigt, falls diese angeschaltet ist, und eine Nachricht per Prowl (funktioniert vermutlich nur unter Linux) verschickt.
Mit der nachfolgenden [[DOIF]]-Definition wird ein [[FileLog|Log]]-Eintrag erzeugt, eine Meldung auf der [[Enigma2 Receiver (Dreambox, VUplus etc.) steuern|Dreambox]] angezeigt, falls diese angeschaltet ist, und eine Nachricht per Prowl (funktioniert vermutlich nur unter Linux) verschickt.


Der Code ist hier so angegeben, wie er in der Weboberfläche nach einem Klick auf das [[Konfiguration|DEF-Feld]] übernommen werden kann. Das DOIF ist vorab zu definieren, zum Beispiel mit:
Der Code ist hier so angegeben, wie er in der Weboberfläche nach einem Klick auf das [[Konfiguration|DEF-Feld]] übernommen werden kann. Das DOIF ist vorab zu definieren, zum Beispiel mit:
:<code>def DOIF_FensterOffenMsg DOIF ([HM_Fensterstatus_BadEG])</code>
:<code>def DOIF_FensterOffenMsg DOIF ([HM_Fensterstatus_BadEG])</code>
 
und kann dann anschließend in den Device-Details vervollständigt werden:
<pre>
<source lang="perl">
([HM_Fensterstatus_BadEG] eq "open") ({
([HM_Fensterstatus_BadEG] eq "open") ({
       Log 1, "Fenster seit mehr als 2 Stunden (7200 Sekunden) offen";;
       Log 1, "Fenster seit mehr als 2 Stunden (7200 Sekunden) offen";;
Zeile 76: Zeile 87:
       })
       })
DOELSE
DOELSE
</pre>
</source>


Damit der Code-Block erst nach 7200 Sekunden getriggert wird, ist noch Folgendes auszuführen:
Damit der Code-Block erst nach 7200 Sekunden getriggert wird, ist noch Folgendes auszuführen:
Zeile 83: Zeile 94:


=== Anzeige des Zeitpunkts der letzten Öffnung im STATE ===
=== Anzeige des Zeitpunkts der letzten Öffnung im STATE ===
Das Reading ''contact'' beinhaltet die Zustände ''open'' und ''closed''. Und der Zeitstempel der Änderung wird regelmäßig aktualisiert. Aus diesem Grund fällt die Nutzung des Attributs ''showtime'' hier weg. Wenigstens, wenn man nicht den Zeitpunkt des letzten Auslesens wissen will, sondern den, der letzten Öffnung.
Das Reading ''contact'' beinhaltet die Zustände ''open'' und ''closed''. Und der Zeitstempel der Änderung wird regelmäßig aktualisiert. Aus diesem Grund fällt die Nutzung des Attributs ''showtime'' hier weg. Wenigstens, wenn man nicht den Zeitpunkt des letzten Auslesens wissen will, sondern den der letzten Öffnung.


Folgende Schreibweise ermöglicht es, dass im STATE-Internal der Zeitpunkt des letzten ''open'' verleibt (zum Übernehmen als Einzeler kopieren):
Folgende Schreibweise ermöglicht es, dass im STATE-Internal der Zeitpunkt des letzten ''open'' verbleibt (zum Übernehmen als Einzeler kopieren):
:<code><nowiki>attr Sensor stateFormat {if (ReadingsVal("Sensor","contact","") =~ "open.*") {"open " . ReadingsTimestamp("Sensor","contact","")} else {InternalVal("Sensor","STATE","")}}</nowiki></code>
:<code><nowiki>attr Sensor stateFormat {if (ReadingsVal("Sensor","contact","") =~ "open.*") {"open " . ReadingsTimestamp("Sensor","contact","")} else {InternalVal("Sensor","STATE","")}}</nowiki></code>



Version vom 13. März 2016, 15:00 Uhr

HM-Sec-SCo Tür-Fensterkontakt, optisch
HomeMatic Tür-Fensterkontakt, optisch
Allgemein
Protokoll HomeMatic
Typ Sensor
Kategorie HomeMatic
Technische Details
Kommunikation 868MHz
Kanäle 1
Betriebsspannung 1,5 V DC
Leistungsaufnahme max. 100 mA
Versorgung Batterie (1x 1,5V LR03/Micro/AAA)
Abmessungen 15x100x18mm
Sonstiges
Modulname CUL_HM
Hersteller ELV / eQ-3


Features

HomeMatic Funk-Tür-/Fensterkontakt zur optischen Erkennung von Tür- bzw. Fensteröffnungen oder -schließungen, z.B. zur Sicherheit oder um automatisch, bei vorhandenem HM-CC-RT-DN, die Heizung herunter zu regeln, sobald ein Fenster oder eine Tür geöffnet wird.

Hinweis

Das meiste zum HM-SEC-SC Beschriebene zur Nutzung gilt auch für den HM-Sec-SCo.

Wird mit aktiviertem AES ausgeliefert und kann nur mit Gateways, die AES unterstützen, gepaired werden (HM-LAN-CFG, HM-USB-CFG und CUL (seit Juli 2015)).

Mindestens bei Benutzung mit einem CUL (vermutlich auch via HM-CFG-USB und HM-CFG-LAN) muss FHEM auf das Perl-Modul Crypt::Rijndael zugreifen können. Wenn es nicht zur Verfügung steht, bleibt das Pairing unvollständig. Siehe auch den Abschnitt über AES-Encryption zwischen IO-Device und Gerät.

Betrieb mit FHEM

Info green.pngInfo zum Bausatz

Das Gerät ist als Bausatz verfügbar, es sind nur

  • das Funkmodul mit einer 8-poligen Stiftleiste
  • der Batteriekontakt (Minuspol) mit einem kurzen Drahtstück

an der Basisplatine anzulöten. Zu beachten ist noch, dass die Antenne vor dem Auflöten des Funkmoduls durch das markierte Loch der Basisplatine geführt werden muss.

Markiert: Antennendurchführung (1), Batterieanschluss (2), sehr schmaler Platinensteg (3)

Die fertig montierte Platine muss sich leicht in das Gehäuse einsetzen lassen, anderenfalls wird der schmale Platinensteg u.U. zu stark belastet und kann brechen!

Bauzeit: < 15 Minuten

Event-Monitor

Wird z. B. das Fenster geöffnet, wird Folgendes vom Gerät übermittelt:

2015-02-08 20:04:24 CUL_HM HM_Fensterstatus_BadEG trigger_cnt: 11
2015-02-08 20:04:24 CUL_HM HM_Fensterstatus_BadEG trigDst_2573FB: noConfig
2015-02-08 20:04:24 CUL_HM HM_Fensterstatus_BadEG battery: ok
2015-02-08 20:04:24 CUL_HM HM_Fensterstatus_BadEG open
2015-02-08 20:04:24 CUL_HM HM_Fensterstatus_BadEG contact: open (to MyHMLAN)

Beim Schließen wird Folgendes übermittelt:

2015-02-08 20:04:31 CUL_HM HM_Fensterstatus_BadEG trigger_cnt: 12
2015-02-08 20:04:31 CUL_HM HM_Fensterstatus_BadEG trigDst_2573FB: noConfig
2015-02-08 20:04:31 CUL_HM HM_Fensterstatus_BadEG battery: ok
2015-02-08 20:04:31 CUL_HM HM_Fensterstatus_BadEG closed
2015-02-08 20:04:31 CUL_HM HM_Fensterstatus_BadEG contact: closed (to MyHMLAN)

Konfiguration

Bei eingeschaltetem autocreate werden die erforderlichen Definitionen beim Pairen selbstständig erstellt.

define HM_Fensterstatus_BadEG CUL_HM 35E390
attr HM_Fensterstatus_BadEG IODev MyHMLAN
attr HM_Fensterstatus_BadEG actCycle 000:50
attr HM_Fensterstatus_BadEG actStatus dead
attr HM_Fensterstatus_BadEG autoReadReg 4_reqStatus
attr HM_Fensterstatus_BadEG expert 2_full
attr HM_Fensterstatus_BadEG firmware 1.0
attr HM_Fensterstatus_BadEG model HM-SEC-SCo
attr HM_Fensterstatus_BadEG peerIDs 00000000,
attr HM_Fensterstatus_BadEG room CUL_HM
attr HM_Fensterstatus_BadEG serialNr LEQxxxxxxx
attr HM_Fensterstatus_BadEG subType threeStateSensor

Beispiele

Aktionen durchführen, wenn Fenster zu lange geöffnet ist

Mit der nachfolgenden DOIF-Definition wird ein Log-Eintrag erzeugt, eine Meldung auf der Dreambox angezeigt, falls diese angeschaltet ist, und eine Nachricht per Prowl (funktioniert vermutlich nur unter Linux) verschickt.

Der Code ist hier so angegeben, wie er in der Weboberfläche nach einem Klick auf das DEF-Feld übernommen werden kann. Das DOIF ist vorab zu definieren, zum Beispiel mit:

def DOIF_FensterOffenMsg DOIF ([HM_Fensterstatus_BadEG])

und kann dann anschließend in den Device-Details vervollständigt werden:

([HM_Fensterstatus_BadEG] eq "open") ({
       Log 1, "Fenster seit mehr als 2 Stunden (7200 Sekunden) offen";;
       system( "/path/to/prowl.pl -apikeyfile=/path/to/prowl-apikey -event=Info -notification='Fenster ist noch offen' &" );;
       fhem( "set E2_Dreambox showText Fenster ist noch offen" ) if ReadingsVal("E2_Dreambox","state","") eq "on";;
       })
DOELSE

Damit der Code-Block erst nach 7200 Sekunden getriggert wird, ist noch Folgendes auszuführen:

attr DOIF_FensterOffenMsg wait 7200:0

Anzeige des Zeitpunkts der letzten Öffnung im STATE

Das Reading contact beinhaltet die Zustände open und closed. Und der Zeitstempel der Änderung wird regelmäßig aktualisiert. Aus diesem Grund fällt die Nutzung des Attributs showtime hier weg. Wenigstens, wenn man nicht den Zeitpunkt des letzten Auslesens wissen will, sondern den der letzten Öffnung.

Folgende Schreibweise ermöglicht es, dass im STATE-Internal der Zeitpunkt des letzten open verbleibt (zum Übernehmen als Einzeler kopieren):

attr Sensor stateFormat {if (ReadingsVal("Sensor","contact","") =~ "open.*") {"open " . ReadingsTimestamp("Sensor","contact","")} else {InternalVal("Sensor","STATE","")}}

Ein Thread zu diesem Thema findet sich im Forum unter dem Titel HM-SEC-SCo: Letzte Türöffnung im State anzeigen.

Bekannte Probleme

Teilweise (siehe Diskussion im Forum) werden die Fensterkontakte regelmäßig wiederkehrend als "dead" angezeigt. Grund ist, dass beim Anlernen ein actCycle von 50 Minuten eingetragen wird, während die Kontakte auch gerne mal länger brauchen, um sich bei der Zentrale zu melden.

2015-01-31_17:57:39 Fstr_AusgTerrasse alive: yes
2015-01-31_17:57:39 Fstr_AusgTerrasse battery: ok
2015-01-31_17:57:39 Fstr_AusgTerrasse sabotageError: off
2015-01-31_17:57:39 Fstr_AusgTerrasse closed
2015-01-31_17:57:39 Fstr_AusgTerrasse contact: closed (to HMLAN1)
2015-01-31_18:54:09 Fstr_AusgTerrasse Activity: dead
2015-01-31_18:58:03 Fstr_AusgTerrasse alive: yes
2015-01-31_18:58:03 Fstr_AusgTerrasse battery: ok
2015-01-31_18:58:03 Fstr_AusgTerrasse sabotageError: off
2015-01-31_18:58:03 Fstr_AusgTerrasse closed
2015-01-31_18:58:03 Fstr_AusgTerrasse contact: closed (to HMUSB)
2015-01-31_19:04:09 Fstr_AusgTerrasse Activity: alive

Um Abhilfe zu schaffen, den actCycle auf 01:05 setzen:

attr <HM-SEC-SCo> actCycle 001:05

Save config nicht vergessen.

Links