peerChan funktioniert zwischen HM-MOD-EM-8 und HM-LC-SW4-BA-PCB nicht

Begonnen von Burny4600, 11 Dezember 2021, 19:04:30

Vorheriges Thema - Nächstes Thema

Burny4600

#30
Sorry.
Mich hatte ständig der Fehler in der Commandref irritiert.
set myRemote peerChan 2 mySwActChn dual set #Verknüpfe Knöpfe 3 und 4
Es wäre vielleicht nicht schlecht diesen Bereich zu korrigieren, und eventuell vor peerSmart warnen, oder was auch immer, damit nicht wieder einer in diese Falle tappt.

Nochmal alles von vorne mit
set OG1_SL_FB1_Btn_01 peerChan 0 OG1_SL_BLO_Sw_01 dual set
set OG1_SL_FB1_Btn_03 peerChan 0 OG1_SL_BLO_Sw_02 dual set
set OG1_SL_FB1_Btn_05 peerChan 0 OG1_SL_BLO_Sw_03 dual set
set OG1_SL_FB1_Btn_07 peerChan 0 OG1_SL_BLO_Sw_04 dual set

1. Tastenpaar schaltet 1. Aktor  AUS/EIN
2. Tastenpaar schaltet 2. Aktor  AUS/EIN
3. Tastenpaar schaltet 3. Aktor  AUS/EIN
4. Tastenpaar schaltet 4. Aktor  AUS/EIN

