Hallo Leute,
folgende Situation:
ich einen Schalter (HM-LC-SW1-FM) + Taster.
Der Taster schaltet das Licht ein und aus. Jetzt möchte, dass das Licht automatisch nach einer einstellbarer Zeit und zwar:
kurzer Impuls am Taster => Licht schaltet sich ein für X sec
langer Impuls am Taster => Licht schaltet sich ein für Y sec
wenn Licht an und der Taster wird betätigt sollte das Licht ausgehen und die Timer zurückgesetzt werden.
Kann mir bitte jemand helfen das zu realisieren?
System : FHEM + Pi + CUL868
Danke!
Hat jemand einen Vorschlag?
Schau Dir mal die Register shOnTime und lgOnTime an. Damit dürfte Dein Vorhaben machbar sein. Siehe auch http://www.fhemwiki.de/wiki/HomeMatic_Register_programmieren (http://www.fhemwiki.de/wiki/HomeMatic_Register_programmieren)
Ein doif mit on-for-timer würde auch ein Weg sein.
Zitat von: Jorge3711 am 10 August 2016, 20:28:00
Schau Dir mal die Register shOnTime und lgOnTime an. Damit dürfte Dein Vorhaben machbar sein. Siehe auch http://www.fhemwiki.de/wiki/HomeMatic_Register_programmieren (http://www.fhemwiki.de/wiki/HomeMatic_Register_programmieren)
das mit dem Register funktioniert wunderbar, jedoch long press kann nicht realisiert werden, da long press den HM-LC-SW1-FM in config mode versetzt.
Zitat von: devil77 am 11 August 2016, 10:38:22
Ein doif mit on-for-timer würde auch ein Weg sein.
wie soll das gehen? bitte um einen Beispiel
Fazit: kurz ist gelöst, lange Tastendruck weiss ich leider nicht wie ich es abfangen kann.
Bitte daher um weitere Hilfe! Danke euch!
Zitat von: ramses am 08 Oktober 2016, 11:44:05
wie soll das gehen? bitte um einen Beispiel
Ein Beispiel, wie ein Long Event ausgewertet werden kann, findest Du z.B. hier
http://fhem.de/commandref_DE.html#DOIF_Teilausdruecke_abfragen (http://fhem.de/commandref_DE.html#DOIF_Teilausdruecke_abfragen)
und damit dein Licht nach 300 Sek. wieder ausgeht
(set Name_deines_HM-LC-SW1-FM on-for-timer 300)
dieser HM-LC-SW1-FM macht mich langsam wahnsinnig!
nachdem die Lösung mit Short funktioniert hat (Long wird bei dem Schalter wahrscheinlich nie funktionieren, auch nicht über DOIF, weil Long der Anlernmodus bedeutet), habe ich VCCU aktiviert und den Schalter neu gepairt.
Seitem VCCU aktiv ist (ich habe das Kommando neu eingegeben) bekomme ich nur mehr NACK und das Kommando wird nicht akzeptiert.
set Licht_WC regSet shOnTime 300 self01
=> NACK
ich habe schon viel ausprobiert: Schalter 2 mal resetet, neu gepairt, AES aufgedreht...
Der Schalter funktioniert sonst ganz ok sowohl über Taster als auch über Webcmd
kann sein, dass VCCU dran schuld ist?
was mache ich sonst falsch?
und nach dem Pairen erhalte ich den State
RESPONSE TIMEOUT:RegisterRead
Sind alles eigentlich HomeMatic-Spezis.
1. Ich wüsste nicht was die vccu da verschlimmbessern sollte, wenn sie sauber konfiguriert ist und sonst mit anderen Geräten gut funktioniert. Hast Du noch mehrere IO-Devices im Einsatz über die vccu? Bei tuns das Raspi-Modul und ein HMLAn in trauer Zweisamkeit.
Wie ist der letzte rssi?
Die Fehlermeldung kommt eigentlich auch oft bei Verbindungsproblemen. Schalten ist eine Sache, eine stabile Datenverbindung eine andere.
1b: hast Du den internen Taster wieder auf "visib" gesetzt (intKeyVisib)?
Und zu Deinem eigentlichen Anliegen:
2. Weiß nicht ob der HM-LC-SW1-FM ein Register namens confBtnTime kennt? Wenn
man das von "permanent" auf eine Zeit ändert, wechselt die Funktion des langen Tastendrucks vom Konfigmodus auf den Long-Modus. Konfig geht dann nur noch für die angegebene Zeit nach dem Einstromen des Gerätes.
VCCU sollte sauber konfiguriert sein. weitere ca. 15 Komponenten funktionieren problemlos.
Empfang ist auch OK, zumindest haben sich die Lokationen der Sender/Empfänger nicht seitdem diese Feature funktioniert hat (vor VCCU Einbindung). Ich gebe nicht VCCU unbedingt die Schuld, ist aber das Einzige was sich geändert hat.
Vielleicht hat jemand so eine Konfig laufen mit dem Schalter und VCCU und kann bestätigen dass man auf diese Register zugreifen kann.
Interessant ist, dass der Register gesetzt ist, bewirkt aber nichts.
hier auch ein List des Schalters.
Internals:
CUL1_MSGCNT 92
CUL1_RAWMSG A0E2AA0104392EB1234560100000000::-79.5:CUL1
CUL1_RSSI -79.5
CUL1_TIME 2016-11-04 10:36:57
DEF 4392EB
IODev CUL1
LASTInputDev CUL1
MSGCNT 92
NAME Licht_WC_unten
NOTIFYDEV global
NR 72
NTFY_ORDER 50-Licht_WC_unten
STATE off
TYPE CUL_HM
lastMsg No:2A - t:10 s:4392EB d:123456 0100000000
protCmdDel 9
protLastRcv 2016-11-04 10:36:57
protNack 3 last_at:2016-11-03 23:05:24
protResnd 3 last_at:2016-11-03 23:08:05
protSnd 119 last_at:2016-11-04 10:36:57
protState CMDs_done
rssi_CUL1 lst:-76 avg:-76.33 min:-80 cnt:21 max:-73
rssi_at_CUL1 max:-72.5 cnt:92 min:-86 avg:-77.02 lst:-79.5
Helper:
Dblog:
R-confbtntime:
Dblogging:
TIME 1478210669.36707
VALUE permanent
R-intkeyvisib:
Dblogging:
TIME 1478210669.36707
VALUE invisib
R-localresdis:
Dblogging:
TIME 1478210669.36707
VALUE off
R-paircentral:
Dblogging:
TIME 1478210669.36707
VALUE 0x123456
R-powerupaction:
Dblogging:
TIME 1478210670.16115
VALUE off
R-self01-shontime:
Dblogging:
TIME 1478210724.52083
VALUE set_2 s
R-sign:
Dblogging:
TIME 1478210670.16115
VALUE off
R-statusinfomindly:
Dblogging:
TIME 1478210670.16115
VALUE 2 s
R-statusinforandom:
Dblogging:
TIME 1478210670.16115
VALUE 1 s
R-transmittrymax:
Dblogging:
TIME 1478210670.16115
VALUE 6
Devicemsg:
Dblogging:
TIME 1478251537.45003
VALUE off (to VCCU)
Level:
Dblogging:
TIME 1478251537.45003
VALUE 0
Pct:
Dblogging:
TIME 1478251537.45003
VALUE 0
Poweron:
Dblogging:
TIME 1478210870.33734
VALUE 2016-11-03 23:07:50
State:
Dblogging:
TIME 1478251537.45003
VALUE off
Timedon:
Dblogging:
TIME 1478251537.45003
VALUE off
Readings:
2016-11-04 00:03:52 CommandAccepted yes
2016-11-03 22:44:30 D-firmware 2.8
2016-11-03 22:44:30 D-serialNr MEQ1740747
2016-11-04 10:36:55 PairedTo 0x123456
2016-11-03 23:04:29 R-confBtnTime permanent
2016-11-03 23:04:29 R-intKeyVisib invisib
2016-11-03 23:04:29 R-localResDis off
2016-11-03 23:04:29 R-pairCentral 0x123456
2016-11-03 23:04:30 R-powerUpAction off
2016-11-03 23:05:24 R-self01-shOnTime set_2 s
2016-11-03 23:04:30 R-sign off
2016-11-03 23:04:30 R-statusInfoMinDly 2 s
2016-11-03 23:04:30 R-statusInfoRandom 1 s
2016-11-03 23:04:30 R-transmitTryMax 6
2016-11-04 10:36:55 RegL_00. 02:01 0A:12 0B:34 0C:56 15:FF 18:00 00:00
2016-11-04 10:36:56 RegL_01. 08:00 30:06 57:24 56:00 00:00
2016-11-04 10:25:37 deviceMsg off (to VCCU)
2016-11-04 10:25:37 level 0
2016-11-04 10:25:37 pct 0
2016-11-03 23:07:50 powerOn 2016-11-03 23:07:50
2016-11-04 10:25:37 recentStateType info
2016-11-04 10:25:37 state off
2016-11-04 10:25:37 timedOn off
Helper:
HM_CMDNR 42
PONtest 0
cSnd 011234564392EB01040000000001,011234564392EB0103
dlvlCmd ++A0111234564392EB0201000000
mId 0004
peerIDsRaw ,00000000
rxType 1
Expert:
def 1
det 1
raw 1
tpl 0
Io:
newChn +4392EB,00,00,00
nextSend 1478252217.25395
rxt 0
vccu VCCU
p:
4392EB
00
00
00
prefIO:
CUL1
Mrssi:
mNo 2A
Io:
CUL1 -77.5
Prt:
bErr 0
sProc 0
Rspwait:
Q:
qReqConf
qReqStat
Role:
chn 1
dev 1
prs 1
Rpt:
IO CUL1
flg A
ts 1478252217.15598
ack:
HASH(0x18eb0e8)
2A80021234564392EB00
Rssi:
Cul1:
avg -76.3333333333333
cnt 21
lst -76
max -73
min -80
At_cul1:
avg -77.0217391304348
cnt 92
lst -79.5
max -72.5
min -86
Shadowreg:
RegL_03.self01 07:14
Tmpl:
Nb:
cnt 1
Attributes:
IODev CUL1
IOgrp VCCU:CUL1
autoReadReg 4_reqStatus
expert 3_allReg+raw
firmware 2.8
model HM-LC-SW1-FM
peerIDs 00000000,
room Wohnzimmer
serialNr MEQ1740747
subType switch
webCmd statusRequest:toggle:on:off
hahaha, gefunden!
@Pfriemler Dein Tip war es mit dem internen Schalter!!! Es steht in die Wiki zwar dass man den internen Schalter sichtbar machen kann, aber nicht dass man es muss
ich habe das Setzen irgendwie verdrängt, weil nichts von einem muss die Rede im Wiki ist und schien mir irgendwie unwichtig.
kann bitte jemand dieses Detail der mich 2 Tage gekostet hat in Wiki korrigieren?
http://www.fhemwiki.de/wiki/HomeMatic_Register_programmieren
Vielen Dank!
Ah ... das wäre auch eine Variante: FHEM moniert, dass der angeforderte Status des Peerings ausbleibt, weil das Modul keinen Zugriff auf die internen Buttons zulässt (solange intKeyVisib nicht auf visib gesetzt ist). Habe einen Hinweis im Wiki ergänzt.
Es lag also NICHT an der vccu?
Wie sieht es mit meinem Vorschlag 2 aus?
auch dein 2-ter Punkt ist genial!!! es funkt! DANKE!
das muss auch ins Wiki
Zitat von: ramses am 08 November 2016, 20:11:56
auch dein 2-ter Punkt ist genial!!! es funkt! DANKE!
Das freut mich aber. Scheint auch noch nicht so sehr bekannt zu sein.
Zitatdas muss auch ins Wiki
Stimme ich Dir zu, aber ich wüsste spontan nicht wo.
ja, die Register sind definitiv zu wenig bekannt!
ich würde diese Info hier eintragen
http://www.fhemwiki.de/wiki/HomeMatic_Register_programmieren (http://www.fhemwiki.de/wiki/HomeMatic_Register_programmieren)
und bei allen Komponenten welche diese Art von Register unterstützt einen Link auf die Seite zur Übersicht.
Gibt es überhaupt eine vollständige Beschreibung aller Register irgendwo?
Anzahl und Verschiedenartigkeit der Register ist immens. Da ein Wiki zu pflegen, ist eine heftige Sache.
Der Wiki-Artikel zeigt eigentlich nur prinzipielle Möglichkeiten. Welches Gerät welche Register unterstützt, kann mit get <devicename> regList erfragt werden, inklusive der Wertebereiche. Eine prosaische Erklärung wäre für Anfänger nett, aber man liest sich auch so langsam in die Materie ein, finde ich.
Ich kenne keine solche Beschreibung bisher. Die Statemachine der Aktoren ist im Einsteigerdoc-Anhang angedeutet.
na ja, aber ist nicht schade, diese so mächtige Möglichkeiten undokumentiert zu lassen...?
man könnte zumindest sie aufzählen und man ergänzt sie mit der Zeit. Ich glaube nicht, dass sie sich pro Devicemodell sich so schnell ändern.
Hallo,
ich habe gerade das gleiche Thema und komme mal wieder alleine nicht weiter.
Vlt. könnt ihr mir helfen.
Ich habe auch einen HM-LC-SW1-FM (A) und möchte auf kurzen und langen Tastendruck unterschiedlich reagieren.
Kurz: soll einschalten
Lang: soll einschalten und einen im Strompfad liegenden zweiten HM-LC-SW1-FM (B) einschalten
Ich nenne die hier mal A und B.
Bei A habe ich mit:
set <name> regSet confBtnTime 2
die Aktivierung des Anlernmodus auf 2min eingeschränkt.
Das scheint auch zu funktionieren, da bei längerem drücken ca, 6 sec die interne LED nicht anfängt zu blinken.
weiterhin habe ich bei A mit
set HM-LC-Sw1PBU-FM regSet intKeyVisib visib
die internen Schalter visible gemacht.
Ich sehe jetzt bei den Registern einige R-self01..., keine self02
Jetzt weiss ich jedoch nicht weiter mit welcher Abfrage ich den langen vom kurzen Tastendruck unterscheide.
Im Event-Monitor zeigt A keinerlei Hinweise. Jeder Tastendruck erzeugt die gleiche Reaktion.
Vielen Dank für Eure Hilfe.
Gruß
Wolfgang
Erstens: Der einkanalige Aktor hat meines Wissens auch nur einen externen Tasteranschluss. Also gibt es maximal "self01".
Zweitens:
ZitatLang: soll einschalten und einen im Strompfad liegenden zweiten HM-LC-SW1-FM (B) einschalten
Das kann so nicht funktionieren, weil die "internen" Tasteranschlüsse zwar für den eigenen Schaltaktor (also bei dir (A)) konfiguriert werden können, aber niemals ihren Status nach außen senden, so dass weder FHEM noch ein anderer Aktor (B) darauf reagieren können.
Drittens: was heißt "im Strompfad liegend": heißt das, (B) wird erst unter Strom gesetzt, wenn (A) eingeschaltet ist? Dann benötigt es zusätzlich eine Wartezeit für das "Booten" von (B) (was schon einige Sekunden beträgt), bevor ein Befehl von außen akzeptiert wird.
Es gäbe einen Workaround mit FHEM-Hilfe, im Prinzip: langes Drücken an (A) schaltet (A) nicht dauerhaft ein, sondern auf eine Zeitbegrenzung von 30 Stunden (was bei täglich regelmäßigen Schaltvorgängen sich wie dauerhaft an anfühlt) - das kann FHEM erkennen und mit einem notify oder DOIF dann (ggf. zeitverzögert wegen des "Bootens") (B) einschalten.
Wier das praktisch aussieht, hatten wir vor kurzem in diesem Thread (https://forum.fhem.de/index.php/topic,38048.msg703002.html#msg703002).
Wenn (B) durch (A) stromlos gemacht wird, benötigt es ja auch keine spezielle Ausschaltfunktion. Aber auch die ließe sich realisieren.
Zitat von: Pfriemler am 04 November 2016, 00:07:13
2. Weiß nicht ob der HM-LC-SW1-FM ein Register namens confBtnTime kennt? Wenn
man das von "permanent" auf eine Zeit ändert, wechselt die Funktion des langen Tastendrucks vom Konfigmodus auf den Long-Modus. Konfig geht dann nur noch für die angegebene Zeit nach dem Einstromen des Gerätes.
Das geht auch beim HM-LC-BL1-FM , tausend Dank für den Tipp !! Endlich verhält er sich genau wie der HM-LC-Bl1PBU-FM
Zitat von: Pfriemler am 31 Oktober 2017, 14:34:52
Erstens: Der einkanalige Aktor hat meines Wissens auch nur einen externen Tasteranschluss. Also gibt es maximal "self01".
Zweitens:Das kann so nicht funktionieren, weil die "internen" Tasteranschlüsse zwar für den eigenen Schaltaktor (also bei dir (A)) konfiguriert werden können, aber niemals ihren Status nach außen senden, so dass weder FHEM noch ein anderer Aktor (B) darauf reagieren können.
Drittens: was heißt "im Strompfad liegend": heißt das, (B) wird erst unter Strom gesetzt, wenn (A) eingeschaltet ist? Dann benötigt es zusätzlich eine Wartezeit für das "Booten" von (B) (was schon einige Sekunden beträgt), bevor ein Befehl von außen akzeptiert wird.
Es gäbe einen Workaround mit FHEM-Hilfe, im Prinzip: langes Drücken an (A) schaltet (A) nicht dauerhaft ein, sondern auf eine Zeitbegrenzung von 30 Stunden (was bei täglich regelmäßigen Schaltvorgängen sich wie dauerhaft an anfühlt) - das kann FHEM erkennen und mit einem notify oder DOIF dann (ggf. zeitverzögert wegen des "Bootens") (B) einschalten.
Wier das praktisch aussieht, hatten wir vor kurzem in diesem Thread (https://forum.fhem.de/index.php/topic,38048.msg703002.html#msg703002).
Wenn (B) durch (A) stromlos gemacht wird, benötigt es ja auch keine spezielle Ausschaltfunktion. Aber auch die ließe sich realisieren.
Hallo, sorry für meine späte Reaktion, hatte leider keine Zeit um es auszuprobieren. Vielen Dank für deinen Hinweis auf den Thread. Es funktioniert gut. Ich lasse B mit einem define ... at um 3 sec verzögert anschalten.
Gibt es eine Möglichkeit den "langen" Tastendruck zeitlich einzustellen. Im Moment muss ich langsam bis 3 zählen. Für den alltag (und meine Frau ;-)) wären etwas weniger Zeit angenehmer. Wenn du hier auch noch einen Tipp hast, vielen Dank im voraus. Ich fange aber auch selbst mal an zu suchen. Ich wollte mich vor allem für den Tipp bedanken.
LG
Wolfgang
Zitat von: Kruemel am 18 November 2017, 13:39:54
Gibt es eine Möglichkeit den "langen" Tastendruck zeitlich einzustellen. Im Moment muss ich langsam bis 3 ...
Der lange Tastendruck nach Homematic-Lesart ist alles länger als 0.4 Sekunden. Danach läuft die Kette allein ab: Aktor schaltet zeitbegrenzt ein, meldet das an FHEM, dort reagiert das Notify, dann das at ... also prinzipiell genügt ein einsekündiger Tastendruck - der Rest braucht halt Zeit und läuft aber allein. Probiers aus ...
Gesendet von meinem SM-G900FD mit Tapatalk
Hallo, in der Mail stand noch..
"...Die Zeitspanne, nach der aus einem kurzen ein langer Tastendruck wird, lässt sich am Aktor selbst von 0.3 bis 1.8 Sekunden einstellen. Die Laufzeit über FHEM sollte nicht länger als 2-3 Sekunden sein..."
Ich habe noch nichts gefunden, wo ich am Aktor die Zeit einstellen kann. Habe zur Zeit das Gefühl, dass es bei mir eher bei 1,8 steht als bei 0,3 sec.
LG
Wolfgang