HM-Sec-Win

Begonnen von Puschel74, 08 März 2014, 15:17:42

Vorheriges Thema - Nächstes Thema

martinp876

Hi,

das Kommando keydef habe ich durchgesehen. Es setzt ein paar register und kann mit HMInfo template erschlagen werden.
Prinzipiell kannst du (wie ueberall) fuer jeden Peer eine Aktion fuer langen und eine fue rkurzen tastendruck festlegen.
Keydef setzt beide gleich.
Mit HMInfo kannst du ein Template definieren
set hm templateDef wmTilt       ""    "winmatic tilt window" WinJtOn=rampOn  WinJtOff=rampOn  WinJtRampOn=on WinJtRampOff=rampOnFast
set hm templateDef wmClose      ""    "winmatic close window" WinJtOn=rampOff WinJtOff=rampOff WinJtRampOn=on WinJtRampOff=rampOnFast
set hm templateDef wmClosed     ""    "winmatic lock window" OffLevelKm=0
set hm templateDef wmSpeed open:close "winmatic set close speed" RampOffSp=p0 RampOnSp=p01

Diese Templates werde ich aufnehmen - du kannst aber jederzeit eigene definieren.
Du musst noch
set hm templateSet <winmaticChan01> wmSpeed fhem03:long 10 20
set hm templateSet <winmaticChan01> wmSpeed fhem05:short 90 50
set hm templateSet <winmaticChan01> wmTilt fhem02:long

fhem02: 2ter Button des IO device...

Gruss Martin

Puschel74

#16
Hallo,

so.
Ich habe
x) meine FHEM-Installation gesichert
x) ein update durchgeführt
x) FHEM neu gestartet
Nach dem kompletten Start von FHEM
x) FHEM gestoppt
x) den HM-Lan-Adapter mit der HM-Software verbunden
x) den AES-Key eingegeben - NICHT die Lan-Verschlüsselung aktiviert!
x) die HM-Software beendet
x) FHEM gestartet
x) ein hmPairforSec eingegeben
x) am Antrieb die Schließen-Taste >4 Sekunden gedrückt (lt. Anleitung ist das der Anlernmodus).

Siehe Screenshot.

Grüße

Edith: Logfile
Zitat2014.03.10 18:46:46 3: CUL_HM pair: OG_Zimmer_Fenster_Antrieb winMatic, model HM-SEC-WIN serialNr FEQ0067045
2014.03.10 18:46:46 2: CUL_HM set OG_Zimmer_Fenster_Antrieb getConfig
2014.03.10 18:46:54 2: CUL_HM set OG_Zimmer_Fenster_Antrieb getConfig
2014.03.10 18:46:58 0: HMLAN_Send:  HMLAN1 I:K
2014.03.10 18:46:58 0: HMLAN_Parse: HMLAN1 V:03C1 sNo:JEQ0706728 d:1EA0DB O:123ABC t:000EA7CB IDcnt:0011

Edith2: Danke für deine ausführlichen Erläuterungen martin (auch wenn ich nichts verstanden habe  :( )
Auch wenn sich jetzt einige in die Ecke werfen und sich totlachen aber
Wie bekomme ich nun über FHEM das Fenster gekippt?  :-\

Ich wäre auch gerne bereit eine Wiki-Seite dafür zu erstellen - freigeschaltet bin ich bereits
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

martinp876

Hi,

ich versuche es noch einmal - muss nicht an dir liegen, kann auch an meiner erklärung liegen. Und wenn du einen Wiki Eintrag schreibst versteht es vielleicht auch jemand ;-)

1) peering allgemein und Aktionen
ein Aktorchannel vom typ schalter (winnmatic channel 01 ist sehr aehnlich) kann gepeert werden. Die Buttons, die eingebaut sind, sind auch peers. Sie sind nur per default auf unsichtbar geschaltet.
-> register intKeyVisib auf visib setzen, dann noch einmal lesen (getConfig). Nun solltest du die 'internen peers' sehen. Ich erwarte 3 davon. In FHEM heissen die dann self01, self02 und self03.
Die Register welche dem peer zugeordnet sind (R-self01.... ) definieren, was der Aktor tun wird, wenn ein trigger dieses peers kommt.
Du kannst ein get ..._Win regList machen, da kannst du die register sehen, die erscheinen sollten, wenn ein peer gelesen wurde.

2) aktionen eines peers
Ein Aktor channel hat jeweils 2 datensätze je peer, einen für langen und einen für kurzen Tastendruck. Diese sind fast identisch, nur der 'lange' kann auch zum dimmen oder (beim Fenster) fahren bis zum loslassen genutzt werden. Das Prinzip ist be beiden gleich.
Du legst also fest - und zwar je peer:long und peer:short getrennt!
- fenster soll auf gehen, zu gehen oder toggeln bei jedem 2. druck
- wie schnell soll das Fenster fahren
- was ist zu (0%, 10%...) oder offen - soll es gelockt werden
und noch ein paar weitere Details.

3) eine m.E. schöne Ansicht der Register kann man mit
set hm register -f <entity>
erhalten, da es besser lesbar in Spalten sortiert wird - ist nur eine Anzeigemethode.