Somit sehen die Taster entsprechend anders aus und sind vollständig.
list OG1_SL_BLO_Sw_01
Internals:
   CFGFN     
   DEF        6B3FBA01
   FUUID      61b9d64a-f33f-9053-72dc-ba37768a66eb7d8f
   NAME       OG1_SL_FB1_Btn_01
   NR         62495
   NTFY_ORDER 48-HM_6B3FBA_Btn_01
   STATE      Short 1_18 (to OG1_SL_BLO)
   TYPE       CUL_HM
   chanNo     01
   device     OG1_SL_FB1
   disableNotifyFn 1
   peerList   OG1_SL_BLO_Sw_01
   READINGS:
     2021-12-15 17:11:53   R-OG1_SL_BLO_Sw_01-expectAES off
     2021-12-15 17:11:53   R-OG1_SL_BLO_Sw_01-peerNeedsBurst on
     2021-12-15 17:11:49   R-eventFilterTime 5 s
     2021-12-15 17:11:49   R-longPress     0.4 s
     2021-12-15 17:11:49   R-msgScPosA     closed
     2021-12-15 17:11:49   R-msgScPosB     open
     2021-12-15 17:11:49   R-sign          off
     2021-12-15 17:11:49   R-transmitTryMax 3
     2021-12-15 17:11:49   R-triggerMode   button
     2021-12-15 17:11:49   RegL_01.         00:00 04:10 08:00 20:60 23:05 30:03 92:23
     2021-12-15 17:11:53   RegL_04.OG1_SL_BLO_Sw_01  00:00 01:01
     2021-12-15 17:12:55   cfgState        PeerVerf
     2021-12-15 17:11:54   commState       CMDs_done
     2021-12-15 17:11:50   peerList        OG1_SL_BLO_Sw_01
     2021-12-15 17:28:44   state           Short 1_18 (to OG1_SL_BLO)
     2021-12-15 17:28:44   trigger         Short_18
     2021-12-15 17:28:44   triggerTo_OG1_SL_BLO Short_18_ack
     2021-12-15 17:28:44   trigger_cnt     18
   helper:
     BNO        18
     BNOCNT     1
     cfgChkResult No regs found for:-ret--ret-OG1_SL_FB1_Btn_01 type:remote - -ret-list:peer register         :value-ret-   1:      eventFilterTime  :5 s-ret-   1:      longPress        :0.4 s-ret-   1:      msgScPosA        :closed-ret-   1:      msgScPosB        :open-ret-   1:      sign             :off-ret-   1:      transmitTryMax   :3-ret-   1:      triggerMode      :button-ret-   4:OG1_SL_BLO_Sw_01 expectAES        :off-ret-   4:OG1_SL_BLO_Sw_01 peerNeedsBurst   :on-ret-                       -ret-                       -ret-
     peerFriend peerAct,peerVirt
     peerIDsRaw ,5FFB9D01,00000000
     peerIDsState complete
     peerOpt    4:remote
     regLst     1,4p
     cfgChk:
       idPz02     p:OG1_SL_BLO_Sw_01
     cmds:
       TmplKey    OG1_SL_BLO_Sw_01:no:1639584293.66944
       TmplTs     1639584293.66944
       cmdKey     1:0:0::OG1_SL_FB1:00D9:01:OG1_SL_BLO_Sw_01
       cmdLst:
         clear      [({msgErrors}|msgEvents|rssi|attack|trigger|register|oldRegs|readings|all)]
         getConfig  noArg
         getRegRaw  (List0|List1|List2|List3|List4|List5|List6|List7) [-peerChn-]
         peerBulk   -peer1,peer2,...- [({set}|unset)]
         peerChan   -btnNumber- -actChn- [({single}|dual|reverse)] [({set}|unset)] [(actor|remote|{both})]
         peerSmart  -peerOpt-
         regBulk    -list-.-peerChn- -addr1:data1- [-addr2:data2-]...
         regSet     [(prep|{exec})] -regName- -value- [-peerChn-]
         sign       [(on|{off})]
         tplDel     -tplDel-
         tplSet_0   -tplChan-
         tplSet_OG1_SL_BLO_Sw_01 -tplPeer-
         trgEventL  -peer- -condition-
         trgEventS  -peer- -condition-
         trgPressL  [(-peer-|{all})]
         trgPressS  [(-peer-|{all})]
       lst:
         condition  closed,open
         peer       OG1_SL_BLO_Sw_01
         peerOpt    remove_OG1_SL_BLO_Sw_01,AB_FR_AAM_Led,AB_FR_AAM_Mp3,AB_FR_AD,AB_FR_BL_RGB_Auto,AB_FR_BL_RGB_Color,AB_FR_BL_RGB_Dim,AB_GO_RM_TEAM,AB_SG_BWEH1_A,AB_SG_BWEH1_E,AB_SG_BWEH2_A,AB_SG_BWEH2_E,AB_SG_BWEH3_A,AB_SG_BWEH3_E,AB_SG_BWEH4_A,AB_SG_BWEH4_E,AB_SG_BWEH5_A,AB_SG_BWEH5_E,AB_SG_BWEH6_A,AB_SG_BWEH6_E,AB_VG_BW_SPA,AB_VG_BW_SPE,AB_VG_BW_TBA,AB_VG_BW_TBE,EG_BA_HZG_RT_WindowRec,EG_BA_HZG_RT_remote,EG_BA_HZG_TC_WindowRec,EG_BA_HZG_TC_remote,EG_KUE_AAM_Led,EG_KUE_AAM_Mp3,EG_KU_HZG_RT_WindowRec,EG_KU_HZG_RT_remote,EG_KU_HZG_TC_WindowRec,EG_KU_HZG_TC_remote,EG_RM_TEAM,EG_SL_HZG_RT_WindowRec,EG_SL_HZG_RT_remote,EG_SL_HZG_TC_WindowRec,EG_SL_HZG_TC_remote,EG_STH_AAM_Led,EG_STH_AAM_Mp3,EG_STH_HZG_RT_WindowRec,EG_STH_HZG_RT_remote,EG_STH_ZS_T1VGF,EG_TR_BW_TBA,EG_TR_BW_TBE,EG_WC_HZG_RT_WindowRec,EG_WC_HZG_RT_remote,EG_WC_HZG_TC_Weather_vT_S,EG_WI_HZG_RT_WindowRec,EG_WI_HZG_RT_remote,EG_WI_HZG_TC_WindowRec,EG_WI_HZG_TC_remote,EG_WZ_HZG_RT_WindowRec,EG_WZ_HZG_RT_remote,EG_WZ_HZG_TC_WindowRec,EG_WZ_HZG_TC_remote,HM_6A8CB3_Sw_01,HM_6A8CB3_Sw_02,HM_6A8CB3_Sw_03,HM_6A8CB3_Sw_04,HM_6A8CB3_Sw_05,HM_6A8CB3_Sw_06,HM_6A8CB3_Sw_07,HM_6A8CB3_Sw_08,HM_6A9533_Sw_01,HM_6A9533_Sw_02,HM_6A9533_Sw_03,HM_6A9533_Sw_04,HM_6A9533_Sw_05,HM_6A9533_Sw_06,HM_6A9533_Sw_07,HM_6A9533_Sw_08,OG1_BA_HZG_TC_WindowRec,OG1_BA_HZG_TC_remote,OG1_B_BW_TBA,OG1_B_BW_TBE,OG1_KI_HZG_RT_WindowRec,OG1_KI_HZG_RT_remote,OG1_KI_HZG_TC_WindowRec,OG1_KI_HZG_TC_remote,OG1_KU_HZG_RT_WindowRec,OG1_KU_HZG_RT_remote,OG1_KU_HZG_TC_WindowRec,OG1_KU_HZG_TC_remote,OG1_KU_WA_OAFGO,OG1_RM_TEAM,OG1_SL_BLO_Sw_02,OG1_SL_BLO_Sw_03,OG1_SL_BLO_Sw_04,OG1_SL_HZG_RT_WindowRec,OG1_SL_HZG_RT_remote,OG1_SL_HZG_TC_WindowRec,OG1_SL_HZG_TC_remote,OG1_STH_HZG_RT_WindowRec,OG1_STH_HZG_RT_remote,OG1_STH_HZG_TC_WindowRec,OG1_STH_HZG_TC_remote,OG1_VR_AAM_Led,OG1_VR_AAM_Mp3,OG1_WC_HZG_RT_WindowRec,OG1_WC_HZG_RT_remote,OG1_WC_HZG_TC_WindowRec,OG1_WC_HZG_TC_remote,OG1_WZ_BL_RGB_Auto,OG1_WZ_BL_RGB_Color,OG1_WZ_BL_RGB_Dim,OG1_WZ_BL_VIO,OG1_WZ_HZG_RT_WindowRec,OG1_WZ_HZG_RT_remote,OG1_WZ_HZG_TC_WindowRec,OG1_WZ_HZG_TC_remote,OG2_B1_KG_Sw_01,OG2_B1_KG_Sw_02,OG2_B1_KG_Sw_03,OG2_B1_KG_Sw_04,OG2_BU1_AAM_Led,OG2_BU1_AAM_Mp3,OG2_BU1_HZG_RT_WindowRec,OG2_BU1_HZG_RT_remote,OG2_BU1_HZG_TC_WindowRec,OG2_BU1_HZG_TC_remote,OG2_BU2_HZG_RT1_WindowRec,OG2_BU2_HZG_RT1_remote,OG2_BU2_HZG_RT2_WindowRec,OG2_BU2_HZG_RT2_remote,OG2_BU2_HZG_TC_WindowRec,OG2_BU2_HZG_TC_remote,OG2_RM_TEAM,OG2_WC_HZG_RT_WindowRec,OG2_WC_HZG_RT_remote,OG2_WC_HZG_TC_Weather_vT_S,STH_RM_TEAM,VCCU_Btn1
         tplChan   
         tplDel     
         tplPeer   
       rtrvLst:
         cmdList    [({short}|long)]
         deviceInfo [({short}|long)]
         list       [({normal}|full)]
         param      -param-
         reg        -addr- -list- [-peerChn-]
         regList    noArg
         regTable   noArg
         regVal     -addr- -list- [-peerChn-]
         saveConfig [-filename-]
         tplInfo    noArg
     expert:
       def        1
       det        1
       raw        1
       tpl        0
     peerIDsH:
       00000000   broadcast
       5FFB9D01   OG1_SL_BLO_Sw_01
     prt:
     regCollect:
     role:
       chn        1
     shadowReg:
     tmpl:
   nb:
     cnt        3
