Hi
ich möchte gerne mit einer HM-PB-2-WM55-2 eine Intertechno ITR-1500 steuern. Dabei sollen beide Taster als Toggle funktionieren.
Hierbei soll zur Sicherheit bei einem on-Toggle immer ein on-for-timer 300 verwendet werden.
Die Steckdose:
Zitat
Internals:
DEF xxxxxxxxxx FF F0
IODev CUL
NAME Vorratsraum.Licht
NR 214
STATE off
TYPE IT
XMIT xxxxxxxxxx
XMITdimdown 00
XMITdimup 00
XMIToff f0
XMITon ff
Code:
1 xxxxxxxxxx
Readings:
2015-07-19 20:36:19 protocol V1
2015-07-19 21:19:34 state off
Attributes:
IODev CUL
alias Vorratsraum Licht
cmdIcon on:general_an off:general_aus on-for-timer:light_on-for-timer
group Licht
model itswitch
room Küche,Licht
webCmd on:off
Der Schalter:
Internals:
BNO 40
BNOCNT 14
DEF 30FECB01
NAME Vorratsraum.Schalter_Btn_01
NR 93
NTFY_ORDER 50-Schalter.Reserve1_Btn_01
STATE LongRelease 14_40 (to vCCU)
TYPE CUL_HM
chanNo 01
device Vorratsraum.Schalter
Readings:
2015-07-18 23:34:05 R-dblPress 0 s
2015-07-18 23:34:05 R-longPress 0.4 s
2015-07-18 23:34:05 R-sign off
2015-07-18 23:34:05 RegL_01: 04:10 08:00 09:00 00:00
2015-07-19 21:23:34 state LongRelease 14_40 (to vCCU)
2015-07-19 21:23:34 trigDst_vCCU noConfig
2015-07-19 21:23:34 trigger Long_40
2015-07-19 21:23:34 trigger_cnt 40
Helper:
Role:
chn 1
Attributes:
model HM-PB-2-WM55-2
peerIDs 00000000,
So richtig weis ich nicht wie ich anfangen soll. Kann mir hier jemand helfen/einen Tipp geben?
Ein notify auf deinen HM-PB-2 und im notify auf Value("Name_der_ITR") prüfen und bei off ein on-for-timer 300 senden und ein !off ein off senden.
Als Gedankenstoss:
if (Value("ITR") ne off) {
fhem("set ITR off");
} else {
fhem ("set ITR on");
}
Wenn du mehr gewollt hättest wäre es nett gewesen die Infos zu posten um die ich im angepinnten Beitrag bitte ;)
Internals:
CFGFN
DEF Vorratsraum.Schalter.* {
if (Value("Vorratsraum.Licht") ne "off") {
fhem ("set Vorratsraum.Licht off");
} else {
fhem("set Vorratsraum.Licht on");
}
}
NAME n_Vorratsraum.LichtToggle
NR 959
NTFY_ORDER 50-n_Vorratsraum.LichtToggle
REGEXP Vorratsraum.Schalter.*
STATE 2015-07-19 22:16:18
TYPE notify
Readings:
2015-07-19 22:15:16 state active
Attributes:
Jetzt sieht es bei mir so aus.
Allerdings schaltet nun die Lampe immer an und aus bei nur 1x Taster drücken:
2015.07.19 22:19:27 2: IT set Vorratsraum.Licht on
2015.07.19 22:19:27 2: IT set Vorratsraum.Licht off
2015.07.19 22:19:27 2: IT set Vorratsraum.Licht on
2015.07.19 22:19:28 2: IT set Vorratsraum.Licht off
2015.07.19 22:19:28 2: IT set Vorratsraum.Licht on
2015.07.19 22:19:28 2: IT set Vorratsraum.Licht off
2015.07.19 22:19:29 2: IT set Vorratsraum.Licht on
Das on-for-timer hab ich erstmal noch rausgelassen das ist ja zum Schluss schnell angepasst.
Ja weil der ITR mehr als 1 Event sendet.
EventMonitor schauen <-- steht auch im angepinnten Beitrag ;)
Nein wenn überhaupt sendet der Homematic mehr als 1 Event. Ich versucht schon längst mit dem EventMonitor den Fehler zu finden.
Ah quietsch sorry zurück.
Der HM sendet auf alle Fälle mehr als 1 Event daher das ein/aus/ein ;)
Ich hab das regexp für das notify so:
EG_Licht_Vorraum:Short.* {
resp. der Code sieht so
EG_Licht_Vorraum:Short.* {
if (Value("EG_Vorraum_Licht") ne "Ein") {
fhem("set EG_Vorraum_Licht on");
}
else {
fhem("set EG_Vorraum_Licht off");
}
}
aus.
Achtung!
Code ist nicht! für die fhem.cfg gedacht.
Ich hab eventMap gesetzt daher prüfe ich auf Value Ein und nicht on.
Sieht also ähnlich aus wie bei mir jetzt:
Vorratsraum.Schalter_Btn_.*:Short.* {
if (Value("Vorratsraum.Licht") ne "off") {
fhem ("set Vorratsraum.Licht off");
} else {
fhem ("set Vorratsraum.Licht on-for-timer 300");
}
}
Ggf. lerne ich den den Schalter noch an einen Dummy an, damit ich den Befehlt quittiert bekomme.
Für HM-Geräte würde ich immer zum normalen IODEV eine vccu anlegen.
Schau mal im Wiki oder im Homematic-Bereich nach Vccu anlegen - da gibt es jede Menge Beiträge.
Dann klappts auch mit der Quittier-Led.
Ich hab schon ein vCCU (siehe Sigantur). Mein Kommentar bezieht sich nur darauf, dass ich hier noch einen Todo hatte :D
Hab übrigens nur einen gemeinsamen virtuellen Button für alle Taster angelegt, da ich weiterhin den Schalter direkt auswerte.
So noch eine kleine Optimierung und gut ist:
Vorratsraum.Schalter_Btn_.*:(Short|LongRelease).* {
if (Value("Vorratsraum.Licht") ne "off") {
fhem ("set Vorratsraum.Licht off");
} else {
fhem ("set Vorratsraum.Licht on-for-timer 300");
}
}