Hallo,
Ich möchte gern, dass wenn ich den Taster betätige, kein "on" sondern ein "on-for-timer 900" ausgeführt wird.
Folgendes funktioniert nicht :-\
define TEST notify AB_AB_SPRENKLER set AB_AB_SPRENKLER on-for-timer 900
Warum geht das nicht und wie sollte es funktionieren?
Danke Kaspi
Wie stellst du fest, dass es nicht geht!?
Dein Notify ist ja auch irgendwie seltsam (vorsichtig ausgedrückt)...
Wahrscheinlich triggert alles (evtl. sogar dein on-for-timer selbst) das Notify immer wieder und es wird immer wieder on-for-timer 900 gesendet...
...was dann letztendlich in einem "on" endet...
Was passiert wenn du:
set AB_AB_SPRENKLER on-for-timer 900
in Fhem-Web eingibst!?
Wenn es dann funktioniert liegt es am Notify...
Wenn das auch nicht geht, dann mal ein list von AB_AB_SPRENKLER posten...
Gruß, Joachim
set AB_AB_SPRENKLER on-for-timer 900
Funktioniert.
Der AB_AB_SPRENKLER ist der Schalter selbst.
Wenn ich ihn betätige wird ein on ausgeführt. Dieses on sollte doch dann von dem on-for-timer im notify überschrieben werden. Oder? :-\
Kaspi
Nicht mit bestehendem Notify!
Warum machst du kein "neues" web_cmd für on-for-timer?
Wenn du "nur" willst, dass du wo klicken kannst und dann on-for-timer kommt!?
Evtl. (da kenne ich den Schalter zu wenig) geht auch, wenn dein Notify eben nicht einfach auf "alles" lauscht, sondern nur auf "on":
define TEST notify AB_AB_SPRENKLER:on set AB_AB_SPRENKLER on-for-timer 900
Besser in den EventMonitor gehen und dann drücken (dein Notify vorher löschen oder zumindest disablen!) und dann für "on" ein Notify generieren lassen und anpassen...
Weil bei deinem Notify vermutlich sogar ein "off" einschaltet... ;)
Wenn du immer nur 900s haben willst, kannst du (wenn Homematic) bestimmt auch 900 in ein Register schreiben, dann geht das Ding immer nur für 900s an...
Gruß, Joachim
Web_cmd habe ich schon und funktioniert.
Aber ich möchte wenn ich den physischen Schalter betätige ein on-for-timer haben.
define TEST notify AB_AB_SPRENKLER:on set AB_AB_SPRENKLER on-for-timer 900
Funktioniert leider nicht. (Immer on) :-\
Kaspi
Dann schreib das doch gleich...
Den physischen Schalter kannst du wahrscheinlich nur mittels Register anpassen...
EDIT: Bzw. hast du mal den EventMonitor geöffnet, den Schalter betätigt und ein Notify erzeugen lassen und angepasst!? Bin aber nicht sicher, ob sich überhaupt ein "on" mit einem "nachgeschickten" on-for-timer "überstimmen" lässt... Wenn nicht, dann bleibt wie geschrieben nur das Setzen entsprechender Register...
Gruß, Joachim
Mein erster Post:
Ich möchte gern, dass wenn ich den Taster betätige, kein "on" sondern ein "on-for-timer 900" ausgeführt wird.
Kaspi
Jaja, aber das wird oft geschrieben und dann doch das Klicken auf der Weboberfläche gemeint... ;)
Antwort bleibt...
...bzw. bleiben die selben...
Wäre sonst nur hartnäckiger bei den Registern gewesen... ;)
Gruß, Joachim
Ok alles gut ;)
Jetzt brauche ich noch einen Spezi, der sich mit Registern auskennt und mir sagt was ich tun kann.
Kaspi
Poste doch mal ein "get DeviceName regList" und vielleicht auch gleich ein regTable...
Und vielleicht auch gleich noch ein list vom Device... ;)
Evtl. gibt es auch bei peerSmart ein Template...
...wie aktuell ist dein fhem!?
Evtl. auch mal im Wiki schauen...
Und auf jeden Fall den Thread nach HomeMatic verschieben!
Gruß, Joachim
list: register | range | peer | description
0: intKeyVisib | literal | | visibility of internal channel options:invisib,visib
0: localResDis | literal | | local reset disable options:off,on
0: pairCentral | 0 to 16777215 | | pairing to central
1: powerUpAction | literal | | on: simulate short press of peer self01 (self02 if dual buttons) after power up options:off,on
1: sign | literal | | signature (AES) options:on,off
1: statusInfoMinDly | 0.0 to 15.5s | | status message min delay special:unused
1: statusInfoRandom | 0 to 7s | | status message random delay
1: transmitTryMax | 1 to 10 | | max message re-transmit
3: lgActionType | literal | required | options:off,toggleToCntInv,toggleToCnt,jmpToTarget
3: lgCtDlyOff | literal | required | Jmp on condition from delayOff options:ltHi,between,ltLo,geLo,outside,geHi
3: lgCtDlyOn | literal | required | Jmp on condition from delayOn options:between,ltHi,ltLo,geHi,outside,geLo
3: lgCtOff | literal | required | Jmp on condition from off options:ltHi,between,outside,geHi,geLo,ltLo
3: lgCtOn | literal | required | Jmp on condition from on options:outside,geHi,geLo,ltLo,ltHi,between
3: lgCtValHi | 0 to 255 | required | Condition value high for CT table
3: lgCtValLo | 0 to 255 | required | Condition value low for CT table
3: lgMultiExec | literal | required | execution per repeat message options:off,on
3: lgOffDly | 0.0 to 111600s | required | off delay
3: lgOffTime | 0.0 to 111600s | required | off time special:unused
3: lgOffTimeMode | literal | required | off time meant absolut or at least options:minimal,absolut
3: lgOnDly | 0.0 to 111600s | required | on delay
3: lgOnTime | 0.0 to 111600s | required | on time special:unused
3: lgOnTimeMode | literal | required | on time meant absolut or at least options:minimal,absolut
3: lgSwJtDlyOff | literal | required | Jump from delayOff options:dlyOff,dlyOn,no,off,on
3: lgSwJtDlyOn | literal | required | Jump from delayOn options:on,dlyOn,dlyOff,no,off
3: lgSwJtOff | literal | required | Jump from off options:on,no,off,dlyOff,dlyOn
3: lgSwJtOn | literal | required | Jump from on options:on,dlyOff,dlyOn,off,no
3: shActionType | literal | required | options:off,toggleToCntInv,toggleToCnt,jmpToTarget
3: shCtDlyOff | literal | required | Jmp on condition from delayOff options:ltHi,between,ltLo,geLo,outside,geHi
3: shCtDlyOn | literal | required | Jmp on condition from delayOn options:between,ltHi,ltLo,geHi,outside,geLo
3: shCtOff | literal | required | Jmp on condition from off options:ltHi,between,outside,geHi,geLo,ltLo
3: shCtOn | literal | required | Jmp on condition from on options:outside,geHi,geLo,ltLo,ltHi,between
3: shCtValHi | 0 to 255 | required | Condition value high for CT table
3: shCtValLo | 0 to 255 | required | Condition value low for CT table
3: shMultiExec | literal | required | reg unused, placeholder only options:on,off
3: shOffDly | 0.0 to 111600s | required | off delay
3: shOffTime | 0.0 to 111600s | required | off time special:unused
3: shOffTimeMode | literal | required | off time meant absolut or at least options:minimal,absolut
3: shOnDly | 0.0 to 111600s | required | on delay
3: shOnTime | 0.0 to 111600s | required | on time special:unused
3: shOnTimeMode | literal | required | on time meant absolut or at least options:minimal,absolut
3: shSwJtDlyOff | literal | required | Jump from delayOff options:dlyOff,dlyOn,no,off,on
3: shSwJtDlyOn | literal | required | Jump from delayOn options:on,dlyOn,dlyOff,no,off
3: shSwJtOff | literal | required | Jump from off options:on,no,off,dlyOff,dlyOn
3: shSwJtOn | literal | required | Jump from on options:on,dlyOff,dlyOn,off,no
What ???????? :-[
What was?
Gruß, Joachim
Sollte Waaaaaaaaaaas bedeuten. Im Sinne von: Ich verstehe nur Bahnhof.
Welches Register könnte das richtige sein?
Kaspi
Tja, dann formuliere halt die Frage auch so, dass man was verstehen kann... ;)
Wo ist das regTable und das list!?
Da es ja jetzt im HomeMatic Unterforum ist (soweit ich gesehen habe) wirst du wohl warten müssen, bis sich jemand meldet bzgl. Register...
Wenn ich raten müsste würde ich auf: lgOnTime bzw. shOnTime tippen...
Aber ich bin nicht sicher, ob dazu ein "internes Peering" notwendig ist, daher ja die Frage bzgl. Aktualität deines fhem (ohne Antwort) und daher auch der Hinweis bzgl. peerSmart bzw. Templates...
Weil für viele Dinge gibt es vorgefertigte Templates...
...hast du hminfo definiert!?
https://wiki.fhem.de/wiki/HomeMatic_HMInfo
Gruß, Joachim
Die Frage habe ich formuliert: " Jetzt brauche ich noch einen Spezi, der sich mit Registern auskennt und mir sagt was ich tun kann."
regTable: No regs found for:
AB_AB_SPRENKLER type:switch -
list:peer register :value
0: intKeyVisib :invisib
0: localResDis :off
0: pairCentral :0x2573CD
1: powerUpAction :off
1: sign :off
1: statusInfoMinDly :2 s
1: statusInfoRandom :1 s
1: transmitTryMax :6
list ?
FHEM Aktuell: mache wöchentlich update
und Templates sind mir zu hoch :-[ (hminfo ist definiert)
ich wurschtel mal ein wenig rum....
Kaspi
list:
list AB_AB_SPRENKLER
in Fhem-Web und Ausgabe dann hier ;)
Aber mal Templates anschauen schadet doch nicht...
...bzw. mal peerSmart anschauen... ;)
Gruß, Joachim
hier das List:
Internals:
CFGFN
DEF 6646FE
FUUID 5d419845-f33f-4137-07cb-4eea704c94a8de8c
IODev myHmUART
LASTInputDev myHmUART
MSGCNT 834
NAME AB_AB_SPRENKLER
NOTIFYDEV global
NR 3382
STATE off
TYPE CUL_HM
chanNo 01
lastMsg No:15 - t:10 s:6646FE d:2573CD 030000
myHmUART_MSGCNT 834
myHmUART_RAWMSG 0501004F15A0106646FE2573CD030000
myHmUART_RSSI -79
myHmUART_TIME 2019-08-05 19:33:28
peerList self01,self02,
protCmdDel 1057
protLastRcv 2019-08-05 19:33:28
protNack 1 last_at:2019-08-05 18:25:16
protRcv 835 last_at:2019-08-05 19:33:28
protResnd 33 last_at:2019-08-05 18:00:03
protResndFail 10 last_at:2019-08-05 17:58:53
protSnd 854 last_at:2019-08-05 19:33:28
protState CMDs_done
protTimedOn 4 last_at:2019-08-05 17:58:43
rssi_at_myHmUART cnt:835 min:-90 max:-75 avg:-80.05 lst:-79
rssi_myHmUART cnt:770 min:-100 max:-82 avg:-87.14 lst:-84
Helper:
DBLOG:
powerOn:
myDbLog:
TIME 1564581289.70999
VALUE 2019-07-31 15:54:49
READINGS:
2019-08-05 19:33:21 CommandAccepted yes
2019-07-31 15:31:49 D-firmware 2.8
2019-07-31 15:31:49 D-serialNr OEQ2307342
2019-08-05 19:33:24 PairedTo 0x2573CD
2019-07-31 15:31:57 R-pairCentral 0x2573CD
2019-07-31 15:31:58 R-powerUpAction off
2019-08-05 19:33:27 R-self01-lgActionType jmpToTarget
2019-08-05 19:33:27 R-self01-shActionType jmpToTarget
2019-08-05 19:33:28 R-self02-lgActionType jmpToTarget
2019-08-05 19:33:28 R-self02-shActionType jmpToTarget
2019-07-31 15:31:58 R-sign off
2019-08-05 19:33:24 RegL_00. 00:00 02:81 0A:25 0B:73 0C:CD 15:FF 18:00
2019-08-05 19:33:25 RegL_01. 00:00 08:00 30:06 56:00 57:24
2019-08-05 19:33:27 RegL_03.self01 00:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:64 0C:66 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:64 8C:66
2019-08-05 19:33:28 RegL_03.self02 00:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:13 0C:33 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:13 8C:33
2019-08-05 18:27:36 deviceMsg off (to VCCU)
2019-08-05 18:27:36 level 0
2019-07-31 15:42:17 levelMissed desired:100
2019-08-05 18:27:36 pct 0
2019-08-05 19:33:26 peerList self01,self02,
2019-07-31 15:54:49 powerOn 2019-07-31 15:54:49
2019-08-05 18:27:36 recentStateType info
2019-08-05 18:27:36 state off
2019-08-05 18:27:36 timedOn off
helper:
HM_CMDNR 21
PONtest 0
cSnd 012573CD6646FE01046646FE0103,012573CD6646FE01046646FE0203
cfgChkResult No regs found for:
AB_AB_SPRENKLER type:switch -
list:peer register :value
0: intKeyVisib :invisib
0: localResDis :off
0: pairCentral :0x2573CD
1: powerUpAction :off
1: sign :off
1: statusInfoMinDly :2 s
1: statusInfoRandom :1 s
1: transmitTryMax :6
dlvlCmd ++A0112573CD6646FE0201000000
mId 0069
peerFriend peerSens,peerVirt
peerIDsRaw ,6646FE01,6646FE02,00000000
peerOpt 3:switch
regLst 0,1,3p
rxType 1
supp_Pair_Rep 0
expert:
def 1
det 0
raw 1
tpl 0
io:
newChn +6646FE,00,01,00
nextSend 1565026408.45557
prefIO
rxt 0
vccu
p:
6646FE
00
01
00
mRssi:
mNo 15
io:
myHmUART:
-77
-77
prt:
bErr 0
sProc 0
rspWait:
q:
qReqConf
qReqStat
regCollect:
role:
chn 1
dev 1
prs 1
rpt:
IO myHmUART
flg A
ts 1565026408.15932
ack:
HASH(0x298d450)
1580022573CD6646FE00
rssi:
at_myHmUART:
avg -80.0514970059879
cnt 835
lst -79
max -75
min -90
myHmUART:
avg -87.1493506493506
cnt 770
lst -84
max -82
min -100
shadowReg:
tmpl:
nb:
cnt 2
Attributes:
IODev myHmUART
IOgrp VCCU:myHmUART
alexaName SPRENKLER
alexaRoom GARTEN
autoReadReg 4_reqStatus
expert 2_raw
firmware 2.8
fp_UEBERSICHT 540,1100,2,
group AUSSENBEREICH
icon humidity
model HM-LC-SW1PBU-FM
peerIDs 00000000,6646FE01,6646FE02,
room AB_AB
serialNr OEQ2307342
subType switch
webCmd on:off:on-for-timer 900
Ich wurschtel weiter ;)
Habe was gefunden:
http://heinz-otto.blogspot.com/2015/08/zeitschalter-mit-homematic-aktoren.html
ich glaube so sollte es gehn.
set <device> regSet intKeyVisib visib
attr <device> expert 1
set <device> regSet shOnTime 900 self01
Kaspi
Zitat von: Kaspi am 05 August 2019, 19:48:38
ich glaube so sollte es gehn.
genau :)
Viele Erfolg
Otto
Hi,
Evtl. Ist es eine weitere Idee dein notify zu erweitern.
define TEST notify AB_AB_SPRENKLER:on set AB_AB_Sprenkler off;; set AB_AB_SPRENKLER on-for-timer 900
Gibt aber immer den Off-Befehl zusätzlich aus...
Zitat von: Mundus am 06 August 2019, 13:14:24
Hi,
Evtl. Ist es eine weitere Idee dein notify zu erweitern.
define TEST notify AB_AB_SPRENKLER:on set AB_AB_Sprenkler off;; set AB_AB_SPRENKLER on-for-timer 900
Gibt aber immer den Off-Befehl zusätzlich aus...
Kannst Du mir die Idee mal näher erklären? :-\
Zitat von: Otto123 am 06 August 2019, 13:29:37
Kannst Du mir die Idee mal näher erklären? :-\
Ich versuch's mal ;)
So wie die Eingangsfrage mittels Notify war:
- Schalter wird gedrückt und Licht etc. geht an
- Ein Event "on" wird gefeuert
- das Notify reagiert und schaltet (kurz) aus und dann wieder ein aber eben mit "on-for-timer"
Also das ist nat. jetzt meine Interpretation... ;)
Gruß, Joachim
Zitat von: MadMax-FHEM am 06 August 2019, 13:36:21
Ich versuch's mal
Ja, so war es gemeint. Bei einem Sprenkler geht das vielleicht...
Gruß
Zitatset AB_AB_Sprenkler off;; set AB_AB_SPRENKLER on-for-timer 900
Eure Erklärung greift nur in die Fehlerkiste ;D
Ich weiß ich bin sensibel :)
Ich würde diese (Not) Lösung dann eher so machen:
define TEST notify AB_AB_SPRENKLER:on sleep 900;; set $NAME off
Oder so
define TEST notify AB_AB_SPRENKLER:on sleep 900;;IF ([$NAME:timedOn] ne "running") (set $NAME off)
Aber die beste Lösung war doch die Register zu programmieren.
Gruß Otto
Ja, der Schreibfehler ist doof und führt nicht zum Erfolg :P
Register ist super, die Notlösung ist nur als Option gedacht gewesen ;)
Viel Spaß noch