Attributes:
   model      HM-MOD-EM-8
   peerIDs    00000000,5FFB9D01


Morgen sehe ich mir das mit dem externen Dimmer an, wie ich diesen einbinden kann. Da werde ich unter Umständen am ersten Tastenpaar noch etwas ändern müssen.
Für heute reicht es mir, morgen ist auch noch ein Tag.

Danke für eure Mühe und Unterstützung einstweilen.
Bis morgen.

peerSmart habe ich aus meinem Gedächtnis gestrichen.

regTable
No regs found for:

OG1_SL_BLO_Sw_01 type:switch -
list:peer register         :value
   1:      sign             :off
                       OG1_SL_FB1_Btn_01               OG1_SL_FB1_Btn_02               
                       lg              sh              lg              sh             
SwJtDlyOff             off             off             on              on             
SwJtDlyOn              off             off             on              on             
SwJtOff                off             off             dlyOn           dlyOn           
SwJtOn                 dlyOff          dlyOff          on              on


Die Taster schalten jetzt den Aktor korrekt.
Das die Taster jetzt falsch sind spielt keine Rolle. Das war ohnehin noch ein Entwurf. Die fertige Remote besitzt dann die Richtige Reihung.
LG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess

Pfriemler

Es kann so einfach sein...  ;)
Ja, die commandref gehört mal überarbeitet, ich hak mal nach, vielleicht kann man was beisteuern.

