Hallo zusammen,
nach dem es nun Jahre funktioniert hat, zickt einer meiner HM-LC-Ja1PBU-FM.
Fahre ich hinauf, kann ich die Fahrt nicht mehr stoppen.
Fahre ich hinunter, kann ich diese stoppen.
Wie kann er nur bei der Up-Fahrt Verbindungsprobleme haben? oder klebt da das Relais für die Up-Fahrt fest?
Er schreibt beim Versuch für die UP-Fahrt und Stop-Befehl, ein Missing acknoledge
Die Werte fürn Funk wären eigentlich ok:
rssi_at_myHmUART
lst:-61 min:-62 avg:-58.79 max:-54 cnt:53
rssi_myHmUART
avg:-65.92 max:-61 cnt:40 min:-69 lst:-65
Raspi mit Funkmodul steht keine 4 Meter entfernt, ohne jegliche Zwischenwand dazwischen.
Vielleicht kann mir jemand einen Tipp geben....
Danke
sniffe die raw messages wie im wiki gezeigt
und zeige mal ein list vom aktor
Zitat von: frank am 19 April 2024, 14:49:38sniffe die raw messages wie im wiki gezeigt
und zeige mal ein list vom aktor
Hi Frank,
aktuell funktioniert der aktor wieder normal... also machen die raw message derzeit keinen sinn oder?
Hier mal der List vom aktor:
Internals:
DEF 6686E7
IODev myHmUART
LASTInputDev myHmUART
MSGCNT 72
NAME ez_JalFensterOst
NOTIFYDEV global
NR 36
NTFY_ORDER 50-ez_JalFensterOst
STATE 3.5
TYPE CUL_HM
lastMsg No:40 - t:02 s:6686E7 d:12AEB3 010107003B6A00
myHmUART_MSGCNT 72
myHmUART_RAWMSG 040300384080026686E712AEB3010107003B6A00
myHmUART_RSSI -56
myHmUART_TIME 2023-01-15 22:14:23
peerList self01,self02,
protCmdDel 63
protLastRcv 2023-01-15 22:14:23
protResnd 59 last_at:2023-01-13 01:05:27
protResndFail 17 last_at:2023-01-13 01:05:00
protSnd 91 last_at:2023-01-15 22:14:23
protState CMDs_done
rssi_at_myHmUART lst:-56 min:-62 avg:-57.63 max:-49 cnt:72
rssi_myHmUART avg:-65.62 max:-59 cnt:48 min:-69 lst:-59
READINGS:
2023-01-15 22:14:23 CommandAccepted yes
2018-11-19 20:26:58 D-firmware 2.11
2018-11-19 20:26:58 D-serialNr PEQ0096664
2019-12-18 07:04:49 PairedTo 0x12AEB3
2018-12-03 16:01:56 R-driveDown 36 s
2018-11-19 20:27:03 R-driveTurn 0.5 s
2018-12-03 16:01:37 R-driveUp 37 s
2018-11-19 20:27:02 R-pairCentral 0x12AEB3
2018-12-03 18:56:13 R-self01-lgActionType jmpToTarget
2018-12-03 18:56:13 R-self01-lgOnLevel 100 %
2018-12-03 18:56:13 R-self01-shActionType jmpToTarget
2018-12-03 18:56:13 R-self01-shOnLevel 100 %
2018-12-03 18:56:15 R-self02-lgActionType jmpToTarget
2018-12-03 18:56:15 R-self02-lgOnLevel 100 %
2018-12-03 18:56:15 R-self02-shActionType jmpToTarget
2018-12-03 18:56:15 R-self02-shOnLevel 100 %
2018-11-19 20:27:03 R-sign off
2023-01-15 22:14:23 deviceMsg 3.5 (to myHmUART)
2023-01-15 22:14:23 level 3.5
2023-01-12 00:35:19 levelSlat set_50
2023-01-15 22:14:23 motor stop:3.5
2023-01-15 22:14:23 pct 3.5
2023-01-15 22:14:23 pctSlat 53
2023-01-15 22:14:23 pctSlatSoll 78
2023-01-15 22:14:23 pctSlatSollOff 28
2023-01-11 21:14:02 peerList self01,self02,
2023-01-11 20:55:36 powerOn 2023-01-11 20:55:36
2023-01-15 22:14:23 recentStateType ack
2023-01-15 22:14:23 slatDir stop
2023-01-15 22:14:23 state 3.5
2023-01-15 22:14:23 stateInverted 96
2023-01-15 22:14:23 timedOn off
RegL_00.:
VAL
helper:
HM_CMDNR 64
cSnd 1112AEB36686E7800100CA,1112AEB36686E70301
dlvlCmd ++A01112AEB36686E7800100CA
getCfgList all
getCfgListNo ,3
mId 0107
rxType 1
supp_Pair_Rep 0
dir:
cur stop
rct down
expert:
def 1
det 0
raw 1
tpl 0
io:
newChn +6686E7,00,00,00
nextSend 1673817263.40728
prefIO
rxt 0
vccu
p:
6686E7
00
00
00
mRssi:
mNo 40
io:
myHmUART -54
prt:
bErr 0
sProc 0
rspWait:
q:
qReqConf
qReqStat
role:
chn 1
dev 1
prs 1
rssi:
at_myHmUART:
avg -57.6388888888889
cnt 72
lst -56
max -49
min -62
myHmUART:
avg -65.625
cnt 48
lst -59
max -59
min -69
tmpl:
Attributes:
IODev myHmUART
autoReadReg 4_reqStatus
expert 2_raw
firmware 2.11
model HM-LC-Ja1PBU-FM
peerIDs 00000000,6686E701,6686E702,
room CUL_HM
serialNr PEQ0096664
subType blindActuator
userReadings pctSlatSoll {ReadingsVal($NAME,"pctSlat",0)+25}, pctSlatSollOff {ReadingsVal($NAME,"pctSlat",0)-25},stateInverted {if(ReadingsVal($NAME,"state","") eq "on") {return 0} elsif(ReadingsVal($NAME,"state","") eq "MISSING ACK") {return "
MISSING ACK"} elsif(ReadingsVal($NAME,"state","") eq "off") {return
100} elsif(ReadingsVal($NAME,"state","") eq "set_stop") {return "
stop"} elsif(ReadingsVal($NAME,"state","") eq "unreachable") {return "
unreachable!!"} else {return int((ReadingsVal($NAME,"state",0)-100)*-1)}}
webCmd statusRequest:toggleDir:on:off:up:down:stop
wieso sind die neuesten timestamps im list von januar 2023?
auf welchem planeten wohnst du? ;)
ist das list wirklich aktuell?
zumindestens sind hier auch viele resends zu sehen, in der regel funkprobleme.
da alle rssi aber im guten bereich liegen, könnten eventuell störfelder die ursache sein.
nach dem list ist auch fhem nicht aktuell.
ZitatFahre ich hinauf, kann ich die Fahrt nicht mehr stoppen.
beim hochziehen braucht der motor am meisten kraft.
vorstellbar, dass dabei mehr störungen durch den motor erzeugt werden.
im sniff sollten schön störungen enthalten sein.
Zitat von: frank am 22 April 2024, 11:55:49wieso sind die neuesten timestamps im list von januar 2023?
auf welchem planeten wohnst du? ;)
ist das list wirklich aktuell?
ja war ein aktueller List, aber die Time scheint sich am raspi nicht automatisch zu syncen... muss ich mir anschauen.
Hab die time manuell am raspi gesetzt, list mit aktuellem Timestamp:
Internals:
DEF 6686E7
IODev myHmUART
NAME ez_JalFensterOst
NOTIFYDEV global
NR 36
NTFY_ORDER 50-ez_JalFensterOst
STATE RESPONSE TIMEOUT:RegisterRead
TYPE CUL_HM
peerList self01,self02,
protCmdDel 4
protResnd 6 last_at:2024-04-22 13:18:52
protResndFail 2 last_at:2024-04-22 13:18:57
protSnd 2 last_at:2024-04-22 13:18:37
protState CMDs_done_Errors:1
READINGS:
2023-01-15 22:51:36 CommandAccepted yes
2018-11-19 20:26:58 D-firmware 2.11
2018-11-19 20:26:58 D-serialNr PEQ0096664
2024-04-22 15:14:51 PairedTo 0x12AEB3
2018-12-03 16:01:56 R-driveDown 36 s
2018-11-19 20:27:03 R-driveTurn 0.5 s
2018-12-03 16:01:37 R-driveUp 37 s
2018-11-19 20:27:02 R-pairCentral 0x12AEB3
2018-12-03 18:56:13 R-self01-lgActionType jmpToTarget
2018-12-03 18:56:13 R-self01-lgOnLevel 100 %
2018-12-03 18:56:13 R-self01-shActionType jmpToTarget
2018-12-03 18:56:13 R-self01-shOnLevel 100 %
2018-12-03 18:56:15 R-self02-lgActionType jmpToTarget
2018-12-03 18:56:15 R-self02-lgOnLevel 100 %
2018-12-03 18:56:15 R-self02-shActionType jmpToTarget
2018-12-03 18:56:15 R-self02-shOnLevel 100 %
2018-11-19 20:27:03 R-sign off
2023-01-15 22:51:36 deviceMsg 4 (to myHmUART)
2023-01-15 22:51:36 level 4
2023-01-12 00:35:19 levelSlat set_50
2023-01-15 22:51:36 motor stop:4
2023-01-15 22:51:36 pct 4
2023-01-15 22:51:36 pctSlat 61
2024-04-22 13:18:57 pctSlatSoll 86
2024-04-22 13:18:57 pctSlatSollOff 36
2024-04-22 13:18:11 peerList self01,self02,
2023-01-11 20:55:36 powerOn 2023-01-11 20:55:36
2023-01-15 22:51:36 recentStateType ack
2023-01-15 22:51:36 slatDir stop
2024-04-22 13:18:57 state RESPONSE TIMEOUT:RegisterRead
2024-04-22 13:18:57 stateInverted 100
2023-01-15 22:51:36 timedOn off
RegL_00.:
VAL
helper:
HM_CMDNR 54
cSnd 0112AEB36686E7010E,0112AEB36686E700040000000000
getCfgList all
getCfgListNo ,3
mId 0107
rxType 1
expert:
def 1
det 0
raw 1
tpl 0
io:
newChn +6686E7,00,00,00
prefIO
rxt 0
vccu
p:
6686E7
00
00
00
mRssi:
mNo
prt:
bErr 0
sProc 0
q:
qReqConf
qReqStat
role:
chn 1
dev 1
prs 1
tmpl:
Attributes:
IODev myHmUART
autoReadReg 4_reqStatus
expert 2_raw
firmware 2.11
model HM-LC-Ja1PBU-FM
peerIDs 00000000,6686E701,6686E702,
room CUL_HM
serialNr PEQ0096664
subType blindActuator
userReadings pctSlatSoll {ReadingsVal($NAME,"pctSlat",0)+25}, pctSlatSollOff {ReadingsVal($NAME,"pctSlat",0)-25},stateInverted {if(ReadingsVal($NAME,"state","") eq "on") {return 0} elsif(ReadingsVal($NAME,"state","") eq "MISSING ACK") {return "
MISSING ACK"} elsif(ReadingsVal($NAME,"state","") eq "off") {return
100} elsif(ReadingsVal($NAME,"state","") eq "set_stop") {return "
stop"} elsif(ReadingsVal($NAME,"state","") eq "unreachable") {return "
unreachable!!"} else {return int((ReadingsVal($NAME,"state",0)-100)*-1)}}
webCmd statusRequest:toggleDir:on:off:up:down:stop
Zitat von: frank am 22 April 2024, 11:55:49beim hochziehen braucht der motor am meisten kraft.
vorstellbar, dass dabei mehr störungen durch den motor erzeugt werden.
das ist ein interessanter Ansatz.
Dieser Aktor ist der einzige, der in der Mitte von insgesamt 3 Homematic Aktoren sitzt... Eventuell auch daher die nicht permanenten Probleme?
Ich werde mich mal an dem Sniffen versuchen
Zitat von: NewMatic am 22 April 2024, 13:27:41Ich werde mich mal an dem Sniffen versuchen
2024.04.23 08:24:03.802 1: PERL WARNING: Argument "set_off" isn't numeric in subtraction (-) at (eval 723) line 5.
2024.04.23 08:24:03.810 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 4C A0 11 12AEB3 6686E7 800100CA
2024.04.23 08:24:03.971 0: HMUARTLGW myHmUART recv: 01 04 03 00 35 msg: 4C 80 02 6686E7 12AEB3 0101112046C802
2024.04.23 08:24:03.975 1: PERL WARNING: Argument "set_off" isn't numeric in subtraction (-) at (eval 727) line 5.
2024.04.23 08:24:03.980 1: PERL WARNING: Argument "set_off" isn't numeric in subtraction (-) at (eval 730) line 5.
2024.04.23 08:24:04.857 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 4D A0 11 12AEB3 6686E7 0301
2024.04.23 08:24:05.017 0: HMUARTLGW myHmUART recv: 01 04 03 00 37 msg: 4D 80 02 6686E7 12AEB3 01010C003C6400
2024.04.23 08:24:06.242 1: PERL WARNING: Argument "set_on" isn't numeric in subtraction (-) at (eval 751) line 5.
2024.04.23 08:24:06.250 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 4E A0 11 12AEB3 6686E7 8001C8CA
2024.04.23 08:24:06.411 0: HMUARTLGW myHmUART recv: 01 04 03 00 32 msg: 4E 80 02 6686E7 12AEB3 01010C103F6401
2024.04.23 08:24:06.414 1: PERL WARNING: Argument "set_on" isn't numeric in subtraction (-) at (eval 755) line 5.
2024.04.23 08:24:06.420 1: PERL WARNING: Argument "set_on" isn't numeric in subtraction (-) at (eval 758) line 5.
2024.04.23 08:24:08.594 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 4F A0 11 12AEB3 6686E7 0301
2024.04.23 08:24:08.754 0: HMUARTLGW myHmUART recv: 01 04 03 00 37 msg: 4F 80 02 6686E7 12AEB3 010118003DC800
2024.04.23 08:24:10.142 1: PERL WARNING: Argument "set_off" isn't numeric in subtraction (-) at (eval 779) line 5.
2024.04.23 08:24:10.154 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 50 A0 11 12AEB3 6686E7 800100CA
2024.04.23 08:24:10.634 0: HMUARTLGW myHmUART recv: 01 04 03 00 35 msg: 50 80 02 6686E7 12AEB3 0101182044C802
2024.04.23 08:24:10.638 1: PERL WARNING: Argument "set_off" isn't numeric in subtraction (-) at (eval 783) line 5.
2024.04.23 08:24:10.644 1: PERL WARNING: Argument "set_off" isn't numeric in subtraction (-) at (eval 786) line 5.
2024.04.23 08:24:11.897 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 51 A0 11 12AEB3 6686E7 0301
2024.04.23 08:24:12.057 0: HMUARTLGW myHmUART recv: 01 04 03 00 3A msg: 51 80 02 6686E7 12AEB3 010110003B3C00
2024.04.23 08:24:13.583 1: PERL WARNING: Argument "set_on" isn't numeric in subtraction (-) at (eval 807) line 5.
2024.04.23 08:24:13.592 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 52 A0 11 12AEB3 6686E7 8001C8CA
2024.04.23 08:24:13.752 0: HMUARTLGW myHmUART recv: 01 04 03 00 39 msg: 52 80 02 6686E7 12AEB3 01011010443C01
2024.04.23 08:24:13.756 1: PERL WARNING: Argument "set_on" isn't numeric in subtraction (-) at (eval 811) line 5.
2024.04.23 08:24:13.762 1: PERL WARNING: Argument "set_on" isn't numeric in subtraction (-) at (eval 814) line 5.
2024.04.23 08:24:15.928 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 53 A0 11 12AEB3 6686E7 0301
2024.04.23 08:24:19.128 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 53 A0 11 12AEB3 6686E7 0301
2024.04.23 08:24:23.652 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 53 A0 11 12AEB3 6686E7 0301
2024.04.23 08:24:29.290 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 53 A0 11 12AEB3 6686E7 0301
2024.04.23 08:24:33.808 1: PERL WARNING: Argument "ResndFail" isn't numeric in subtraction (-) at (eval 829) line 5.
2024.04.23 08:25:22.819 1: PERL WARNING: Argument "set_off" isn't numeric in subtraction (-) at (eval 837) line 5.
2024.04.23 08:25:22.828 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 54 A0 11 12AEB3 6686E7 800100CA
2024.04.23 08:25:26.040 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 54 A0 11 12AEB3 6686E7 800100CA
2024.04.23 08:25:26.496 0: HMUARTLGW myHmUART recv: 01 04 03 00 35 msg: 54 80 02 6686E7 12AEB3 0101322044C802
2024.04.23 08:25:26.499 1: PERL WARNING: Argument "set_off" isn't numeric in subtraction (-) at (eval 841) line 5.
2024.04.23 08:25:26.505 1: PERL WARNING: Argument "set_off" isn't numeric in subtraction (-) at (eval 844) line 5.
2024.04.23 08:25:29.363 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 55 A0 11 12AEB3 6686E7 0301
2024.04.23 08:25:33.362 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 55 A0 11 12AEB3 6686E7 0301
eingestellt hab ich wie in der beschreibung:
attr global verbose 1
attr global mseclog 1
attr <hmio> logIDs all,sys
soll/muss ich da das verbose level erhöhen?
moin.
1. als erstes würde ich mal die warnings eleminieren, die durch das userreading stateInverted im else block entstehen, wenn strings (zb set_on) im state kommen.
hat aber nichts mit dem problem zu tun.
stateInverted {
if( ReadingsVal($NAME,"state","") eq "on") {return 0}
elsif(ReadingsVal($NAME,"state","") eq "MISSING ACK") {return "MISSING ACK"}
elsif(ReadingsVal($NAME,"state","") eq "off") {return 100}
elsif(ReadingsVal($NAME,"state","") eq "set_stop") {return "stop"}
elsif(ReadingsVal($NAME,"state","") eq "unreachable") {return "unreachable!!"}
else {return int((ReadingsVal($NAME,"state",0)-100)*-1)}
}
2. zum log
zunächst werden alle befehle (up, down, stop) vom device beantwortet. auch stop beim hochfahren.
igendwann kommen (fast) keine antworten mehr vom device (80 02 6686E7 12AEB3 ...).
es begint mit stop beim hochfahren (4x), danach aber auch 1x beim down.
die down wiederholung wird wieder beantwortet, aber folgende 2 stops auch nicht.
2024.04.23 08:24:13.592 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 52 A0 11 12AEB3 6686E7 8001C8CA
2024.04.23 08:24:13.752 0: HMUARTLGW myHmUART recv: 01 04 03 00 39 msg: 52 80 02 6686E7 12AEB3 01011010 44 3C01
2024.04.23 08:24:15.928 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 53 A0 11 12AEB3 6686E7 0301
2024.04.23 08:24:19.128 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 53 A0 11 12AEB3 6686E7 0301
2024.04.23 08:24:23.652 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 53 A0 11 12AEB3 6686E7 0301
2024.04.23 08:24:29.290 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 53 A0 11 12AEB3 6686E7 0301
2024.04.23 08:25:22.828 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 54 A0 11 12AEB3 6686E7 800100CA
2024.04.23 08:25:26.040 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 54 A0 11 12AEB3 6686E7 800100CA
2024.04.23 08:25:26.496 0: HMUARTLGW myHmUART recv: 01 04 03 00 35 msg: 54 80 02 6686E7 12AEB3 01013220 44 C802
2024.04.23 08:25:29.363 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 55 A0 11 12AEB3 6686E7 0301
2024.04.23 08:25:33.362 0: HMUARTLGW myHmUART send: 01 02 00 00 00 msg: 55 A0 11 12AEB3 6686E7 0301
es gibt viele möglichkeiten, warum keine antworten zu sehen sind.
1. hmuart hat die cmd nicht gesendet
2. device hat die cmd nicht gehört
3. device konnte keine antworten senden, wegen 1% regel
4. hmuart hat die antworten nicht gehört
ich vermute aber, dass das device trotzdem gestoppt hat, denn die up fahrt begann bei 8% und die nächste antwort beim down zeigt nur 25%, mehr als 1min später.
ob der aktor wirklich reagiert, kannst nur du beurteilen.
die rssi zeigen auch einen leichten hörschaden.
vielleicht zeigt der aktor aber auch die ersten anzeichen des berühmten sterbens eines bestimmten kondensators?
ich würde mal einen werkreset über den configtaster machen, anschliessend neu anlernen.
fhem device aber nicht löschen.
wenn das nicht hilft, wahrscheinlich den kondensator tauschen.
Moin,
erstmal danke für deine Hilfe!
Zitat von: frank am 23 April 2024, 14:20:49es gibt viele möglichkeiten, warum keine antworten zu sehen sind.
1. hmuart hat die cmd nicht gesendet
2. device hat die cmd nicht gehört
3. device konnte keine antworten senden, wegen 1% regel
4. hmuart hat die antworten nicht gehört
da alle anderen aktoren mit dem gleichen hmuart sauber funktioniere/kommunizieren, tippe ich stark auf #2 oder #3.
Was genau ist mit der 1% regel bei #3 gemeint?
Der Aktor zeigt ein ganz komisches Verhalten.
Teils funktioniert es ohne Probleme. dann reagiert er manchmal verzögert (im Sekunden Bereich), und reagiert "teils" gar nicht mehr.
Wie finde ich den kaputten Kondensator?oder ist das immer der "selbe" bei dem Aktormodell?
Danke nochmal!
nach der bauanleitung müsste es hier c27 sein.
https://files2.elv.com/public/15/1500/150093/Internet/150093_homematic_jalousiesteuerung.pdf (https://files2.elv.com/public/15/1500/150093/Internet/150093_homematic_jalousiesteuerung.pdf)
Zitat von: NewMatic am 23 April 2024, 16:45:13Teils funktioniert es ohne Probleme. dann reagiert er manchmal verzögert (im Sekunden Bereich), und reagiert "teils" gar nicht mehr.
möglich, dass beim hochfahren plus senden das netzteil am meisten belastet wird und dadurch das funkmodul ausfällt. nach entsprechender pause erholt es sich?
ZitatWas genau ist mit der 1% regel bei #3 gemeint?
jeder sender darf pro stunde nur 1% der zeit senden (overload).