HomeMatic Register programmieren: Unterschied zwischen den Versionen
K (Ph1959de verschob die Seite Homematic Register programmieren nach HomeMatic Register programmieren, ohne dabei eine Weiterleitung anzulegen: Schreibweise korrigiert) |
(Schreibweise "HomeMatic" korrigiert, Kategorie eingefügt, etc.) |
||
Zeile 1: | Zeile 1: | ||
<!-- Bitte noch an geeigneten Stellen Links auf diese Seite einfügen --> | |||
== Zeitschalter mit | == Zeitschalter mit HomeMatic Aktoren == | ||
Anhand eines Beispiels wird gezeigt, wie man die Reaktion von internen Tasten an HomeMatic Aktoren beeinflussen kann. Eine normale Zeitschaltung innerhalb von FHEM sollte einfacher mit ''on-for-timer'' erfolgen! | |||
=== Zustände === | === Zustände === | ||
Die HomeMatic Aktoren (Schalter) schalten so, wie es der verknüpfte (peering) Sender vorgibt. Sie haben dazu Registersätze, die für jede Verknüpfung (peer) neu angelegt und gespeichert werden. Man kann also mit einem Taster ein- und ausschalten. Mit einem anderen Taster eine Zeitschaltung für 10 Sekunden starten. Dabei wird nicht der Taster oder der Schalter auf "Zeitschalter" programmiert, sondern die Verknüpfung Taster mit Schalter wird im Schalter entsprechend gespeichert. Der Schalter macht dabei das, was der letzte Tastendruck als Aktion hinterlegt hat. | |||
Kleines Beispiel: | Kleines Beispiel: | ||
T1 schaltet S1 für 10 sec an | T1 schaltet S1 für 10 sec an | ||
Zeile 16: | Zeile 13: | ||
Diese Tabelle ist im Schalter S1 gespeichert. | Diese Tabelle ist im Schalter S1 gespeichert. | ||
Schaltet man mit T3 den S1 an und drückt dann nach beliebiger Zeit kurz T1 geht S1 nach weiteren 10 sec aus. | Schaltet man mit T3 den S1 an und drückt dann nach beliebiger Zeit kurz T1 geht S1 nach weiteren 10 sec aus. Schaltet man mit T1 kurz den S1 für 10 sec an, aber innerhalb dieser Zeit mit T3 nochmal an, dann bleibt S1 nach Ablauf der 10 sec an. | ||
Schaltet man mit T1 kurz den S1 für 10 sec an, aber innerhalb dieser Zeit mit T3 nochmal an, dann bleibt S1 nach Ablauf der 10 sec an. | |||
=== Tasten sichtbar machen === | === Tasten sichtbar machen === | ||
Jeder Schalter hat interne oder eigene Tasten. Die Steckdose z.B. den Knopf der als Toggle funktioniert. Der Lichtschalter für Markensysteme hat einen EIN und einen AUS Knopf. | |||
Jeder Schalter hat interne oder eigene Tasten. Die Steckdose z.B. den Knopf der als Toggle funktioniert. Der Lichtschalter für | |||
Die internen Tasten kann man in FHEM sichtbar machen: | Die internen Tasten kann man in FHEM sichtbar machen: | ||
Zeile 29: | Zeile 23: | ||
=== Zeitschalter direkt === | === Zeitschalter direkt === | ||
Um z.B. eine Steckdose für 10 sec bei Knopfdruck lokal einzuschalten kann man folgendes programmieren: | |||
:<code>set <device> regSet shOnTime 10 self01 </code> | |||
''shOnTime'' ist dabei das zuständige Register für kurzen (sh=short) Tastendruck. Es gibt auch Register für langen Tastendruck lg=long. Eine kurze Beschreibung der Register erhält man durch: | |||
:<code>get <device> regList </code> | |||
shOnTime ist dabei das zuständige Register für kurzen (sh=short) Tastendruck. Es gibt auch Register für langen Tastendruck lg=long. Eine kurze Beschreibung der Register erhält man durch: | |||
In den Readings werden die Register mit dem jeweiligen verknüpften Taster angezeigt, in unserem Fall also: | In den Readings werden die Register mit dem jeweiligen verknüpften Taster angezeigt, in unserem Fall also: | ||
:<code>R-self01-shOnTime </code> | |||
Der Defaultwert für shOnTime ist übrigens 111600 und bedeutet unendlich. D.h. die maximale einstellbare Zeit ist 111599 sec (knapp 31 Stunden). So kann man die Zeit löschen: | Der Defaultwert für shOnTime ist übrigens 111600 und bedeutet unendlich. D.h. die maximale einstellbare Zeit ist 111599 sec (knapp 31 Stunden). So kann man die Zeit löschen: | ||
:<code>set <device> regSet shOnTime 111600 self01 </code> | |||
oder | oder | ||
:<code>set <device> regSet shOnTime unused self01 </code> | |||
Einen Tastendruck kann man auch simulieren: | Einen Tastendruck kann man auch simulieren: | ||
:<code>set <device> press short self01 </code> | |||
=== Kurz oder lang === | === Kurz oder lang === | ||
Die internen Taster sind oft als Toggle und config Taster ausgelegt. Ein langer Tastendruck (4 Sekunden) versetzt den Schalter in den config-/Anlern-Modus. Damit scheint es so zu sein, dass bei diesen Schaltern kein long press von außen vorgesehen ist, obwohl die Register existieren und man long press auch simulieren kann. | |||
Die internen Taster sind oft als Toggle und config Taster ausgelegt. Ein langer Tastendruck (4 | |||
=== Praktisches Beispiel: Pool für eine Stunde schalten === | === Praktisches Beispiel: Pool für eine Stunde schalten === | ||
Ich habe einen HM-LC-SW4-DR und der channel_01 schaltet die Poolzirkulationspumpe. Dies passiert zeitgesteuert zweimal am Tag. Manchmal möchte ich im Keller diese Pumpe einfach für eine Stunde aktivieren, der Aktor ist bequem erreichbar an der Wand. | |||
Ich habe einen HM-LC-SW4-DR und der channel_01 schaltet die Poolzirkulationspumpe. Dies passiert | |||
Die internen Tasten vom Hauptdevice (der Aktor hat vier Channel die in FHEM einzeln dargestellt werden) sichtbar machen: | Die internen Tasten vom Hauptdevice (der Aktor hat vier Channel die in FHEM einzeln dargestellt werden) sichtbar machen: | ||
set LichtKeSW1 regSet intKeyVisib visib | set LichtKeSW1 regSet intKeyVisib visib | ||
Zeile 64: | Zeile 53: | ||
set LichtKeSW1 regSet shOnTime 3600 self01 | set LichtKeSW1 regSet shOnTime 3600 self01 | ||
Die Toggle Funktion der Taste bleibt erhalten. Ein zweiter Tastendruck schaltet die Pumpe auch sofort wieder aus. | Die Toggle Funktion der Taste bleibt erhalten. Ein zweiter Tastendruck schaltet die Pumpe auch sofort wieder aus. Während die Zeit läuft, blinkt die Status LED des Kanals. | ||
Während | |||
[[Kategorie:HomeMatic Components]] |
Version vom 7. Dezember 2015, 07:25 Uhr
Zeitschalter mit HomeMatic Aktoren
Anhand eines Beispiels wird gezeigt, wie man die Reaktion von internen Tasten an HomeMatic Aktoren beeinflussen kann. Eine normale Zeitschaltung innerhalb von FHEM sollte einfacher mit on-for-timer erfolgen!
Zustände
Die HomeMatic Aktoren (Schalter) schalten so, wie es der verknüpfte (peering) Sender vorgibt. Sie haben dazu Registersätze, die für jede Verknüpfung (peer) neu angelegt und gespeichert werden. Man kann also mit einem Taster ein- und ausschalten. Mit einem anderen Taster eine Zeitschaltung für 10 Sekunden starten. Dabei wird nicht der Taster oder der Schalter auf "Zeitschalter" programmiert, sondern die Verknüpfung Taster mit Schalter wird im Schalter entsprechend gespeichert. Der Schalter macht dabei das, was der letzte Tastendruck als Aktion hinterlegt hat.
Kleines Beispiel:
T1 schaltet S1 für 10 sec an T3 schaltet S1 an T4 schaltet S1 aus.
Diese Tabelle ist im Schalter S1 gespeichert.
Schaltet man mit T3 den S1 an und drückt dann nach beliebiger Zeit kurz T1 geht S1 nach weiteren 10 sec aus. Schaltet man mit T1 kurz den S1 für 10 sec an, aber innerhalb dieser Zeit mit T3 nochmal an, dann bleibt S1 nach Ablauf der 10 sec an.
Tasten sichtbar machen
Jeder Schalter hat interne oder eigene Tasten. Die Steckdose z.B. den Knopf der als Toggle funktioniert. Der Lichtschalter für Markensysteme hat einen EIN und einen AUS Knopf.
Die internen Tasten kann man in FHEM sichtbar machen:
set <device> regSet intKeyVisib visib attr <device> expert 1
Zeitschalter direkt
Um z.B. eine Steckdose für 10 sec bei Knopfdruck lokal einzuschalten kann man folgendes programmieren:
set <device> regSet shOnTime 10 self01
shOnTime ist dabei das zuständige Register für kurzen (sh=short) Tastendruck. Es gibt auch Register für langen Tastendruck lg=long. Eine kurze Beschreibung der Register erhält man durch:
get <device> regList
In den Readings werden die Register mit dem jeweiligen verknüpften Taster angezeigt, in unserem Fall also:
R-self01-shOnTime
Der Defaultwert für shOnTime ist übrigens 111600 und bedeutet unendlich. D.h. die maximale einstellbare Zeit ist 111599 sec (knapp 31 Stunden). So kann man die Zeit löschen:
set <device> regSet shOnTime 111600 self01
oder
set <device> regSet shOnTime unused self01
Einen Tastendruck kann man auch simulieren:
set <device> press short self01
Kurz oder lang
Die internen Taster sind oft als Toggle und config Taster ausgelegt. Ein langer Tastendruck (4 Sekunden) versetzt den Schalter in den config-/Anlern-Modus. Damit scheint es so zu sein, dass bei diesen Schaltern kein long press von außen vorgesehen ist, obwohl die Register existieren und man long press auch simulieren kann.
Praktisches Beispiel: Pool für eine Stunde schalten
Ich habe einen HM-LC-SW4-DR und der channel_01 schaltet die Poolzirkulationspumpe. Dies passiert zeitgesteuert zweimal am Tag. Manchmal möchte ich im Keller diese Pumpe einfach für eine Stunde aktivieren, der Aktor ist bequem erreichbar an der Wand. Die internen Tasten vom Hauptdevice (der Aktor hat vier Channel die in FHEM einzeln dargestellt werden) sichtbar machen:
set LichtKeSW1 regSet intKeyVisib visib attr LichtKeSW1 expert 1
Jetzt sieht man im Channel 01 - LichtKeSW1_Sw01 den internen peer self01. (Channel 02 ist self02 usw.) Also jetzt einfach die Zeit eintragen:
set LichtKeSW1 regSet shOnTime 3600 self01
Die Toggle Funktion der Taste bleibt erhalten. Ein zweiter Tastendruck schaltet die Pumpe auch sofort wieder aus. Während die Zeit läuft, blinkt die Status LED des Kanals.