Nach Update (6.8.2020) FM "pressS parameter required: -peer-"

Begonnen von isy, 06 August 2020, 16:21:17

Vorheriges Thema - Nächstes Thema

isy

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
Ein Weg wird erst zu einem Weg, wenn man ihn geht

frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

isy

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.
Ein Weg wird erst zu einem Weg, wenn man ihn geht

martinp876

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 .

isy

#4
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?
Ein Weg wird erst zu einem Weg, wenn man ihn geht

martinp876

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.