HM-MOD-EM-8Bit anlernen

Begonnen von wendeling, 18 Februar 2017, 13:14:25

Vorheriges Thema - Nächstes Thema

rabehd

#30
Anlerntaste hat geholfen. Danke

Jetzt sieht es etwas anders aus.
Das CMDs_pending bleibt aber.

list list HM_519034
Internals:
   CFGFN
   DEF        519034
   IODev      SCC
   LASTInputDev SCC
   MSGCNT     19
   NAME       HM_519034
   NOTIFYDEV  global
   NR         2076
   SCC_MSGCNT 19
   SCC_RAWMSG A0C07A2415190341503130305FF::-61.5:SCC
   SCC_RSSI   -61.5
   SCC_TIME   2017-02-20 18:51:21
   STATE      CMDs_pending
   TYPE       CUL_HM
   channel_01 HM_519034_Btn_01
   channel_02 HM_519034_Btn_02
   channel_03 HM_519034_Tr
   lastMsg    No:07 - t:41 s:519034 d:150313 0305FF
   protCmdPend 10 CMDs pending
   protLastRcv 2017-02-20 18:51:21
   protSnd    26 last_at:2017-02-20 18:51:21
   protState  CMDs_pending
   rssi_at_SCC min:-65.5 cnt:19 avg:-60.57 lst:-61.5 max:-56.5
   Readings:
     2017-02-20 17:56:09   CommandAccepted yes
     2017-02-20 18:48:53   D-firmware      1.0
     2017-02-20 18:48:53   D-serialNr      NEQ1546982
     2017-02-20 18:48:54   PairedTo        0x150313
     2017-02-20 18:48:54   R-pairCentral   0x150313
     2017-02-20 18:48:54   RegL_00.          02:01 05:00 0A:15 0B:03 0C:13 12:00 14:03 18:00  00:00
     2017-02-20 18:51:21   battery         ok
     2017-02-20 18:49:34   state           CMDs_pending
   cmdStack:
     ++A0011503135190340303
     ++A00115031351903403040000000001
     ++A0011503135190340303
     ++A00115031351903400040000000000
     ++A00115031351903401040000000001
     ++A0011503135190340103
     ++A00115031351903402040000000001
     ++A0011503135190340203
     ++A00115031351903403040000000001
     ++A0011503135190340303
   Helper:
     HM_CMDNR   7
     cSnd       0115031351903403040000000001,011503135190340303
     mId        0106
     rxType     28
     supp_Pair_Rep 0
     Expert:
       def        1
       det        1
       raw        1
       tpl        1
     Io:
       newChn     +519034,02,00,00
       nextSend   1487613081.66357
       prefIO
       rxt        2
       vccu
       p:
         519034
         00
         00
         00
     Mrssi:
       mNo        07
       Io:
         SCC        -59.5
     Prt:
       bErr       0
       sProc      2
     Q:
       qReqConf
       qReqStat
     Role:
       dev        1
     Rpt:
       IO         SCC
       flg        A
       ts         1487613081.56839
       ack:
         HASH(0x53a3720)
         07800215031351903400
     Rssi:
       At_scc:
         avg        -60.5789473684211
         cnt        19
         lst        -61.5
         max        -56.5
         min        -65.5
     Shadowreg:
     Tmpl:
Attributes:
   IODev      SCC
   IOgrp      VCCU:SCC
   autoReadReg 4_reqStatus
   expert     251_anything
   firmware   1.0
   model      HM-MOD-EM-8Bit
   room       CUL_HM
   serialNr   NEQ1546982
   subType    pushButton
   webCmd     getConfig:clear msgEvents


list HM_519034_Tr
Internals:
   CFGFN
   DEF        51903403
   NAME       HM_519034_Tr
   NOTIFYDEV  global
   NR         2080
   STATE      unknown:FF
   TYPE       CUL_HM
   chanNo     03
   device     HM_519034
   Readings:
     2017-02-20 18:48:55   R-dInProp0      off
     2017-02-20 18:48:55   R-dInProp1      off
     2017-02-20 18:48:55   R-dInProp2      off
     2017-02-20 18:48:55   R-dInProp3      off
     2017-02-20 18:48:55   R-dInProp4      off
     2017-02-20 18:48:55   R-dInProp5      off
     2017-02-20 18:48:55   R-dInProp6      off
     2017-02-20 18:48:55   R-dInProp7      off
     2017-02-20 18:48:55   R-dataTransCond lvlChng_H_L
     2017-02-20 18:48:55   R-sign          off
     2017-02-20 18:48:55   R-stabFltTime   1 s
     2017-02-20 18:51:21   contact         unknown:FF (to VCCU)
     2017-02-20 18:51:21   state           unknown:FF
     2017-02-20 18:51:21   trigger_cnt     5
   Helper:
     getCfgList all
     getCfgListNo ,4
     Expert:
       def        1
       det        1
       raw        1
       tpl        1
     Role:
       chn        1
     Shadowreg:
     Tmpl:
Attributes:
   expert     251_anything
   model      HM-MOD-EM-8Bit
   peerIDs
Auch funktionierende Lösungen kann man hinterfragen.

Thorsten Pferdekaemper

Hi,
das sieht doch schonmal gar nicht schlecht aus.
Ich denke mal, dass diese Parameter interessant sind:

R-dInProp0      off
R-dataTransCond lvlChng_H_L

Könntest Du damit mal rumspielen? Also sowas wie "set HM_519034_Tr regSet blabla", damit man mal erfährt, was da geht? Dann auf etwas umstellen, was vielleicht NEW_DATA_SEND_IMMEDIATELY_DEFAULT_ENABLE entsprechen könnte.
...und einen Taster anschließen (wahrscheinlich gegen GND), damit rumspielen und dabei den Event Monitor beobachten. Ich glaube, man muss die Taste mindestens 1 Sekunde drücken.
Gruß,
   Thorsten
FUIP

Pfriemler

#32
Sagt mal ... da das doch der erste Thread zu dem Teil ist, der wieder nach Kennenlernen und Ausprobieren aussieht, gehört das doch eigentlich direkt nach Homematic verschoben, oder?
Schließe mich da Ottos erstem Post an!

Admins? Wendeling? (Der Threadersteller kann das machen).

Den ELV-Artikel zu dem Ding habe ich gelesen, ihr seid auf der richtigen Fährte. (Die Besitzer des Bausatzes müssten den Artikel ja als Papier vorliegen haben).
Im Artikel wird von ingesamt 7 Übertragungsmodi gesprochen:

Modus 1-3: Sendung bei Änderung des Pegels an DU30 (Taster-Eingang, ist low-aktiv) bzw. Spannungseingang DUI30 (high-aktiv):
Modus 1: Senden bei Änderung H->L (könnte dem zitierten "lvlChng_H_L" entsprechen)
Modus 2: dito bei L->H
Modus 3: Senden bei H->L und L->H

Modus 4 und 6: Senden bei bestimmten Zuständen am Dateneingang (bei Änderung der Bits sozusagen), wenn diese länger als die "Datenstabilitätsfilterzeit" anliegen (bei kurzen Änderungen erfolgt keine Sendung) - ähnlich wie eventFilterTime bei Sensoren: Sendung erst x Sekunden nachdem es eine Änderung gab)
Modus 4: Sendung erfolgt wenn Datenübertragungseingang HIGH (bei low erfolgt keine Sendung)
Modus 6: Dito, aber bei Datenübertragungseingang LOW

Modus 5 und 7: Senden sofort bei Änderung, danach Wartezeit (ähnlich minInterval bei Bewegungsmeldern - Wartezeit nach Meldung einer Bewegung)
Modus 5: Sendung erfolgt wenn Datenübertragungseingang HIGH (bei low erfolgt keine Sendung)
Modus 7: Dito, aber bei Datenübertragungseingang LOW

Jetzt müsste man herausbekommen wie die Register und Modi nach martins Definition heißen.
dInPropX? Sind das die einzelnen Bits oder soll das eine Maske sein für die Triggerung? Davon ist aber nirgends die Rede.

Was liefert regList des Kanal 3? Da stehen doch sonst die möglichen Werte drin.

"stabFltTime" müsste diese "Datenstabilitätsfilterzeit" sein, die dann je nach Modus eine Wartezeit bis zu -oder- nach einer Sendung darstellt.

Jm2c.


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

rabehd

mach ich, aber nicht mehr heute abend. morgen hat die bessere Hälfte Spätschicht...

Wenn man einen Taster an den Kanal 3 anschliesst und betätigt (zweifel mal das mindestens an), dann wird anhand der geschlossenen Dateneingänge/Pegel eine Binärzahl gesendet. Soweit der Werkszustand.

Der Modus wird wahrscheinlich im R-dataTransCond stehen? Die Frage ist dann, wie werden die Modi verschlüsselt? Das müsste eigentlich bei HM-MOD-EM-8 genauso sein. Kann da jemand nachschauen?
Auch funktionierende Lösungen kann man hinterfragen.

