Hauptmenü

HM-LC-SW1-FM und Timer

Begonnen von ramses, 06 August 2016, 17:22:17

Vorheriges Thema - Nächstes Thema

ramses

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!

ramses

Hat jemand einen Vorschlag?

Jorge3711

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

devil77

Ein doif mit on-for-timer würde auch ein Weg sein.

ramses

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

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!

kumue

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

und damit dein Licht nach 300 Sek. wieder ausgeht
(set Name_deines_HM-LC-SW1-FM on-for-timer 300)

ramses

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?

ramses

und nach dem Pairen erhalte ich den State

RESPONSE TIMEOUT:RegisterRead


Pfriemler

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.


"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

ramses

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

ramses

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!

Pfriemler

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?
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

ramses

auch dein 2-ter Punkt ist genial!!! es funkt! DANKE!
das muss auch ins Wiki

Pfriemler

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.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

ramses

ja, die Register sind definitiv zu wenig bekannt!

ich würde diese Info hier eintragen
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?

Pfriemler

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.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

ramses

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.

Kruemel

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
RPi, Homematik, LAN-CFG, Bewegungsmelder, Rauchmelder, Rolläden, Schalter, Türkontakte, Heizungsventile, FB7390, Owncloud, xBMC

Pfriemler

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.

Wenn (B) durch (A) stromlos gemacht wird, benötigt es ja auch keine spezielle Ausschaltfunktion. Aber auch die ließe sich realisieren.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Wzut

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
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Kruemel

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.

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
RPi, Homematik, LAN-CFG, Bewegungsmelder, Rauchmelder, Rolläden, Schalter, Türkontakte, Heizungsventile, FB7390, Owncloud, xBMC

Pfriemler

#21
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
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Kruemel

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
RPi, Homematik, LAN-CFG, Bewegungsmelder, Rauchmelder, Rolläden, Schalter, Türkontakte, Heizungsventile, FB7390, Owncloud, xBMC