hatte ich wohl auch schon gesagt: Bei Tastenpaaren und dual peer auf einen Aktor ist der erste Taster immer aus/herunterdimmen, der zweite an/hochdimmen. Wenn man selbst Geräte designt, tut man echt gut daran, diese Reihenfolge beizubehalten.
(Die einzige mir bekannte Ausnahme sind die -FM-Aktoren (ohne PBU), bei denen Eingang 1 (self01) ein- und Eingang 2 (self02) ausschaltet bzw. entsprechend dimmt oder das Rollo verfährt.)

peerSmart ist an sich nicht schlecht, aber es fehlen aus meiner Sicht wesentliche Parameter - es wird immer single gepeert, was aber gar nicht so selten eben falsch ist. Dafür merkt sich CUL_HM das und bietet auch smartes unpeer an. Eigentlich ist es einfacher. Meinereiner gehört mehr zu der Sorte, die es so eindeutig wie möglich und so gering manipulativ wie möglich mögen. Templates sollen Standardsituationen abdecken, ändern aber mehr als sie zu tun vorgeben. Lieber "von Hand" den genauen Bedürfnissen nach - vor allem wenn man die Register einmal kapiert hat, macht man mit franks HMDeviceTools mal eben ganz verrückte Dinge, für die es gar kein Template gibt.
So schalte ich mit einem Tastenpaar bei mir auf kurzen Knopfdruck das Deckenlicht im Bad ein und aus und auf einen langen toggele ich oben und unten zwei weitere Aktoren (Fußbodenheizung und Badlüfter). Das geht ganz einfach mit einem dual peer und zwei single peers und danach knipst man die jeweils unerwünschte Aktion mit dem Register xxActionType aus - beim Licht wird lgActionType auf "off" gesetzt (der Aktor ignoriert die langen Tastendrücke) und entsprechend shActionType bei den anderen beiden Aktoren off, damit sie den kurzen Tipp ignorieren - und fertig.
Deswegen: Wenn Du morgen mal formulierst, was Du mit den Tastern noch steuern willst, finden wir vielleicht eine pfiffige Lösung, die mit wenig Aufwand zu realisieren ist.
"Ä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 ..."

Burny4600

Bei einem Dimmer habe ich noch keine Lösung gefunden, wie ich diesen mit dem HM-MOD-EM-8 den HM-LC-SW4-BA-PCB Kontakt richtig schalte.
Der Dimmer reagiert auf einen ON Impuls mit dem Ein- und dem Ausschalten.
Lasse ich den ON aktiv, regelt der Dimmer entweder hoch bis er am Ende angelangt ist, solange ein ON vorhanden ist, oder stoppt, sobald ein ON nicht mehr vorhanden ist.
Gebe ich darauffolgend wieder ein ON, regelt der Dimmer in die andere Richtung, solange das ON vorhanden ist.
Grundsätzlich sollte das mit beiden Geräten möglich sein.
Der HM-MOD-EM-8 reagiert ja unterschiedlich, ob eine Taste kurz oder lange betätigt wird.
Beim HM-MOD-EM-8 Tastenpaar für den Dimmer ist eigentlich nur ein Taster notwendig, der auf ON-Kurz und ON-Lange reagiert.
Mit einem ON-Kurz wird der HM-LC-SW4-BA-PCB Kanal ein bzw. ausgeschaltet.
Mit enem ON-Lange wird der HM-LC-SW4-BA-PCB Kanal, solange Hoch- bzw. Heruntergeregelt, bis ein erneuter Impuls folgt. Hier könnte ich zusätzlich den OFF-Taster verwenden, um das Hoch- oder Herunterdimmen zu beenden.
Lässt sich das mit den beiden Geräten überhaupt verwirklichen, oder muss ich noch etwas dazwischen hängen?
LG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess

Otto123

Der Dimmer ist was externes?
Du willst eigentlich den Taster vom EM-8 so mit einem Kanal vom SW4 koppeln, dass der Quasi exakt das Gleiche macht? Also solange schließen wie der Taster gedrückt wird?
Oder ich habe es falsch verstanden...
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Burny4600

