Moin zusammen,
FM betrifft meinen virtuellen VCCU Button in Verbindung mit einem HM-LC-SW1-PL-CT-R1 (Zwischenstecker Schaltaktor Garagentor) und der HM Version # $Id: 10_CUL_HM.pm 22533 2020-08-03 19:02:42Z.
Der Button ist mit dem Kanal 01 gepeert.
Hat bislang funktioniert, es gab aber in 2018 schon mal dazu ein Ticket im Forum, siehe https://forum.fhem.de/index.php/topic,83034.0.html
Ich habe die FM auch als Hardcopy beigefügt.
Nach "restore" auf die vorherige HM Version (# $Id: 10_CUL_HM.pm 22393 2020-07-13 18:07:46Z martinp876 $) ist die FM weg.
Hat jemand von euch eine Idee?
Gruß Helmut
List vom VCCU Button:
Internals:
DEF F1157302
FUUID 5c42e845-f33f-27cb-5ec6-a34d821ee7e10fc7
NAME Alte_Garage_auf_zu
NOTIFYDEV global
NR 542
NTFY_ORDER 50-Alte_Garage_auf_zu
STATE Short 3_8 (to ga_alt_SW_Tor)
TYPE CUL_HM
chanNo 02
device VCCU
peerList ga_alt_SW_Tor,
READINGS:
2020-08-06 15:57:06 cfgState ok
2020-08-06 15:56:57 peerList ga_alt_SW_Tor,
2020-08-06 10:50:57 state Short 3_8 (to ga_alt_SW_Tor)
2020-08-06 10:50:57 trigger Short_8
2020-08-06 10:50:57 triggerTo_ga_alt_SW_Tor Short_8
2020-08-06 10:50:57 trigger_cnt 8
helper:
peerFriend peerSens,peerAct
peerOpt -:virtual
regLst
cmds:
TmplKey ga_alt_SW_Tor,:no:1596722217.46191
TmplTs 1596722217.46191
cmdKey 1:0:1::VCCU:FFF0:02:ga_alt_SW_Tor,
cmdLst:
peerChan -btnNumber- -actChn- ... [single|dual|reverse] [set|unset] [actor|remote|both]
peerSmart -peerOpt-
postEvent -condition-
press [long|short] [noBurst] [-repCount(long only)-] [-repDelay-] ...
pressL -peer-
pressS -peer-
tplSet_0 -tplChan-
tplSet_ga_alt_SW_Tor -tplPeer-
lst:
peer ga_alt_SW_Tor
peerOpt remove_ga_alt_SW_Tor,HM_222275_WindowRec,HM_222275_remote,HM_23C4BB_WindowRec,HM_23C4BB_remote,HM_3545CF_WindowRec,HM_3545CF_remote,HM_370344_SenF,HM_370344_SenI,HM_370344_SenPwr,HM_370344_SenU,HM_370344_Sw,HM_388C62_WindowRec,HM_388C62_remote,HM_3A4A8D_WindowRec,HM_3A4A8D_remote,HM_3A7AFD_WindowRec,HM_3A7AFD_remote,HM_3AFE09_WindowRec,HM_3AFE09_remote,HM_3AFE17_WindowRec,HM_3AFE17_remote,HM_3AFE21_WindowRec,HM_3AFE21_remote,HM_47BBB8_Btn_01,HM_47BBB8_Btn_02,HM_481CCC_Sw1_V_01,HM_481CCC_Sw1_V_02,HM_4DB2C1_WindowRec,HM_4DB2C1_remote,HM_5018B6_WindowRec,HM_5018B6_remote,HM_515D1E_WindowRec,HM_515D1E_remote,HM_515D3D_WindowRec,HM_515D3D_remote,HM_645FFE_WindowRec,HM_645FFE_remote,HM_6674CF_Btn_01,HM_6674CF_Btn_02,HM_6674CF_Btn_03,HM_6674CF_Btn_04,HM_6674CF_Btn_05,HM_6674CF_Btn_06,HM_6674CF_Btn_07,HM_6674CF_Btn_08,Heizung,au_Bew_Gartentuer,au_Bew_Haustuer,au_Bew_Terrasse,au_Kamera,au_Lampe_Garage,au_Lampe_Gartentuer,au_Lampe_Haustuer,au_Lampe_Holzplatz,au_Teichpumpe,az_SW_Fenster_l,az_SW_Fenster_r,az_rollo,di_Bew_Diele,di_Bew_Diele_OG,di_Halogenschiene_EG,ez_SW_BalkonTuer,ez_rollo_l,ez_rollo_m,ez_rollo_r,ez_rollo_t,ga_SW_Tor,ga_TK_Tor,ga_TK_TorA,gw_SW_Fenster,ku_Abzugshaube,ku_SW_Fenster_l,ku_SW_Fenster_r,ku_rollo_l,ku_rollo_r,sk_SW_Fenster,sz_DI_Deckenleuchte,sz_SW_Fenster_Teich,wz_SW_BalkonTuer,wz_rollo_hi,wz_rollo_t,wz_rollo_tei,wz_sw_Fenster
tplChan
tplDel
tplPeer
expert:
def 1
det 0
raw 0
tpl 0
role:
chn 1
vrt 1
tmpl:
Attributes:
alias Garage auf/zu (alt)
eventMap pressS:Klick
group Garagenöffner
icon remotecontrol/black_btn_POWEROFF3
model CCU-FHEM
peerIDs 34D90C01,
room Garagen
webCmd Klick
List vom HM-LC-SW1-PL-CT-R1
Internals:
DEF 34D90C
FUUID 5c42e845-f33f-27cb-7844-e9bdf358b61fef96
IODev HMUART2
NAME ga_alt_SW_Tor
NOTIFYDEV global
NR 546
NTFY_ORDER 50-ga_alt_SW_Tor
STATE off
TYPE CUL_HM
chanNo 01
peerList Alte_Garage_auf_zu,
READINGS:
2020-08-05 11:51:10 CommandAccepted yes
2018-02-11 17:37:15 D-firmware 2.5
2018-02-11 17:37:15 D-serialNr MEQ1844272
2020-06-18 10:57:59 PairedTo 0xF11573
2020-06-18 10:57:59 RegL_00. 00:00 02:01 0A:F1 0B:15 0C:73 15:FF 18:00
2020-06-18 10:57:59 RegL_01. 00:00 08:01 30:06 56:00 57:24
2020-06-18 10:58:01 RegL_03.Alte_Garage_auf_zu 00:00 02:00 03:00 04:32 05:64 06:00 07:04 08:00 09:FF 0A:01 0B:14 0C:63 82:00 83:00 84:32 85:64 86:00 87:06 88:00 89:FF 8A:21 8B:14 8C:63
2020-08-05 11:51:10 aesCommToDev ok
2020-08-06 10:50:58 aesKeyNbr 06
2020-08-06 16:12:28 cfgState ok
2020-08-06 12:49:15 commState CMDs_done
2020-08-06 12:49:14 deviceMsg off (to VCCU)
2020-08-06 12:49:14 level 0
2020-08-06 12:49:14 pct 0
2020-08-06 16:12:20 peerList Alte_Garage_auf_zu,
2020-06-18 10:56:43 powerOn 2020-06-18 10:56:43
2020-08-06 12:49:14 recentStateType info
2020-08-06 12:49:14 state off
2020-08-06 12:49:14 timedOn off
2020-08-06 10:50:57 trigLast Alte_Garage_auf_zu:short
2020-08-06 10:50:57 trig_Alte_Garage_auf_zu Short_8
helper:
HM_CMDNR 240
mId 0002
peerFriend peerSens,peerVirt
peerOpt 3:switch
regLst 0,1,3p
rxType 1
cmds:
TmplKey Alte_Garage_auf_zu,:no:1596723140.4356
TmplTs 1596723140.4356
cmdKey :1:1:0::0002:01Alte_Garage_auf_zu,
TmplCmds:
tplSet_Alte_Garage_auf_zu:[SwCondAbove_long|SwCondAbove_short|SwCondBelow_long|SwCondBelow_short|SwOff_long|SwOff_short|SwOnCond_long|SwOnCond_short|SwOn_long|SwOn_short|SwToggle_long|SwToggle_short|autoOff_long|autoOff_short|motionOnSw_long|motionOnSw_short]
cmdList:
assignHmKey:
clear:[readings|trigger|register|oldRegs|rssi|msgEvents|msgErrors|attack|all]
deviceRename:newName
eventL:-peer- -cond-
eventS:-peer- -cond-
fwUpdate:-filename- -bootTime- ...
getConfig:
getDevInfo:
getRegRaw:[List0|List1|List2|List3|List4|List5|List6] ... [-PeerChannel-]
getSerial:
getVersion:
inhibit:[on|off]
off:
on-for-timer:-ontime-
on-till:-time-
on:
pair:
peerBulk:-peer1,peer2,...- [set|unset]
peerIODev:[IO] -btn- [set|unset]... not for future use
peerSmart:[remove_Alte_Garage_auf_zu|Garage_Auf_zu|HM_370344_SenF|HM_370344_SenI|HM_370344_SenPwr|HM_370344_SenU|HM_47BBB8_Btn_01|HM_47BBB8_Btn_02|HM_6674CF_Btn_01|HM_6674CF_Btn_02|HM_6674CF_Btn_03|HM_6674CF_Btn_04|HM_6674CF_Btn_05|HM_6674CF_Btn_06|HM_6674CF_Btn_07|HM_6674CF_Btn_08|VCCU_Btn3|au_Bew_Gartentuer|au_Bew_Haustuer|au_Bew_Terrasse|az_SW_Fenster_l|az_SW_Fenster_r|di_Bew_Diele|di_Bew_Diele_OG|ez_SW_BalkonTuer|ga_TK_Tor|ga_TK_TorA|gw_SW_Fenster|ku_SW_Fenster_l|ku_SW_Fenster_r|sk_SW_Fenster|sz_SW_Fenster_Teich|wz_SW_BalkonTuer|wz_sw_Fenster]
press:[long|short] -peer- [-repCount(long only)-] [-repDelay-] ...
raw:data ...
regBulk:-list-.-peer- -addr1:data1- -addr2:data2- ...
regSet:[prep|exec] -regName- -value- ... [-peerChannel-]
reset:
sign:[on|off]
statusRequest:
toggle:
tplDel:tmplt
unpair:
expert:
def 0
det 0
raw 1
tpl 0
io:
newChn +34D90C,00,03,00
prefIO
rxt 0
vccu VCCU
p:
34D90C
00
03
00
mRssi:
mNo
prt:
bErr 0
sProc 0
q:
qReqConf
qReqStat
role:
chn 1
dev 1
prs 1
tmpl:
Attributes:
IODev HMUART2
IOgrp VCCU
alias Alte_Garage_Tor_auf_zu
autoReadReg 4_reqStatus
expert defReg,rawReg
firmware 2.5
group Schalter
icon remotecontrol/black_btn_POWEROFF3
model HM-LC-SW1-PL-CT-R1
peerIDs 00000000,F1157302,
room Unsorted
serialNr MEQ1844272
subType switch
webCmd press
wie rufst du das cmd auf?
Danke für die Rückmeldung!
Die Auslösung des Schalters erfolgt per "Klick" auf den VCCU Button, nur über GUI.
Wenn ich mich recht entsinne via:
eventMap pressS:Klick
und dann
webCmd Klick
Es wird also ein pressS auf dem virtuellen Button an den Kanal des Schaltaktors übertragen.
Denke ich.
hm. erst einmal ein Spezifikations-Problem.
Press ist ein Aktor Kommando. Es simuliert beim Aktor den Trigger "press" von einem gepeerten "Button"
=> Für Virtuelle Channels ist Press also eigentlich quatsch.
=> einen
Für Buttons kann man das auslösen eines Press "nachahmen". Das Kommando ist "trgPress"
=> Virtuelle Kanäle können gut Buttons simulieren
Ich werde also nun meinen Fehler korrigieren und trgPress einführen.
Ob Press erhalten bleibt überlege ich noch... Sinn macht es keinen .
Ja, es handelt sich um ein Konfigurationsthema.
Blöd ist, dass ich keine Doku gefunden habe zur damaligen Einrichtung des Aktors. Ich denke, die Konfiguration habe ich aus dem Forum von einem Beitrag übernommen. Das Ganze liegt bestimmt 2 od. 3 Jahre zurück.......
Der Aktor selbst liefert im WebCmd die "press" Funktion.
Wenn man die anklickt, schaltet der Aktor das Relais für ca. 0,5 sek auf "on", dann wieder "off". Volle Funktion also.
Gleiche Arbeitsweise ergibt sich mit <set ga_alt_SW_Tor pressS".
--> Man braucht den virtuellen VCCU Button gar nicht!
Ist dieses Folgerung korrekt?
Zitat--> Man braucht den virtuellen VCCU Button gar nicht!
Ist dieses Folgerung korrekt?
jain
"Press" schickt man an einen Aktor-KANAL (mal von virtual abgesehen) um das programmierte Verhalten des Aktors auszulösen, welcher diesem Peer zugeordnet ist
Daraus ergibt sich
1) ein Aktor-Kanal ist bspw mit 3 Buttons/Sensoren gepeert (B1/B2/B3). Zusätzlich hat er den internen Peer (self01)
2) du hast im Aktor für jeden Peer ein Verhalten programmiert. Es können alle identisch sein, oder auch nicht. Auch für einen einfachen Schalter kann das sein (Beispiel)
2a) toggle für peer B1 short, off für peer B1 long
2b) toggle-to-count für peer B2 short, on für peer B2 long
2c) on-for-timer 3600 für peer B3 short, on-for-timer 20 für peer B3 long
2d) on für peer self short, off für peer self long
Mit pressL B1 löst du das Verhalten aus, also toggle, mit pressL (noArg defaults to self) wird also "off" ausgelöst.
Du kannst das Verhalten eines jeden gepeerten Buttons auslösen und auch testen.
Weiter: Das ganze ist aktor-kanal-indivuduell. Hast du einen Button gepeert mit 5 aktor-kanälen so wird "press" nicht an alle Aktor-Kanäle geschickt sondern nur an den ausgewählten.
Mit dieser Methode kann man also besondere (aktor-)Programme ausführen, welche man in diesem erstellt hat. Könnte bei Aktoren mit mehr Möglichkeiten hilfreich sein (dimmer/blind). So kann man das Blind-fahren für kleine Wege präziser programmieren.....
Noch eine Nutzungs-Option: event(S/L) - hier kann man einen Wert mitgeben, welcher im Aktor ausgewertet wird.
===> einen Virtuellen Aktor peeren brauchst du nur für "Programme" welche nicht sowieso schon programmiert sind.