Ich verwende eine Raspberry Pi mit Homematic Funk Modul ,,HM-MOD-RPI-PCB" und eine Funksteckdose mit Leistungsmesser ,,HM-ES-PMSW1-PL". (sonst momentan keine anderen Homematic Geräte)
Ich kann die Funksteckdose zwar per FHEM schalten, bekomme aber meistens keine Messwerte. (gelegentlich funktioniert's, das ist jedoch eher selten ;-)
Hat bzw. kennt jemand dieses Problem, bzw. gibt es dafür eine Lösung, oder habe ich da grundlegend was falsch gemacht??? ich bin schon am Verzweifeln.
Ich habe den Raspberry bzw. FHEM neu installiert (da es für mein Raspian ,,wheezy" keine Updates mehr gab) und das Funkmodul wie folgt eingebunden:
attr initialUsbCheck disable 1
define myHmUART HMUARTLGW /dev/ttyAMA0
Bei einem Restart meldet sich auch das Homematic Funk Modul
2021.01.14 12:48:06 3: Opening myHmUART device /dev/ttyAMA0
2021.01.14 12:48:06 3: Setting myHmUART serial parameters to 115200,8,N,1
2021.01.14 12:48:06 3: myHmUART device opened
2021.01.14 12:48:06 0: Featurelevel: 6
2021.01.14 12:48:06 0: Server started with 22 defined entities (fhem.pl:23471/2021-01-04 perl:5.028001 os:linux user:fhem pid:1219)
Das HM-Modul hat wie empfohlen die Firmware 1.4.1:
2021-01-14_12:48:06 myHmUART CONNECTED
2021-01-14_12:48:07 myHmUART cond: init
2021-01-14_12:48:09 myHmUART D-HMIdAssigned: 4600C1
2021-01-14_12:48:09 myHmUART D-HMIdOriginal: 4600C1
2021-01-14_12:48:09 myHmUART D-firmware: 1.4.1
2021-01-14_12:48:09 myHmUART D-serialNr: MEQ1887891
2021-01-14_12:48:09 myHmUART cond: ok
2021-01-14_12:48:09 myHmUART loadLvl: low
Die Funksteckdose ,,HM-ES-PMSW1-PL" habe ich bei der bestehenden Homematic VCCU abgelernt, und dann am neuen FHEM angelernt. ( danach den Namen renamed)
define HM_341F73 CUL_HM 341F73
setuuid HM_341F73 5fff390a-f33f-cb5f-e911-8ff27400d758a2a5
attr HM_341F73 .mId 00AC
attr HM_341F73 IODev myHmUART
attr HM_341F73 autoReadReg 4_reqStatus
attr HM_341F73 expert rawReg
attr HM_341F73 firmware 1.6
attr HM_341F73 model HM-ES-PMSW1-PL
attr HM_341F73 room CUL_HM
attr HM_341F73 serialNr LEQ1273130
attr HM_341F73 subType powerMeter
attr HM_341F73 webCmd getConfig:clear msgEvents
define FileLog_HM_341F73 FileLog ./log/HM_341F73-%Y.log HM_341F73
setuuid FileLog_HM_341F73 5fff390a-f33f-cb5f-25b1-ff8658f9ec54d7da
attr FileLog_HM_341F73 logtype text
attr FileLog_HM_341F73 room CUL_HM
define HM_Funksteckdose CUL_HM 341F7301
setuuid HM_Funksteckdose 5fff390a-f33f-cb5f-3415-36814f7d5154e20e
attr HM_Funksteckdose model HM-ES-PMSW1-PL
attr HM_Funksteckdose peerIDs ,
attr HM_Funksteckdose room HM_Funksteckdose,HomeMatic
define HM_Funksteckdose_Energy CUL_HM 341F7302
setuuid HM_Funksteckdose_Energy 5fff390a-f33f-cb5f-5f53-26b25b7a121f5698
attr HM_Funksteckdose_Energy model HM-ES-PMSW1-PL
attr HM_Funksteckdose_Energy peerIDs ,
attr HM_Funksteckdose_Energy room HM_Funksteckdose
define HM_Funksteckdose_Leistung CUL_HM 341F7303
setuuid HM_Funksteckdose_Leistung 5fff390a-f33f-cb5f-3510-cbb121679863ae5e
attr HM_Funksteckdose_Leistung model HM-ES-PMSW1-PL
attr HM_Funksteckdose_Leistung peerIDs ,
attr HM_Funksteckdose_Leistung room HM_Funksteckdose
define HM_Funksteckdose_Strom CUL_HM 341F7304
setuuid HM_Funksteckdose_Strom 5fff390a-f33f-cb5f-bbed-39d6828e6c593016
attr HM_Funksteckdose_Strom model HM-ES-PMSW1-PL
attr HM_Funksteckdose_Strom peerIDs ,
attr HM_Funksteckdose_Strom room HM_Funksteckdose
define HM_Funksteckdose_Spannung CUL_HM 341F7305
setuuid HM_Funksteckdose_Spannung 5fff390a-f33f-cb5f-36f5-c2593015d59d70e0
attr HM_Funksteckdose_Spannung model HM-ES-PMSW1-PL
attr HM_Funksteckdose_Spannung peerIDs ,
attr HM_Funksteckdose_Spannung room HM_Funksteckdose
define HM_Funksteckdose_Frequenz CUL_HM 341F7306
setuuid HM_Funksteckdose_Frequenz 5fff390a-f33f-cb5f-8283-a11cd5086068a503
attr HM_Funksteckdose_Frequenz model HM-ES-PMSW1-PL
attr HM_Funksteckdose_Frequenz peerIDs ,
attr HM_Funksteckdose_Frequenz room HM_Funksteckdose
Ich kann die Steckdose zwar schalten, aber danach (ca. 20 sek) kommt im logFile: HM_341F73-2021.log die Meldung:
2021-01-14_13:56:05 HM_341F73 commState: CMDs_pending
2021-01-14_13:56:05 HM_341F73 CMDs_pending
2021-01-14_13:56:05 HM_341F73 commState: CMDs_processing...
2021-01-14_13:56:23 HM_341F73 ResndFail
2021-01-14_13:56:23 HM_341F73 commState: CMDs_done_Errors:1
2021-01-14_13:56:23 HM_341F73 CMDs_done_Errors:1
2021-01-14_13:56:23 HM_341F73 MISSING ACK
Wenn ich im FHEM ein ,,CUL_HM set HM_Funksteckdose getConfig" oder ,,CUL_HM set HM_Funksteckdose statusRequest" ausführe blinkt die Steckdose orange und ich bekomme im LogFile HM_341F73-2021.log wieder die Meldung:
2021-01-14_14:11:44 HM_341F73 commState: CMDs_pending
2021-01-14_14:11:44 HM_341F73 CMDs_pending
2021-01-14_14:11:44 HM_341F73 commState: CMDs_pending
2021-01-14_14:11:44 HM_341F73 CMDs_pending
2021-01-14_14:11:44 HM_341F73 commState: CMDs_processing...
2021-01-14_14:12:04 HM_341F73 ResndFail
2021-01-14_14:12:04 HM_341F73 commState: CMDs_done_Errors:1
2021-01-14_14:12:04 HM_341F73 CMDs_done_Errors:1
2021-01-14_14:12:04 HM_341F73 RESPONSE TIMEOUT:RegisterRead
Bzw.:
2021-01-14_14:07:15 HM_341F73 commState: CMDs_pending
2021-01-14_14:07:15 HM_341F73 CMDs_pending
2021-01-14_14:07:15 HM_341F73 commState: CMDs_processing...
2021-01-14_14:07:31 HM_341F73 ResndFail
2021-01-14_14:07:31 HM_341F73 commState: CMDs_done_Errors:1
2021-01-14_14:07:31 HM_341F73 CMDs_done_Errors:1
2021-01-14_14:07:31 HM_341F73 MISSING ACK
kann mir da jemand weiterhelfen?
oder ist es eh gescheiter die Homematic Geräte mit einer eigenen VCCU über YAHM steuern? (so wie ich es bis jetzt auch hatte, ich wollte mir halt ein zusätzliches Gerät ersparen)
Danke
LG Günther
poste die ausgabe des fhem cmd "list HM_341F73".
Internals:
DEF 341F73
FUUID 5fff390a-f33f-cb5f-e911-8ff27400d758a2a5
IODev myHmUART
NAME HM_341F73
NOTIFYDEV global
NR 15
NTFY_ORDER 50-HM_341F73
STATE CMDs_processing...
TYPE CUL_HM
channel_01 HM_Funksteckdose
channel_02 HM_Funksteckdose_Energy
channel_03 HM_Funksteckdose_Leistung
channel_04 HM_Funksteckdose_Strom
channel_05 HM_Funksteckdose_Spannung
channel_06 HM_Funksteckdose_Frequenz
protCmdDel 1
protCmdPend 11 CMDs pending
protResnd 6 last_at:2021-01-14 15:42:40
protResndFail 1 last_at:2021-01-14 15:42:26
protSnd 2 last_at:2021-01-14 15:42:26
protState CMDs_processing...
READINGS:
2021-01-14 15:41:56 D-firmware 1.6
2021-01-14 15:41:56 D-serialNr LEQ1273130
2021-01-14 15:42:26 cfgState updating
2021-01-14 15:42:26 commState CMDs_processing...
2021-01-14 15:42:26 state CMDs_processing...
RegL_00.:
VAL
cmdStack:
++A001F10000341F7301040000000001
++A001F10000341F730103
++A001F10000341F7302040000000001
++A001F10000341F7303040000000001
++A001F10000341F730303
++A001F10000341F7304040000000001
++A001F10000341F730403
++A001F10000341F7305040000000001
++A001F10000341F730503
++A001F10000341F7306040000000001
++A001F10000341F730603
helper:
HM_CMDNR 85
cSnd 01F10000341F73010E,01F10000341F7300040000000000
mId 00AC
peerFriend
peerOpt -:powerMeter
regLst 0
rxType 1
cmds:
TmplKey :no:1610635316.18166
TmplTs 1610635316.18166
cmdKey 0:1:0::HM_341F73:00AC:01:
cmdLst:
assignHmKey noArg
clear [(readings|trigger|register|oldRegs|rssi|msgEvents|{msgErrors}|attack|all)]
deviceRename -newName-
fwUpdate -filename- [-bootTime-]
getConfig noArg
getDevInfo noArg
getRegRaw (List0|List1|List2|List3|List4|List5|List6) [-peerChn-]
raw -data- [...]
regBulk -list-.-peerChn- -addr1:data1- -addr2:data2-...
regSet [(prep|{exec})] -regName- -value- [-peerChn-]
reset noArg
tplDel -tplDel-
unpair noArg
lst:
condition slider,0,1,255
peer
peerOpt
tplDel
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 0
det 0
raw 1
tpl 0
io:
newChn +341F73,00,00,00
prefIO
rxt 0
vccu
p:
341F73
00
00
00
mRssi:
mNo
prt:
bErr 0
sProc 1
rspWait:
Pending RegisterRead
cmd As1055A001F10000341F7300040000000000
forChn 00
forList 00
forPeer
mNo 85
nAddr 0
reSent 4
q:
qReqConf
qReqStat
role:
dev 1
prs 1
tmpl:
Attributes:
IODev myHmUART
autoReadReg 4_reqStatus
expert rawReg
firmware 1.6
model HM-ES-PMSW1-PL
room CUL_HM
serialNr LEQ1273130
subType powerMeter
webCmd getConfig:clear msgEvents
der aktor ist nicht in fhem gepairt.
1. fhem versucht mit hmid=F10000 messages zu senden.
2. dem hmuart wurde angeblich hmid=4600C1 zugewiesen.
3. attr iodev=hmuart.
4. eine vccu gibt es angeblich nicht.
da stimmt etwas überhaupt nicht.
a. zeig mal ein list vom hmuart
b. hast du eine cul_hm-vccu definiert?
zeig ein list davon.
c. welche hmid hatte deine yahm-vccu?
d. woher kommt die hmid F10000?
e. hast du schon versucht zu pairen, und wie genau?
f. hast du den aktor resettet?
Hallo,
Ich habe die Funksteckdose in der alten Yahm VCCU abgemeldet, und dann einen Werksreset lt. Anleitung gemacht (Taste 4 sek, gedrückt, bis die LED langsam blinkt, dann Taste nochmal 4 Sek. gedrückt bis die LED schnell blinkt. Dann hab ich's ausgesteckt und später wieder eingesteckt.
Dann im neuen FHEM den Pairing Mode aktiviert:
set myHmUART hmPairForSec 600
dann auf der Funksteckdose die Teste 4 Sek gedrückt.
Damit wurde sie im FHEM automatisch angelegt.
Hier noch ein "list myHmUART"
Internals:
AssignedPeerCnt 1
CNT 48
Clients :CUL_HM:
DEF /dev/ttyAMA0
DEVCNT 48
DevState 99
DevType UART
DeviceName /dev/ttyAMA0@115200
FD 4
FUUID 5ffe1711-f33f-cb5f-14ff-c75a308e749d8e8b
LastOpen 1610639633.40699
NAME myHmUART
NOTIFYDEV global
NR 14
NTFY_ORDER 50-myHmUART
PARTIAL
RAWMSG 040202
STATE opened
TYPE HMUARTLGW
XmitOpen 1
model HM-MOD-UART
msgLoadCurrent 1
msgLoadHistory -/-/-/-/-/-/-/-/-/-/-/-
msgLoadHistoryAbs 0/-/-/-/-/-/-/-/-/-/-/-/-
owner 4600C1
Helper:
CreditTimer 20
FW 66561
Initialized 1
SendCnt 8
AckPending:
LastSendLen:
3
3
Log:
IDs:
PendingCMD:
RoundTrip:
Delay 0.00277805328369141
loadLvl:
lastHistory 1610639635.91303
MatchList:
1:CUL_HM ^A......................
Peers:
341F73 +341F73,00,00,00
READINGS:
2021-01-14 16:53:55 D-HMIdAssigned 4600C1
2021-01-14 16:53:55 D-HMIdOriginal 4600C1
2021-01-14 16:53:55 D-firmware 1.4.1
2021-01-14 16:53:55 D-serialNr MEQ1887891
2021-01-14 16:53:51 D-type HM-MOD-UART
2021-01-14 16:53:55 cond ok
2021-01-14 16:54:31 load 1
2021-01-14 16:53:55 loadLvl low
2021-01-14 16:53:53 state opened
helper:
Attributes:
room HomeMatic
Meine fhem.cfg sieht so aus:
attr global userattr cmdIcon devStateIcon:textField-long devStateStyle icon sortby webCmd webCmdLabel:textField-long widgetOverride
attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global statefile ./log/fhem.save
attr global verbose 3
define WEB FHEMWEB 8083 global
setuuid WEB 5ffe0a2f-f33f-cb5f-2d96-03bc20761c8310c1
# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog
setuuid Logfile 5ffe0a2f-f33f-cb5f-9ad7-f55c342a6a54636f
define autocreate autocreate
setuuid autocreate 5ffe0a2f-f33f-cb5f-56f7-c087a334a4dba170
attr autocreate filelog ./log/%NAME-%Y.log
define eventTypes eventTypes ./log/eventTypes.txt
setuuid eventTypes 5ffe0a2f-f33f-cb5f-16cc-78887c873d0a4392
# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create
setuuid initialUsbCheck 5ffe0a2f-f33f-cb5f-dcd0-488c9534e13f6b05
attr initialUsbCheck disable 1
define myHmUART HMUARTLGW /dev/ttyAMA0
setuuid myHmUART 5ffe1711-f33f-cb5f-14ff-c75a308e749d8e8b
attr myHmUART room HomeMatic
Ich hab's in der Zwischenzeit auch mit einem Rauchmelder probiert, da habe ich das gleiche Fehlerbild.
Auf die alte Yahm VCCU komm ich momentan nicht drauf um die ID herauszusuchen.
Ich habe gerade im fhel.log die Meldung bekommen:
2021.01.14 17:26:49 3: myHmUART: Unknown code A0E6E86021341971437420097E6E8AB::-92:myHmUART, help me!
2021.01.14 17:26:56 3: myHmUART: Unknown code A11ABA60213419714394D04A03690DEBF8298::-91:myHmUART, help me!
meine Beiden Testgeräte (Funksteckdose und Rauchmelder) sind aktuell nicht eingesteckt, woher kommt das? Hat da im Haus eventuell jemand anderer auch noch Homematic Geräte, oder ist das ein anderer Fehler?
Ich habe gerade einige Artikel gefunden, wo empfohlen wird, das eine VCCU einige Vorteile hat.
z.B.: https://wiki.fhem.de/wiki/Virtueller_Controller_VCCU
vor allem mit HomeMatic-Rauchmeldern, bzw. Rauchmeldergruppen.
um das richtig zu verstehen? funktioniert die Kommunikation unter den Rauchmeldern nur mit einer VCCU? oder auch wenn ich die HM Geräte direkt aus FHEM anspreche?
vielleicht sollte ich wieder eine VCCU anlegen, bei der alten die Config exportieren und bei der neuen dann importieren, wie siehst du das?
eine vccu vom modul cul_hm ist grundsätzlich eine gute idee.
1. sie verhindert zb die help me logausgaben der devices von deinem nachbarn.
2. sie ist nicht für rm nötig.
3. definiere eine mit der hmid des hmuart: 4600C1, wie im wiki.
4. ab jetzt braucht dann jedes hauptdevice die beiden attribute IODev und IOgrp. also auch die vccu
5. ausserdem repariert sie automatisch dein hmuart device. dort hat bei dir das attr hmid gefehlt.
6. ab jetzt pairst du immer über die vccu.
anschliessend im aktor die pending cmds löschen mit "set clear msgEvents"
dann erneut drüber pairen, also nichts löschen.