Hallo Otto123
Ja der Dimmer ist ein externer Eltako Dimmer. Dieser wird über einen herkömmlichen Taster geregelt.
Zitat....Taster vom EM-8 so mit einem Kanal vom SW4 koppeln....
Der Dimmer reagiert nur auf Tastendruck.
Taster on Impuls => Ein- oder Ausschalten.
Taster on long => Dimmer regelt nach oben oder nach unten
Taster on long mit halt => Wenn am Dimmer Eingang kein Signal anliegt, bleibt der Dimmer stehen. Anschließend ein weiteres on long lässt den Dimmer in die andere Richtung regeln bis das high Signal wieder entfernt wird.

In der Kombination EM-8 mit SW4 ist es nicht notwendig, dass der EM-8 Taster ständig high senden muss.
Ein on long des Tasters reicht, damit der SW4 solange aktiv bleibt bis ein weiterer Impuls erfolgt. on kurz oder on long.
Der Dimmer merkt sich, in welche Richtung der Dimmer zuletzt geregelt hatte.

Ich denke, dass hierfür wahrscheinlich eine externe Funktion notwendig wird.
LG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess

Otto123

Also eigentlich bräuchtes Du sowas wie eine 1:1 Kopplung
short müsste einen kurzen Impuls ergeben
long einen langen

Müsste man mit den registern hinbekommen, template autoOff und dann:
shOnTime
lgOnTime

Schau mal, Du müsstest meine Garagentorbedienung bloß um den long erweitern:
https://heinz-otto.blogspot.com/2016/07/garagentor-mit-fhem-bedienen.html

Ich weiß nur nicht wie kurz man shOnTime wirklich machen kann und was der eltako da will.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Pfriemler

#36
Mal nochmal ganz doof gefragt:
Zitat von: Burny4600 am 25 Dezember 2021, 13:02:49
Bei einem Dimmer habe ich noch keine Lösung gefunden, wie ich diesen mit dem HM-MOD-EM-8 den HM-LC-SW4-BA-PCB Kontakt richtig schalte.

Also zwei Ausgänge des Sw4-BA steuern die Tastereingänge des Dimmers oder was?
Dann wäre es doch in diesem Fall total sinnvoll, den Eltako 1:1 fernzubedienen.
- EM-8 Kanal auf "sensor" schalten -> Verhalten als Schaltkontaktsensor
- Sw4-Kanal so programmieren, dass er dem Hardwaretaster am Eingang des EM-8 1:1 folgt, also einschaltet, sobald die Taste gedrückt wird, und ausschaltet, sobald sie losgelassen wird.
Bis auf die Latenzen der Direktverknüpfung bedient sich das dann wie lokal.

also
- Taste gedrückt -> closed -> (Funkbefehl) -> Aktor schaltet ein
- Taste losgelassen -> open -> (Funkbefehl) -> Aktor schaltet aus

Basics und Registermanipulation dazu bspw. in diesem WIKI-Kapitel

Ich fürchte aber, dass sehr kurz aufeinanderfolgende closed-open nicht unbedingt immer erfolgreich prozessiert werden. Hier käme es auf einen Versuch an. Für kurze Tastenbetätigungen ist die Einschaltzeitbegrenzung im Zusammenhang mit "short" (also im button-Modus) eindeutig die bessere Lösung.

Ich würde für solche Zwecke aber lieber nicht einen Sw4-BA nehmen, weil dessen Aufweckung per Burst eine zusätzliche Bedienlatenz erzeugt und das auch für die Lebensdauer aller anderen batteriebetriebenen Aktoren und Empfänger nicht so prickelnd ist, wenn man da sehr viel öfter als 1-2x pro Tag Vorgänge auslöst.

So wie Otto es beschreibt, müsste es aber auch gehen: Begrenzung von shOnTime und lgOnTimeErgänzung: evtl.  krame ich mal meinen 4-Kanal-Relaisaktor heraus und probiere das mal aus...

- kurzer Tastendruck -> short (Funkbefehl) -> Aktor schaltet für kurze Zeit ein und selbsttätig aus
- langer Tastendruck -> long (Funkbefehl) -> Aktor schaltet für mindestens 0.5 s ein und wird retriggert, solange weitere Funkbefehle ankommen, wenn diese ausbleiben, schaltet er aus.

Da gab es aber einen Firmwarefehler, der das in der Kombi EM-8+Burst-Aktor verhindert:
https://wiki.fhem.de/wiki/HM-MOD-EM-8_8-Kanal-Sendemodul#Bekannte_Probleme

"Ä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 ..."

Otto123

Mist, stimmt das Problem mit dem peering mit den pba Aktoren war mir entfallen. Man konnte ja auch die Wand Thermostate nicht mit den peeren. Oder war das noch was anderes?
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz