Servus miteinander,
ich nutze seit einiger Zeit erfolgreich FHEM mit Homematic Thermostaten und Temperatur Sensoren und möchte jetzt endlich die Temperatur Werte der TX29DTH Sensoren zum steuern der Thermostate nutzen.
Leider ist es mir nach unzähligen Versuchen nicht geglückt... Als Basis habe ich die gleiche Ausgangslage wie in diesem Thread beschrieben: https://forum.fhem.de/index.php?topic=32402.0
list Buero.thermostat_Weather
Internals:
DEF 3C3EF801
NAME Buero.thermostat_Weather
NOTIFYDEV global
NR 53
NTFY_ORDER 50-Buero.thermostat_Weather
STATE 22.2
TYPE CUL_HM
chanNo 01
device Buero.thermostat
READINGS:
2016-12-19 13:21:51 R-sign off
2018-02-26 22:01:13 RegL_01. 08:00 00:00
2018-02-26 22:12:37 measured-temp 22.2
2018-02-26 22:12:37 state 22.2
helper:
peerIDsRaw ,00000000
regLst ,1
expert:
def 1
det 0
raw 1
tpl 0
role:
chn 1
shadowReg:
tmpl:
Attributes:
model HM-CC-RT-DN
peerIDs 00000000,
list Buero.Temp
Internals:
CHANGED
DEF 2E
IODev myJeeLink
LASTInputDev myJeeLink
LaCrosse_lastRcv 2018-02-26 22:13:59
MSGCNT 107
NAME Buero.Temp
NR 45
STATE T: 22.1 H: 41
TYPE LaCrosse
addr 2E
battery_new 0
corr1 0
corr2 0
myJeeLink_MSGCNT 107
myJeeLink_RAWMSG OK 9 46 1 4 197 41
myJeeLink_TIME 2018-02-26 22:13:59
previousH 41
previousT 22.1
sensorType 0=T(H)
READINGS:
2018-02-26 22:13:59 battery ok
2018-02-26 22:13:59 humidity 41
2017-11-22 09:31:55 rain 81.5
2018-02-26 22:11:05 state T: 22.1 H: 41
2018-02-26 22:13:59 temperature 22.1
2017-11-22 09:31:55 windDirectionDegree 22.5
2017-11-22 09:31:55 windDirectionText NNE
2017-11-22 09:31:55 windGust 24.4
2017-11-22 09:31:55 windSpeed 78.8
Attributes:
IODev myJeeLink
event-min-interval battery:3600,humidity:600,temperature:600
event-on-change-reading battery,humidity:2,temperature:0.5
fp_Grundriss 118,777,4,Büro,
room Büro,LaCrosse
set hm peerXref
peerXref done:
x-ref list
WZ.links_Clima => WZ.rechts_ClimaTeam
WZ.links_ClimaTeam => WZ.rechts_Clima
WZ.rechts_Clima => WZ.links_ClimaTeam
WZ.rechts_ClimaTeam => WZ.links_Clima
set hm protoEvents
protoEvents done:
name :State |CmdPend |Snd |Resnd #CmdDel |ResndFail |Nack |IOerr
Badezimmer.thermostat : done | - | 44: | 2: # - | - | - | -
Buero.thermostat : done | - | 42: | 2: # - | - | - | -
Schlafzimmer.thermostat : done | - | 34: | 1: # - | - | - | -
WZ.links : done | - | 35: | 2: # - | - | - | -
WZ.rechts : done | - | 32: | 1: # - | - | - | -
test_thermostat : - | - | - | - # - | - | - | -
================================================================================================================
sum 0 |0 |187 |8 #0 |0 |0 |0
CUL_HM queue length:0
requests pending
----------------
autoReadReg :
recent : none
status request :
autoReadReg wakeup :
status request wakeup:
autoReadTest : WZ.rechts Buero.thermostat WZ.links Badezimmer.thermostat Schlafzimmer.thermostat test_thermostat Badezimmer.thermostat Buero.thermostat Schlafzimmer.thermostat WZ.rechts WZ.links
IODevs:FHEM.server:opened condition:ok
set hm configCheck
configCheck done:
Wenn ich versuche folgenden code auszuführen, wird immer nur eine Richtung gepeert...
define buero_vT CUL_HM ACDC12 (neue hmid vergeben)
set buero_vT virtual 1
rename buero_vT_Btn1 buero_vT_Sensor1
set buero_vT_Sensor1 peerChan 0 test_thermostat_Weather single
set buero_vT_Sensor1 virtTemp 20.0
Als Ergebnis wie beschrieben nur der eine Weg...
Wer kann mir den entscheidenen Tip geben, warum die Verbindung nicht korrekt zu stande kommt.
Ich nutze einen Raspberry Pi1 mit:
list FHEM.server
Internals:
AssignedPeerCnt 6
CNT 12
Clients :CUL_HM:
DEF /dev/ttyAMA0
DEVCNT 12
DevState 99
DevType UART
DeviceName /dev/ttyAMA0@115200
FD 10
LastOpen 1519678762.8808
NAME FHEM.server
NR 24
PARTIAL
RAWMSG 04022A
RSSI -50
STATE opened
TYPE HMUARTLGW
XmitOpen 1
model HM-MOD-UART
msgLoadCurrent 21
msgLoadHistory 0/0/0/21/-/-/-/-/-/-/-/-
msgLoadHistoryAbs 21/21/21/21/0/-/-/-/-/-/-/-/-
owner ACDC11
Helper:
CreditTimer 85
FW 66561
Initialized 1
SendCnt 90
AckPending:
LastSendLen:
3
3
Log:
IDs:
PeerQueue:
PendingCMD:
RoundTrip:
Delay 0.00479292869567871
loadLvl:
lastHistory 1519679981.923
MatchList:
1:CUL_HM ^A......................
Peers:
3C3D1C +3C3D1C,00,00,00
3C3EF8 +3C3EF8,00,00,00
3D86EB +3D86EB,00,00,00
4A76B0 +4A76B0,00,00,00
4A78BC +4A78BC,00,00,00
4DE533 +4DE533,00,00,00
READINGS:
2018-02-26 21:59:41 D-HMIdAssigned ACDC11
2018-02-26 21:59:41 D-HMIdOriginal 4C3D0B
2018-02-26 21:59:41 D-firmware 1.4.1
2018-02-26 21:59:41 D-serialNr NEQ0605109
2018-02-26 21:59:22 D-type HM-MOD-UART
2018-02-26 21:59:41 cond ok
2018-02-26 22:04:40 load 21
2018-02-26 21:59:41 loadLvl low
2018-02-26 21:59:22 state opened
helper:
Attributes:
hmId ACDC11
room CUL_HM
list myJeeLink
Internals:
Clients :PCA301:EC3000:RoomNode:LaCrosse:ETH200comfort:CUL_IR:HX2272:FS20:AliRF:Level:EMT7110:KeyValueProtocol
DEF /dev/ttyUSB0@57600
DeviceName /dev/ttyUSB0@57600
FD 12
NAME myJeeLink
NR 38
PARTIAL
RAWMSG OK 9 50 1 4 48 42
STATE initialized
TYPE JeeLink
initMessages
model LaCrosseITPlusReader.10.1s
myJeeLink_MSGCNT 1567
myJeeLink_TIME 2018-02-26 22:22:02
settings (RFM69CW f:868280 r:17241)
MatchList:
1:PCA301 ^\S+\s+24
2:EC3000 ^\S+\s+22
3:RoomNode ^\S+\s+11
4:LaCrosse ^(\S+\s+9 |OK\sWS\s)
5:AliRF ^\S+\s+5
6:EMT7110 ^OK\sEMT7110\s
7:KeyValueProtocol ^OK\sVALUES\s
READINGS:
2018-02-26 22:22:02 state initialized
Attributes:
flashCommand avrdude -p atmega328P -c arduino -P /dev/ttyUSB0 -D -U flash:w:./FHEM/firmware/JeeLink_LaCrosse.hex 2>./log/JeeLinkFlash.log
initCommands 0a 868280f 17241r 522h v
room LaCrosse
Ich freue mich auf eure Ideen und Ratschläge.
Gruß,
Marc
Es geht um Peering, nicht Pairing. :D
Interessant wären eher die lists von den verwendeten Devices (test_thermostat und buero_vT) als die ganzen anderen, die Du da gepostet hast.
Hast Du beim Thermostat auch gewartet, bis keine pending commands mehr sind und im Zweifel mal ein get config gemacht?
Wenn Du keine Tippfehler hattest, funktioniert das eigentlich problemlos; man muss nur ein wenig warten.
https://wiki.fhem.de/wiki/HM-CC-RT-DN_Funk-Heizk%C3%B6rperthermostat#Temperatursensoren (https://wiki.fhem.de/wiki/HM-CC-RT-DN_Funk-Heizk%C3%B6rperthermostat#Temperatursensoren)
Zitat von: Hollo am 27 Februar 2018, 12:42:24
Es geht um Peering, nicht Pairing. :D
Interessant wären eher die lists von den verwendeten Devices (test_thermostat und buero_vT) als die ganzen anderen, die Du da gepostet hast.
Hast Du beim Thermostat auch gewartet, bis keine pending commands mehr sind und im Zweifel mal ein get config gemacht?
Wenn Du keine Tippfehler hattest, funktioniert das eigentlich problemlos; man muss nur ein wenig warten.
https://wiki.fhem.de/wiki/HM-CC-RT-DN_Funk-Heizk%C3%B6rperthermostat#Temperatursensoren (https://wiki.fhem.de/wiki/HM-CC-RT-DN_Funk-Heizk%C3%B6rperthermostat#Temperatursensoren)
Servus,
nach allem was ich gelesen habe sollten zumindest beim Komando "set hm peerXref" direkt beide Richtungen angelegt werden. Leider ist dies nicht der Fall und auch nach langem warten wird nur der eine Weg angezeigt.
Vorab sind alle devices in Ordnung und das get config wird sauber verarbeitet. Nach dem PEERing ;-) stauen sich nach und nach die CMDs pending und auch ein burstXmit kann das ganze nicht bereinigen, dann geht nur noch "unset" und clear events + plus get config und dann mit dem burst wieder triggern.
Habe wirklich schon alles versucht, Tippfehler würde ich eigentlich auch ausschließen...
list test_thermostat
Internals:
DEF 3C3D1C
FHEM.server_MSGCNT 357
FHEM.server_RAWMSG 05000035CE86103C3D1C0000000AA8C6100000
FHEM.server_RSSI -53
FHEM.server_TIME 2018-02-27 13:14:48
IODev FHEM.server
LASTInputDev FHEM.server
MSGCNT 357
NAME test_thermostat
NOTIFYDEV global
NR 102
NTFY_ORDER 50-test_thermostat
STATE CMDs_done
TYPE CUL_HM
channel_01 test_thermostat_Weather
channel_02 test_thermostat_Climate
channel_03 test_thermostat_WindowRec
channel_04 test_thermostat_Clima
channel_05 test_thermostat_ClimaTeam
channel_06 test_thermostat_remote
lastMsg No:CE - t:10 s:3C3D1C d:000000 0AA8C6100000
protLastRcv 2018-02-27 13:14:48
rssi_at_FHEM.server lst:-53 max:-49 avg:-58.4 min:-71 cnt:357
READINGS:
2018-02-26 21:59:35 Activity alive
2018-02-26 21:09:03 CommandAccepted yes
2018-02-26 18:43:37 D-firmware 1.4
2018-02-26 18:43:37 D-serialNr MEQ0576064
2018-02-26 21:06:55 PairedTo 0xACDC11
2018-02-26 18:43:57 R-backOnTime 10 s
2018-02-26 18:43:57 R-burstRx on
2018-02-26 18:43:57 R-cyclicInfoMsg on
2018-02-26 18:43:57 R-cyclicInfoMsgDis 0
2018-02-26 18:43:57 R-pairCentral 0xACDC11
2018-02-26 21:06:55 RegL_00. 01:01 02:01 09:01 0A:AC 0B:DC 0C:11 0E:0A 0F:00 11:00 12:15 16:00 18:00 19:00 1A:00 00:00
2018-02-26 21:07:16 RegL_07.
2018-02-27 13:14:48 actuator 0
2018-02-26 19:53:12 aesCommToDev ok
2018-02-26 19:53:12 aesKeyNbr 00
2018-02-27 13:14:48 battery ok
2018-02-27 13:14:48 batteryLevel 3.1
2018-02-27 13:14:48 desired-temp 21.0
2018-02-27 13:14:48 measured-temp 19.8
2018-02-27 13:14:48 motorErr ok
2018-02-26 21:09:03 state CMDs_done
2018-02-26 18:44:07 time-request -
helper:
HM_CMDNR 206
mId 0095
regLst ,0
rxType 140
supp_Pair_Rep 0
expert:
def 1
det 0
raw 1
tpl 0
io:
newChn +3C3D1C,00,00,00
nextSend 1519733688.26927
prefIO
rxt 2
vccu
p:
3C3D1C
00
00
00
mRssi:
mNo CE
io:
FHEM.server:
-47
-47
prt:
bErr 0
sProc 0
q:
qReqConf
qReqStat
role:
dev 1
prs 1
rssi:
at_FHEM.server:
avg -58.406162464986
cnt 357
lst -53
max -49
min -71
shRegW:
07 04
tmpl:
Attributes:
IODev FHEM.server
actCycle 000:10
actStatus alive
autoReadReg 4_reqStatus
expert 2_raw
firmware 1.4
model HM-CC-RT-DN
room CUL_HM
serialNr MEQ0576064
subType thermostat
webCmd getConfig:clear msgEvents:burstXmit
list buero_vT
Internals:
CFGFN
DEF ACDC12
IODev
NAME buero_vT
NOTIFYDEV global
NR 235
STATE ???
TYPE CUL_HM
channel_01 buero_vT_Sensor1
READINGS:
helper:
HM_CMDNR 218
mId
expert:
def 1
det 0
raw 1
tpl 0
io:
newChn +ACDC12,00,00,00
prefIO
rxt 0
vccu
p:
ACDC12
00
00
00
mRssi:
mNo
prt:
bErr 0
sProc 0
q:
qReqConf
qReqStat
role:
dev 1
vrt 1
tmpl:
Attributes:
expert 2_raw
model virtual_1
subType virtual
webCmd virtual
Zitat von: Marc am 27 Februar 2018, 13:52:24
nach allem was ich gelesen habe sollten zumindest beim Komando "set hm peerXref" direkt beide Richtungen angelegt werden. Leider ist dies nicht der Fall und auch nach langem warten wird nur der eine Weg angezeigt.
Wo hast du das gelesen??
Laut Wiki und so wie ich das kenne und laut commandref gibt es kein '
set hm peerXref'.
Es gibt ein '
get hm peerXref' zur Anzeige der Peers...
Und wie sollte ein so "einfacher" Befehl wie 'set hm peerXref' (wenn es ihn denn gäbe) überhaupt wissen was mit was gepeert werden soll!?
Gruß, Joachim
Zitat von: MadMax-FHEM am 27 Februar 2018, 16:04:56
Wo hast du das gelesen??
Laut Wiki und so wie ich das kenne und laut commandref gibt es kein 'set hm peerXref'.
Es gibt ein 'get hm peerXref' zur Anzeige der Peers...
Und wie sollte ein so "einfacher" Befehl wie 'set hm peerXref' (wenn es ihn denn gäbe) überhaupt wissen was mit was gepeert werden soll!?
Gruß, Joachim
Hi Joachim,
"set" liefert lustigerweise das gleiche Ergebnis zurück, aber du hast recht, "get" ist hier richtig.
Mir ist schon klar, dass get bzw. set nicht für das peeren selbst da ist, sondern nur eine Liste ausgibt was gepeert ist.
Das peeren mache ich wie weiter oben beschrieben und aus dem verlinkten Thread entnommen mit:
set buero_vT_Sensor1 peerChan 0 test_thermostat_Weather single
Die führt jedoch immer zum gleichen Ergebnis, es wird nicht in beide Richtungen sauber gepeered.
Dort stecke ich jetzt fest...
Anbei nochmal der Post: https://forum.fhem.de/index.php/topic,32402.msg249514.html#msg249514
Gruß,
Marc
Zitatset buero_vT_Sensor1 peerChan 0 test_thermostat_Weather single
Da fehlt mindestens mal das 'set':
set <HM-TC-IT-WM-W-EU>_Weather peerChan 0 <HM-CC-RT-DN>_Weather single
setGruß, Joachim
Zitat von: MadMax-FHEM am 27 Februar 2018, 16:18:19
Da fehlt mindestens mal das 'set':
set <HM-TC-IT-WM-W-EU>_Weather peerChan 0 <HM-CC-RT-DN>_Weather single set
Gruß, Joachim
Habe das alles aus dem Wiki entnommen ;-)
auch mit "set" am Ende das gleiche Ergebnis.
get hm peerXref
peerXref done:
x-ref list
WZ.links_Clima => WZ.rechts_ClimaTeam
WZ.links_ClimaTeam => WZ.rechts_Clima
WZ.rechts_Clima => WZ.links_ClimaTeam
WZ.rechts_ClimaTeam => WZ.links_Clima
buero_vT_Sensor1 => test_thermostat_Weather
get hm protoEvents
protoEvents done:
name :State |CmdPend |Snd |Resnd #CmdDel |ResndFail |Nack |IOerr
Badezimmer.thermostat : done | - | 44: | 2: # - | - | - | -
Buero.thermostat : done | - | 42: | 2: # - | - | - | -
Schlafzimmer.thermostat : done | - | 38: | 1: # - | - | - | -
WZ.links : done | - | 37: | 2: # - | - | - | -
WZ.rechts : done | - | 36: | 1: # - | - | - | -
test_thermostat : pending | - | 2: | 1: # - | - | - | -
================================================================================================================
sum 0 |0 |199 |9 #0 |0 |0 |0
CUL_HM queue length:0
requests pending
----------------
autoReadReg :
recent : none
status request :
autoReadReg wakeup : test_thermostat
status request wakeup:
autoReadTest :
IODevs:FHEM.server:opened condition:ok
nochmal "get hm protoEvents"
protoEvents done:
name :State |CmdPend |Snd |Resnd #CmdDel |ResndFail |Nack |IOerr
Badezimmer.thermostat : done | - | 44: | 2: # - | - | - | -
Buero.thermostat : done | - | 42: | 2: # - | - | - | -
Schlafzimmer.thermostat : done | - | 38: | 1: # - | - | - | -
WZ.links : done | - | 37: | 2: # - | - | - | -
WZ.rechts : done | - | 36: | 1: # - | - | - | -
test_thermostat : pending | 2 pending| 4: | 2: # - | - | - | -
================================================================================================================
sum 0 |2 |201 |10 #0 |0 |0 |0
CUL_HM queue length:0
requests pending
----------------
autoReadReg :
recent : none
status request :
autoReadReg wakeup :
status request wakeup:
autoReadTest : test_thermostat_Weather
IODevs:FHEM.server:opened condition:ok
get hm configcheck
configCheck done:
missing register list
test_thermostat_Weather: RegL_01.
peer not verified. Check that peer is set on both sides
buero_vT_Sensor1 p:test_thermostat_Weather
bei deinem virtuellen sensor fehlt das attr IODev. ausserdem lösche attr expert.
Zitat von: frank am 27 Februar 2018, 16:45:36
bei deinem virtuellen sensor fehlt das attr IODev. ausserdem lösche attr expert.
Danke Frank, das wars... mit dem IODev kommt das peering jetzt zu stande... warum übernimmt er das IODev nicht?
Gibt es ein Problem mit "FHEM.server" der Punkt evtl? Im Wiki wird nicht gesagt, dass IODev gesetzt werden muss oder man darauf achten sollte...
Mein Zitat war aus dem Wiki! ;)
Und du hast immer noch cmds pending.
Solange die nicht weg sind (und evtl. auch noch Register nicht gelesen wurden: get hm configCheck) wird auch nicht wirklich das angezeigt was in den Registern des Gerätes steht (und Peers stehen eben genau da drin)...
Gruß, Joachim
Zitat von: MadMax-FHEM am 27 Februar 2018, 17:08:40
Mein Zitat war aus dem Wiki! ;)
Und du hast immer noch cmds pending.
Solange die nicht weg sind (und evtl. auch noch Register nicht gelesen wurden: get hm configCheck) wird auch nicht wirklich das angezeigt was in den Registern des Gerätes steht (und Peers stehen eben genau da drin)...
Gruß, Joachim
Kannst du mir die Stelle sagen wo? :-)
Aber warum übernimmt er das IODev beim anlegen nicht?
Verdammt, copy und paste Fehler...
so schaut es jetzt aus:
protoEvents done:
name :State |CmdPend |Snd |Resnd #CmdDel |ResndFail |Nack |IOerr
Badezimmer.thermostat : done | - | 44: | 2: # - | - | - | -
Buero.thermostat : done | - | 42: | 2: # - | - | - | -
Schlafzimmer.thermostat : done | - | 38: | 1: # - | - | - | -
WZ.links : done | - | 37: | 2: # - | - | - | -
WZ.rechts : done | - | 36: | 1: # - | - | - | -
test_thermostat : done | - | 63: | - # - | - | - | -
================================================================================================================
sum 0 |0 |260 |8 #0 |0 |0 |0
CUL_HM queue length:0
requests pending
----------------
autoReadReg :
recent : none
status request :
autoReadReg wakeup :
status request wakeup:
autoReadTest : test_thermostat_Weather test_thermostat test_thermostat
IODevs:FHEM.server:opened condition:ok