4) templates
das setzen der Register ist nicht jedermanns Sache. Templates sind (sollen) eine Vereinfachung sein - die setzen also Register in einem Block, ähnlich wie es HM auch macht. Ich habe folgende temlates in hmInfo vorgesehen:
set hm templateSet <..._Win> wmOpen <speed> <peer>:short
set hm templateSet <..._Win> wmClose <speed> <peer>:short
set hm templateSet <..._Win> wmclosed "" <peer>:short
set hm templateSet <..._Win> wmlock  <peer>:short

wenn du also buttons gepeert hast (siehe unten) kannst du
rmBtn1:short
oder
rmBtn1:long
schreiben und somit die Aktion definieren, die der Aktor ausführen wird, wenn ein trigger des rmBtn1 long oder short kommt (langer oder kurzer druck)

5) welche peers kann man nutzen
erst einmal natürlich alle remotes oder schalter und einige Sensoren (mdir,...) . Dann kannst du virtuelle Aktoren (buttons) definieren und peeren.
Und jetzt neu ;) kann man auch das IO device peeren. Eine HM zentrale kann 50 channels (die sind auch virtuell) verwalten, also wir auch ... Zum peeren der Zentrale braucht es ein neues Kommando:
set <..._Win> peerIODev <btn>
set <..._Win> peerIODev <btn> unset
set <..._Win> peerIODev HMLAN1 <btn> unset

<btn> ist eine Nummer von 1 bis 50. unset löscht den peer wieder. Der peer channel 5 heisst dann "fhem05".

6) trigger auslösen
nun willst du auch einen trigger auslösen. das geht mit
set <..._Win> press [long|short] HMLAN 3

sollte soweit klar sein. default ist short
set <..._Win> press HMLAN 3
set <..._Win> press rmBtn3
set <..._Win> press self03 # internen Button 3

so - war etwas verständliches dabei? Ich hoffe einmal.
Das ist ein schöner Querschnitt durch die Funktion der HM devices.
Es ist einiges an Änderungen im code...  hoffentlich nicht viele Fehler
fang einmal an, einiges erklärt sich sicher, wenn du es siehst.

Gruss Martin







daschauher

Hallo Zusammen,

ich würde mir auch gerne so eine Winmatic kaufen. Jetzt hab ich hier beim durchlesen gesehen dass man AES aktivieren muss.
Ich betriebe meine Komponenten aber mit einem CUNO von Busware und soviel ich weiß kann der kein AES oder?

Bedeutet das jetzt dass ich mit meinem aktuellen Equipment keine Chance habe das Teil anzusteuern?

Grüsse
Markus

martinp876


docb

Hallo,
sorry dass ich das Thema wieder hochbringe, aber irgendwie bekomme ich die Einrichtung nicht ganz hin. Im Wiki gibts leider nichts und so wirklich schlau werde ich aus den vorangegangenen Beschreibungen nicht. Ich beschreibe mal, was ich gemacht habe:
- Winmatic eingebaut
- Winmatic mit der Homematic-Software angelernt und dann einen neuen Sicherheitsschlüssel vergeben
- In der Homematic-Konfig Software die AES-Lan-Verbindung deaktiviert
- In Fhem beim HMLan den Sicherheitsschlüssel als attr gesetzt
- Dann den HMLan auf pairforSec 60 und die Winmatic in Anlernmodus versetzt - die zeigt allerdings "Xc" - meckert also zu Recht, dass sie ja bereits angelernt wurde
- In Fhem tauchen drei neue Devices auf: CUL_HM_HM_SEC_WIN_xxxxx, CUL_HM_HM_SEC_WIN_xxxxx_Win, CUL_HM_HM_SEC_WIN_xxxxxx_Akku, allerdings ohne state bzw. mit Missing ACK
- Zudem kann ich das Register sign nicht auf on setzen (vielleicht versuche ich es auch beim falschen Device/Kanal, aber nur der SEC_WIN_xxxxxx hat bei Set diese Auswahl). Wenn ich das mache
set CUL_HM_HM_SEC_WIN_2CAB12_Win sign on
kommt
Zitatsign failed: supported register are intKeyVisib keypressSignal lgCtOff lgCtOn lgCtRampOff lgCtRampOn lgCtValHi lgCtValLo lgOffLevelKm lgOffTime lgOnLevelKm lgOnTime lgRampOffSp lgRampOnSp lgWinJtOff lgWinJtOn lgWinJtRampOff lgWinJtRampOn pairCentral pullForce pushForce setupDir shCtOff shCtOn shCtRampOff shCtRampOn shCtValHi shCtValLo shOffLevelKm shOffTime shOnLevelKm shOnTime shRampOffSp shRampOnSp shWinJtOff shWinJtOn shWinJtRampOff shWinJtRampOn signal signalTone tiltMax

Hier mal die Lists auf die drei Devices/Kanäle:

Internals:
   CFGFN
   DEF        xxxxxx02
   NAME       CUL_HM_HM_SEC_WIN_xxxxxx2_Akku
   NR         773
   STATE      ???
   TYPE       CUL_HM
   chanNo     02
   device     CUL_HM_HM_SEC_WIN_xxxxxx
   Readings:
   Helper:
     getCfgListNo
     Role:
       chn        1
Attributes:
   model      HM-SEC-WIN
   room       CUL_HM


Internals:
   CFGFN
   DEF        xxxxxx01
   NAME       CUL_HM_HM_SEC_WIN_xxxxxx_Win
   NR         772
   STATE      ???
   TYPE       CUL_HM
   chanNo     01
   device     CUL_HM_HM_SEC_WIN_xxxxxx
   Readings:
     Peerlist:
       VAL
   Helper:
     getCfgList all
     getCfgListNo ,3
     Role:
       chn        1
       prs        1
Attributes:
   model      HM-SEC-WIN
   peerIDs
   room       CUL_HM



Internals:
   DEF        xxxxxx
   IODev      LANInterfaceUG
   LANInterfaceUG_MSGCNT 5
   LANInterfaceUG_RAWMSG Exxxxxx,0000,00080162,FF,FFCE,0384002CAB120000001600284C455130363532323437C1000100
   LANInterfaceUG_RSSI -50
   LANInterfaceUG_TIME 2015-01-16 10:02:44
   LASTInputDev LANInterfaceUG
   MSGCNT     5
   NAME       CUL_HM_HM_SEC_WIN_xxxxxx
   NR         751
   STATE      MISSING ACK
   TYPE       CUL_HM
   channel_01 CUL_HM_HM_SEC_WIN_xxxxxx_Win
   channel_02 CUL_HM_HM_SEC_WIN_xxxxxx_Akku
   lastMsg    No:03 - t:00 s:xxxxxx d:000000 1600284C455130363532323437C1000100
   protCmdDel 5
   protEvt_AESerrReject 1 last_at:2015-01-16 09:55:17
   protLastRcv 2015-01-16 10:02:44
   protResnd  3 last_at:2015-01-16 09:55:30
   protResndFail 1 last_at:2015-01-16 09:55:34
   protSnd    4 last_at:2015-01-16 09:55:17
   protState  CMDs_done_Errors:1
   rssi_at_LANInterfaceUG max:-40 cnt:5 min:-51 lst:-50 avg:-44.6
   Readings:
     2015-01-16 09:14:25   CommandAccepted yes
     2015-01-16 10:02:44   D-firmware      1.6
     2015-01-16 10:02:44   D-serialNr      LEQxxxxxxx
     2015-01-16 09:14:28   PairedTo        0x26xxxx
     2015-01-16 09:55:15   R-intKeyVisib   set_invisib
     2015-01-16 09:14:26   R-keypressSignal on
     2015-01-16 09:55:15   R-pairCentral   set_0x26xxxx
     2015-01-16 09:14:26   R-signal        on
     2015-01-16 09:14:26   R-signalTone    low
     2015-01-16 09:55:16   aesKeyNbr       08
     2015-01-16 09:55:47   state           MISSING ACK
   Helper:
     cSnd       0126EA6B2CAB12000802010A260BEA0C6B
     mId        0028
     rxType     2
     Io:
       newChn     +xxxxxx,00,01,00
       nextSend   1421398964.31383
       prefIO
       rxt        0
       vccu
       p:
         2CAB12
         00
         01
         00
     Mrssi:
       mNo        03
       Io:
         LANInterfaceUG -48
     Prt:
       bErr       0
       sProc      0
     Q:
       qReqConf   01
       qReqStat   01,02
     Role:
       dev        1
     Rssi:
       At_laninterfaceug:
         avg        -44.6
         cnt        5
         lst        -50
         max        -40
         min        -51
     Shadowreg:
       RegL_00:    02:01 0A:26 0B:EA 0C:6B
Attributes:
   IODev      LANInterfaceUG
   autoReadReg 4_reqStatus
   expert     2_full
   firmware   1.6
   model      HM-SEC-WIN
   room       CUL_HM
   serialNr   LEQxxxxxxxx
   subType    winMatic



Was habe ich denn falsch gemacht?
Viele Grüße
doc
I love FHEM!

martinp876

es ist nicht klar, dass das pairing funktioniert hat. Wenn das Device schon gepairt ist, sollte es resetet werden.
Könnte auch an einem AE key liegen. Logs sind keine dabei, ob AES gefordert wird oder nicht

docb

Ha, ok, jetzt habe ich das Winmatic-Teil auf Werkszustand zurückgesetzt (habe mich erst nicht getraut, weil ich dachte dann wird auch der gesetzte AES-Key zurückgesetzt) und an Fhem angelernt. Ich kann es jetzt steuern. Jetzt stellt sich mir nur noch die Frage, ob die AES-Bestätigung funktioniert - ich habe einach mal das Attribut aesCommReq auf 1 gesetzt und in den Readings steht aesCommToDev ok. Heißt das ich habe es tatsächlich geschafft und das ganze "sicher" eingerichtet?
Viele Grüße
doc
I love FHEM!