Pfriemler

Der HM-Mod-EM-8 sendet (wie wohl auch das 8bit in den beiden ersten Kanälen) je nach eingestelltem Modus bei kurz/lang-Betätiung (remote) oder Zustandswechsel (im Modus switch ein unbewertetes short, im Modus sensor einen Zustand 200 oder 0 (closed, open - oder umgekehrt). Das wird je nach Kanal im Register "triggerMode" festgelegt.
ZitatDer Modus wird wahrscheinlich im R-dataTransCond stehen?
Sehe ich auch so. Deswegen ja meine Frage nach dem regList, vielleicht stehen dort schon die erlaubten Werte. Bei den condition- und jumptables der Aktoren ist es ja so, und beim EM-8 für den Triggermode steht dort auch "1: triggerMode      |     literal        |          | define type of event report  options:sensor,switch,button,off ".
"Ä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 ..."

rabehd

#35
reglist Kanal 3:

list:         register | range              | peer     | description
   1: dInProp0         |     literal        |          | Data Input Propertie options:off,on
   1: dInProp1         |     literal        |          | Data Input Propertie options:on,off
   1: dInProp2         |     literal        |          | Data Input Propertie options:off,on
   1: dInProp3         |     literal        |          | Data Input Propertie options:off,on
   1: dInProp4         |     literal        |          | Data Input Propertie options:on,off
   1: dInProp5         |     literal        |          | Data Input Propertie options:off,on
   1: dInProp6         |     literal        |          | Data Input Propertie options:off,on
   1: dInProp7         |     literal        |          | Data Input Propertie options:on,off
   1: dataTransCond    |     literal        |          | dataTransmitCondition options:sndImmediateEnable,stbl4TimeEnable,lvlChng_L_H,sndImmediateDisable,lvlChng_any,stbl4TimeDisable,lvlChng_H_L
   1: dblPress         |   0 to 1.5s        |          | time to detect double press
   1: longPress        | 0.3 to 1.8s        |          | time to detect key long press
   1: sign             |     literal        |          | signature (AES) options:on,off
   1: stabFltTime      |  10 to 111600s     |          | stability filter time
   4: expectAES        |     literal        | required | expect AES options:on,off
   4: peerNeedsBurst   |     literal        | required | peer expects burst options:off,on


Ich vermute Modus 1 ist eingestellt. Sendung erfolgt, wenn DU30 geschlossen wird. Ich vermute DUI30 analog. Das Öffnen führt nicht zu einer Sendung.

Ich werde morgen abend mal alles für dataTransCond durchprobieren.
Auch funktionierende Lösungen kann man hinterfragen.

Pfriemler

#36
Cool. Die Modi sind doch fast selbstsprechend.
Edit: hab mich verwechselt, korrigiert:
sndImmediateEnable = Modus 5 (oder 7 je nach Pegel - das ist doch unklar und je nach Sichtweise (Taster- bzw. Spannungseingang) unterschiedlich)
sndImmediateDisable wäre das Pendant dazu
"sende sofort" entspricht den Modi 5 und 7, der Datenübertragungseingang gilt dann als ENABLE, entweder H oder L-Aktiv

stbl4TimeEnable = Modus 4 (oder 6, s.o.)
stbl4TimeDisable wäre das Pendant
"sende wenn Zustand stabil für ... (Sekunden)" entspricht den Modi 4 und 6, der Datenübertragungseingang gilt dann als ENABLE, entweder H oder L-Aktiv

lvlChng_L_H = Modus 2 (oder 1)
lvlChng_H_L = Modus 1 (oder 2)

lvlChng_any = Modus 3

Wenn DU30 geschlossen wird und Modus 1 ab Werk aktiv ist (und er dann also sendet), wären die Pegel wohl aus Sicht des Tastereingangs zu verstehen, d.h. H ist offen und L ist geschlossen.
Für diese Theorie spricht auch der übermittelte Wert von 255 (&HFF) - offene Taster = H.

Nachtrag:
im Foto von den CCU-Einstellungen ist vom Modus 0 die Rede. Vielleicht sind die da alle eins nach unten verschoben.
Da gibt es übrigens noch den Wert "Sender für 8-Bit-Entscheidungswert" mit der Erläuterung "Dateineingang invertieren", je Bit anhakbar.
Da kann man wohl je Bit festlegen, ob es L- oder H-aktiv ist - das könnte das fragliche "dInProp..." sein - stehen ab Werk alle auf off, also keine Invertierung.

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

wendeling

#37
Hallo, habe gerade mal mal etwas gespielt , und den Kanal3 beobachtet

wenn ich zB. INL0 auf gnd lege dann kommt "FE"
                   INL1                                       "FD" 

aber bei       INL1+INL3   = auch FD         




Internals:
   CFGFN
   DEF        518F0A03
   IODev
   NAME       HM_518F0A_Tr
   NOTIFYDEV  global
   NR         1206
   STATE      unknown:FD
   TYPE       CUL_HM
   chanNo     03
   device     HM_518F0A
   protState  Info_Cleared
   Readings:
     2017-02-20 22:05:25   contact         unknown:FD (to CUL868)
     2017-02-20 22:05:25   state           unknown:FD
     2017-02-20 22:05:25   trigDst_F11234  noConfig
     2017-02-20 22:05:25   trigger_cnt     27
   Helper:
     getCfgList all
     getCfgListNo ,4
     Expert:
       def        1
       det        0
       raw        1
       tpl        0
     Prt:
       bErr       0
       sProc      0
     Role:
       chn        1
     Shadowreg:
Attributes:
   model      HM-MOD-EM-8Bit

Pfriemler

Zitataber bei       INL1+INL3   = auch FD         
War bestimmt ein Wackler.

Lieber wendeling, verschiebst Du den Thread bitte nach "FHEM Forum » FHEM - Hausautomations-Systeme » Homematic"? Da gehört er m.E. hin.
Das müsste beim Edit des Erstbeitrages möglich sein.
"Ä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 ..."

wendeling

würde ich gerne mache, bekomm es aber nicht gebacken

wendeling


Thorsten Pferdekaemper

Zitat von: wendeling am 20 Februar 2017, 22:14:26
Hallo, habe gerade mal mal etwas gespielt , und den Kanal3 beobachtet

wenn ich zB. INL0 auf gnd lege dann kommt "FE"
                   INL1                                       "FD" 

aber bei       INL1+INL3   = auch FD       
Kannst Du dazu mal zeigen, was im Event Monitor ankommt?
Gruß,
   Thorsten
FUIP

rabehd

hier das Ergebnis aus dem Eventmonitor

kein Eingang geschlossen, DU3 per Taster gegen GND
2017-02-21 19:38:17 CUL_HM HM_519034 battery: ok
2017-02-21 19:38:17 CUL_HM HM_519034_Tr contact: unknown:FF (to VCCU)
2017-02-21 19:38:17 CUL_HM HM_519034_Tr unknown:FF
2017-02-21 19:38:17 CUL_HM HM_519034_Tr trigger_cnt: 19


Eingang INL4 bis INL7 gegen GND geschlossen, DU3 per Taster gegen GND
2017-02-21 19:39:04 CUL_HM HM_519034 battery: ok
2017-02-21 19:39:04 CUL_HM HM_519034_Tr contact: unknown:0F (to VCCU)
2017-02-21 19:39:04 CUL_HM HM_519034_Tr unknown:0F
2017-02-21 19:39:04 CUL_HM HM_519034_Tr trigger_cnt: 22


Der Rest ist sicher analog.
Auch funktionierende Lösungen kann man hinterfragen.

rabehd

Ich habe jetzt mit  "set HM_519034_Tr regset dataTransCond sndImmediateEnable" das Register für den Modus verändert.

Ergebnis: Jede Änderung an einem Eingang INL wird sofort gesendet und erzeugt ein Event.
Genau das was ich wollte.

Danke an die Unterstüzung von Pfriemler und Thorsten Pferdekaemper.
Was sollte man jetzt noch tun? Einen Gerätetyp anlegen für die Nächsten? Wie kann ich unterstützen?
Auch funktionierende Lösungen kann man hinterfragen.

Thorsten Pferdekaemper

Zitat von: rabehd am 21 Februar 2017, 20:11:27Was sollte man jetzt noch tun? Einen Gerätetyp anlegen für die Nächsten? Wie kann ich unterstützen?
Wieso neuer Gerätetyp? Das Ding funktioniert doch wunderbar, oder?
Was man jetzt machen sollte:
1. Wiki-Eintrag zu dem Ding anlegen mit den Erkenntnissen aus diesem Thread.
2. Eine kleine Routine schreiben, die das state oder contact Reading in einzelne on/off oder so Readings übersetzt.
Viel Spaß.
Gruß,
  Thorsten
FUIP