Hallo Zusammen,
ich habe mir aus einem Arduino und dem CC1101 ein Homematic Device gebaut, dafür habe ich das Beispiel HM-LC-BL1-SM aus dem Git von trilu2000 verwendet.
Die Kommunikation klappt, allerdings läuft:
switchDim: 188, 0
switchDim: 189, 0
switchDim: 190, 0...
in Millisekunden ab, das ist viel zu schnell um zwei 2 Relays anzusteuern.
Von den Befehlen scheinen nicht alle zu klappen:
set HM_A529B9 regSet driveUp 25
set HM_A529B9 regSet driveTurn 0.5
set HM_A529B9 regSet driveDown 26
set HM_A529B9 getConfig
get HM_A529B9 reg all
HM_A529B9 type:blindActuator -
list:peer register :value
0: intKeyVisib :invisib
0: localResDis :off
0: pairCentral :0x000000
1: driveTurn :0.5 s
1: refRunCounter :0
bei den Readings steht:
R-driveDown set_25 s 2017-02-12 20:38:49
R-driveTurn 0.5 s 2017-02-12 20:41:57
R-driveUp set_25 s 2017-02-12 20:40:50
Gibt es einen Beispielcode der schon Relays mit einbindet?
Danke für eure Unterstützung
Gruß Michael
Laut dem Thema: [gelöst] HM-LC-Bl1-SM: Fahrzeiten Aufputz Rolladen-Aktor einstellen? https://forum.fhem.de/index.php?topic=26231.0 (https://forum.fhem.de/index.php?topic=26231.0) muss man mit einem Knopf die Einstellungen bestätigen.
Hat irgendwer diesen Knopf schon mit NewAskSin nachgebaut und gedrückt?
Gruß Michael
Das ist die Kommunikation:
<- 0E 01 80 10 A5 29 B9 00 00 00 06 01 C8 00 53 (20783)
x> 10 02 A0 01 F1 34 56 A5 29 B9 01 05 00 00 00 00 01 (36441)
<- 0A 02 80 02 A5 29 B9 F1 34 56 00 (36446)
x> 0D 03 A0 01 F1 34 56 A5 29 B9 01 08 0E 96 (36613)
<- 0A 03 80 02 A5 29 B9 F1 34 56 00 (36617)
x> 0B 04 A0 01 F1 34 56 A5 29 B9 01 06 (36777)
<- 0A 04 80 02 A5 29 B9 F1 34 56 00 (36780)
x> 10 05 A0 01 F1 34 56 A5 29 B9 00 04 00 00 00 00 00 (40427)
cnl: 0 s: 0
totSlc: 2
<- 16 05 A0 10 A5 29 B9 F1 34 56 02 02 80 0A 00 0B 00 0C 00 12 00 18 00 (40443)
x> 0A 05 80 02 F1 34 56 A5 29 B9 00 (40610)
<- 0C 06 A0 10 A5 29 B9 F1 34 56 03 00 00 (40613)
x> 0A 06 80 02 F1 34 56 A5 29 B9 00 (40776)
x> 10 07 A0 01 F1 34 56 A5 29 B9 01 04 00 00 00 00 01 (40806)
cnl: 1 s: 0
totSlc: 2
<- 12 07 A0 10 A5 29 B9 F1 34 56 02 0B 00 0D 00 0F 05 10 00 (40819)
x> 0A 07 80 02 F1 34 56 A5 29 B9 00 (40983)
<- 0C 08 A0 10 A5 29 B9 F1 34 56 03 00 00 (40987)
x> 0A 08 80 02 F1 34 56 A5 29 B9 00 (41150)
x> 0B 09 A0 01 F1 34 56 A5 29 B9 01 03 (41176)
<- 0E 09 A0 10 A5 29 B9 F1 34 56 01 00 00 00 00 (41181)
x> 0A 09 80 02 F1 34 56 A5 29 B9 00 (41345)
Wenn ich den Arduino starte bekomme ich:
AskSin-Lib V 0.2.2
AS.
PowerMode: 0
initDim: 1
SN.
RV.
HMID: A5 29 B9, MAID: 00 00 00
<- 0E 00 80 10 A5 29 B9 00 00 00 06 01 00 00 00 (2001)
x> 10 01 A0 01 F1 34 56 A5 29 B9 00 04 00 00 00 00 00 (3080)
cnl: 0 s: 0
totSlc: 2
<- 16 01 A0 10 A5 29 B9 F1 34 56 02 02 80 0A 00 0B 00 0C 00 12 00 18 00 (3095)
x> 0A 01 80 02 F1 34 56 A5 29 B9 00 (3263)
<- 0C 02 A0 10 A5 29 B9 F1 34 56 03 00 00 (3266)
x> 0A 02 80 02 F1 34 56 A5 29 B9 00 (3429)
x> 10 03 A0 01 F1 34 56 A5 29 B9 01 04 00 00 00 00 01 (3459)
cnl: 1 s: 0
totSlc: 2
<- 12 03 A0 10 A5 29 B9 F1 34 56 02 0B 00 0D 00 0F 05 10 00 (3472)
x> 0A 03 80 02 F1 34 56 A5 29 B9 00 (3636)
<- 0C 04 A0 10 A5 29 B9 F1 34 56 03 00 00 (3640)
x> 0A 04 80 02 F1 34 56 A5 29 B9 00 (3803)
x> 0B 05 A0 01 F1 34 56 A5 29 B9 01 03 (3829)
<- 0E 05 A0 10 A5 29 B9 F1 34 56 01 00 00 00 00 (3834)
x> 0A 05 80 02 F1 34 56 A5 29 B9 00 (3997)
Verbinde ich dann Port 8 mit GND, so bekomme ich noch folgende Zeile:
<- 1A 01 80 00 A5 29 B9 00 00 00 25 00 05 58 4D 53 32 33 34 35 36 37 39 30 01 01 00 (89619)
Leider wir die driveUp Time aber trotzdem nicht übernommen.
Fhem Zeigt mir da nur:
2017-02-27 22:47:05 CUL_HM HM_A529B9 D-firmware: 2.5
2017-02-27 22:47:05 CUL_HM HM_A529B9 D-serialNr: XMS2345679
Ich habe leider vergessen die hmid in meiner CUL zu setzen. Mit FHEM 5.8 wurde ich daraufhingewiesen.
Nach dem setzen und neu anlernen des blindActuator bekomme ich jetzt neue werte angezeigt, aber der Fehler bleibt.
ein
define hm HMInfo
set hm configCheck
gibt keine Fehler mehr:
configCheck done:
Internals
AHL3_MSGCNT 87
AHL3_RAWMSG A0E09A010A529B8F134560601C80056::-48.5:AHL3
AHL3_RSSI -48.5
AHL3_TIME 15.03.2017 13:17
DEF A529B8
IODev AHL3
LASTInputDev AHL3
MSGCNT 87
NAME HM_A529B8
NOTIFYDEV global
NR 255
NTFY_ORDER 50-HM_A529B8
STATE on
TYPE CUL_HM
hmPairSerial XMS2345679
lastMsg No:09 - t:10 s:A529B8 d:F13456 0601C80056
protCmdPend 2 CMDs pending
protLastRcv 15.03.2017 13:17
protSnd 135 last_at:2017-03-15 13:18:29
protState CMDs_processing...
rssi_AHL3 avg:-88.36 min:-90 max:-86 lst:-86 cnt:11
rssi_at_AHL3 avg:-46.48 min:-49 max:-41 lst:-48.5 cnt:87
Readings
CommandAccepted yes 15.03.2017 13:17
D-firmware 02. Mai 14.03.2017 23:36
D-serialNr XMS2345679 14.03.2017 23:36
PairedTo 0xF13456 15.03.2017 13:16
R-driveDown set_15 s 14.03.2017 23:30
R-driveTurn 0 s 14.03.2017 23:34
R-driveUp set_17 s 14.03.2017 23:12
R-pairCentral 0xF13456 14.03.2017 23:35
RegL_00.
deviceMsg on (to AHL3) 15.03.2017 13:17
level 100 15.03.2017 13:17
motor stop:on 15.03.2017 13:17
pct 100 15.03.2017 13:17
powerOn 14.03.2017 23:26 14.03.2017 23:26
recentStateType info 15.03.2017 13:17
state on 15.03.2017 13:17
timedOn off 15.03.2017 13:17
das get HM_A529B8 reg all
ergibt:
HM_A529B8 type:blindActuator -
list:peer register :value
0: intKeyVisib :visib
0: localResDis :off
0: pairCentral :0xF13456
1: driveTurn :0 s
1: refRunCounter :0
Attributes
IODev AHL3 deleteattr
autoReadReg 4_reqStatus deleteattr
expert 2_raw deleteattr
firmware 02. Mai deleteattr
model HM-LC-BL1-FM deleteattr
peerIDs 0 deleteattr
room CUL_HM deleteattr
serialNr XMS2345679 deleteattr
subType blindActuator deleteattr
list HM_A529B8
Internals:
AHL3_MSGCNT 129
AHL3_RAWMSG A0E33A010A529B8F134560100000000::-47.5:AHL3
AHL3_RSSI -47.5
AHL3_TIME 2017-03-15 14:39:45
DEF A529B8
IODev AHL3
LASTInputDev AHL3
MSGCNT 129
NAME HM_A529B8
NOTIFYDEV global
NR 255
NTFY_ORDER 50-HM_A529B8
STATE on
TYPE CUL_HM
hmPairSerial XMS2345679
lastMsg No:33 - t:10 s:A529B8 d:F13456 0100000000
protLastRcv 2017-03-15 14:39:45
protSnd 206 last_at:2017-03-15 14:39:45
protState CMDs_done
rssi_AHL3 avg:-88.36 min:-90 max:-86 lst:-86 cnt:11
rssi_at_AHL3 avg:-46.89 min:-49 max:-41 lst:-47.5 cnt:129
Readings:
2017-03-15 14:16:55 CommandAccepted yes
2017-03-14 23:36:03 D-firmware 2.5
2017-03-14 23:36:03 D-serialNr XMS2345679
2017-03-15 14:39:45 PairedTo 0xF13456
2017-03-14 23:30:44 R-driveDown set_15 s
2017-03-15 14:15:43 R-driveTurn 0.5 s
2017-03-14 23:12:41 R-driveUp set_17 s
2017-03-14 23:35:18 R-pairCentral 0xF13456
2017-03-15 14:39:45 RegL_00. 02:81 0A:F1 0B:34 0C:56 12:00 18:00 00:00
2017-03-15 14:39:45 RegL_01. 0B:00 0D:00 0F:05 10:00 00:00
2017-03-15 13:17:10 deviceMsg on (to AHL3)
2017-03-15 13:17:10 level 100
2017-03-15 13:17:10 motor stop:on
2017-03-15 13:17:10 pct 100
2017-03-14 23:26:49 powerOn 2017-03-14 23:26:49
2017-03-15 13:17:10 recentStateType info
2017-03-15 13:17:10 state on
2017-03-15 13:17:10 timedOn off
Helper:
HM_CMDNR 51
PONtest 0
cSnd 01F13456A529B801040000000001,01F13456A529B80103
dlvlCmd ++A011F13456A529B80201C80000
mId 0005
peerIDsRaw ,00000000
rxType 1
supp_Pair_Rep 0
Dir:
cur stop
rct down
Expert:
def 1
det 0
raw 1
tpl 0
Io:
newChn +A529B8,00,00,00
nextSend 1489585185.92987
prefIO
rxt 0
vccu
p:
A529B8
00
00
00
Mrssi:
mNo 33
Io:
AHL3 -45.5
Prt:
bErr 0
sProc 0
Rspwait:
Q:
qReqConf
qReqStat
Role:
chn 1
dev 1
Rpt:
IO AHL3
flg A
ts 1489585185.83287
ack:
HASH(0x423e368)
338002F13456A529B800
Rssi:
Ahl3:
avg -88.3636363636364
cnt 11
lst -86
max -86
min -90
At_ahl3:
avg -46.8992248062016
cnt 129
lst -47.5
max -41
min -49
Shadowreg:
Tmpl:
Nb:
cnt 1
Attributes:
IODev AHL3
autoReadReg 4_reqStatus
expert 2_raw
firmware 2.5
model HM-LC-BL1-FM
peerIDs 00000000,
room CUL_HM
serialNr XMS2345679
subType blindActuator
Ich hatte endlich etwas Zeit und konnte das Rätsel lösen.
im Beispiel war leider das Register falsch angegeben, ich habe es nun selbst neu geschrieben.
const uint8_t cnlAddr[] PROGMEM = {
0x02,0x0a,0x0b,0x0c,0x15,0x18,
0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x30,0x57,0x56,0x00,
0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0f,0x11,0x1c,0x1d,0x1e,0x1f,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,
}; // 48 byte
//- channel device list table --------------------------------------------------------------------------------------------
EE::s_cnlTbl cnlTbl[] = {
// cnl, lst, sIdx, sLen, pAddr, hidden
{ 0, 0, 0x00, 6, 0x001f, 0, },
{ 1, 1, 0x06, 13, 0x0025, 0, },
{ 1, 3, 0x12, 29, 0x0029, 0, },
}; // 21 byte
Dummerweise hat das überhaupt keinen Einfluss, der Status ist direkt nach dem absenden des Befehls im Fhem auch schon im gerät und wieder zurück gemeldet.
set HM_51F669 pct 40
Zack, 40.
Es scheint im cmBlind keine warteschritte zu geben, zumindest keine die vom driveUp und driveDown abhängig sind. :(
Beide Rollladen stehen auf 70 und jeweils wird down gedrückt, Register identisch
HM_A529B9 type:blindActuator -
list:peer register :value
0: confBtnTime :permanent
0: intKeyVisib :invisib
0: localResDis :off
0: pairCentral :0xF13456
1: driveDown :23.8 s
1: driveTurn :0.5 s
1: driveUp :25.9 s
1: refRunCounter :0
1: sign :off
1: statusInfoMinDly :2 s
1: statusInfoRandom :1 s
1: transmitTryMax :6
Ich frage mich nach Analyse der cmBlind, wird die Zeit vom Fhem mitgeschickt?
richtig bei gekauft HM_51F669:
2017.04.02 22:21:36 3: CUL_HM set HM_51F669 down
2017.04.02 22:21:36 5: AHL3 sending As0CA4A011F1345651F669020178
2017.04.02 22:21:36 4: CUL_send: AHL3As 0C A4 A011 F13456 51F669 020178
2017.04.02 22:21:37 5: CUL/RAW: /A0
2017.04.02 22:21:37 5: CUL/RAW: A0/EA48
2017.04.02 22:21:37 5: CUL/RAW: A0EA48/0025
2017.04.02 22:21:37 5: CUL/RAW: A0EA480025/1F66
2017.04.02 22:21:37 5: CUL/RAW: A0EA4800251F66/9F13
2017.04.02 22:21:37 5: CUL/RAW: A0EA4800251F669F13/4560
2017.04.02 22:21:37 5: CUL/RAW: A0EA4800251F669F134560/101
2017.04.02 22:21:37 5: CUL/RAW: A0EA4800251F669F134560101/8C20
2017.04.02 22:21:37 5: CUL/RAW: A0EA4800251F669F1345601018C20/4A17
2017.04.02 22:21:37 5: CUL/RAW: A0EA4800251F669F1345601018C204A17/
2017.04.02 22:21:37 4: CUL_Parse: AHL3 A 0E A4 8002 51F669 F13456 01018C204A17 -62.5
2017.04.02 22:21:37 5: AHL3: dispatch A0EA4800251F669F1345601018C204A::-62.5:AHL3
2017.04.02 22:21:42 5: CUL/RAW: /A0D
2017.04.02 22:21:42 5: CUL/RAW: A0D/A5A4
2017.04.02 22:21:42 5: CUL/RAW: A0DA5A4/105
2017.04.02 22:21:42 5: CUL/RAW: A0DA5A4105/1F66
2017.04.02 22:21:42 5: CUL/RAW: A0DA5A41051F66/9F13
2017.04.02 22:21:42 5: CUL/RAW: A0DA5A41051F669F13/4560
2017.04.02 22:21:42 5: CUL/RAW: A0DA5A41051F669F134560/6017
2017.04.02 22:21:42 5: CUL/RAW: A0DA5A41051F669F1345606017/8001
2017.04.02 22:21:42 5: CUL/RAW: A0DA5A41051F669F13456060178001/C
2017.04.02 22:21:42 4: CUL_Parse: AHL3 A 0D A5 A410 51F669 F13456 060178001C -60
2017.04.02 22:21:42 5: AHL3: dispatch A0DA5A41051F669F1345606017800::-60:AHL3
2017.04.02 22:21:42 5: AHL3 sending As0AA58002F1345651F66900
2017.04.02 22:21:42 5: CUL 51F669 dly:95ms
2017.04.02 22:21:42 4: CUL_send: AHL3As 0A A5 8002 F13456 51F669 00
falsch bei eigenem:
2017.04.02 22:22:59 3: CUL_HM set HM_A529B9 down
2017.04.02 22:22:59 5: AHL3 sending As0C11A011F13456A529B9020178
2017.04.02 22:22:59 4: CUL_send: AHL3As 0C 11 A011 F13456 A529B9 020178
2017.04.02 22:23:00 5: CUL/RAW: /A0E1
2017.04.02 22:23:00 5: CUL/RAW: A0E1/1800
2017.04.02 22:23:00 5: CUL/RAW: A0E11800/2A52
2017.04.02 22:23:00 5: CUL/RAW: A0E118002A52/9B9F
2017.04.02 22:23:00 5: CUL/RAW: A0E118002A529B9F/1345
2017.04.02 22:23:00 5: CUL/RAW: A0E118002A529B9F1345/6010
2017.04.02 22:23:00 5: CUL/RAW: A0E118002A529B9F13456010/178
2017.04.02 22:23:00 5: CUL/RAW: A0E118002A529B9F13456010178/8050
2017.04.02 22:23:00 5: CUL/RAW: A0E118002A529B9F134560101788050/25
2017.04.02 22:23:00 4: CUL_Parse: AHL3 A 0E 11 8002 A529B9 F13456 010178805025 -55.5
2017.04.02 22:23:00 5: AHL3: dispatch A0E118002A529B9F134560101788050::-55.5:AHL3