Hallo,
ich habe ein HM-TC-IT-WM-W-EU Thermostat. Dieses ist mit drei virtuellen Fensterkontakten gepeered. Klappt grundsätzlich.
Das Problem, das ich aber habe, ist, dass das Thermostat alle Fenster als geschlossen behandelt, sobald auch nur eines davon geschlossen wird (und die anderen noch offen sind).
Wie bekomme ich das in den Griff? Ich hätte das mal mit einer STRUCTURE versucht, die kann ich aber nicht peeren, oder?
Hier das peerXref der HMinfo (HM_367B29 ist das Thermostat):
peerXref done:
x-ref list
HM_302173_Weather => vTempSz
HM_302173_WindowRec => vFensterSz
HM_3097EA_Climate => HM_367B29_Climate
HM_3097EA_Weather => HM_367B29_Weather
HM_367B29_Climate => HM_3097EA_Climate
HM_367B29_Weather => HM_3097EA_Weather
HM_367B29_WindowRec => vFensterWzLinks
vFensterSz => HM_302173_WindowRec HM_367B29_WindowRec
vFensterWzLinks => HM_367B29_WindowRec
vFensterWzRechts => HM_367B29_WindowRec
vTempSz => HM_302173_Weather
Den Status der jeweiligen virtuellen Fensterkontakte setze ich mit einem DOIF, die Fensterkontakte selbst sind HOPPE SecuSignal Griffe.
([FensterSZ] eq "closed")(
set vFensterSz postEvent closed
) DOELSEIF ([FensterSZ] eq "tilted") (
set vFensterSz postEvent tilted
) DOELSE (
set vFensterSz postEvent open
)
Danke!
Stefan
http://commandref.fhem.de/commandref_DE.html#DOIF_aggregation
Fenster Status Meldungen
Kann Dir da helfen. Aber vieleicht erstmal schauen wieso Dein Wandthermostat der Meinung ist das die virtuell gepeerten Fenster alle zu sind obwohl nur eines geschlossen wurde.
Die drei DOIFs (für jeden Kontakt eines) hätte ich jetzt nicht als Fehler gesehen. Die funktionieren ja richtig.
Und ja, meine Frage war irgendwie darauf aus, herauszufinden, warum das Thermostat verwirrt ist. Ich bräuchte da nur einen Tipp, wie ich dem auf die Schliche komme.
Wie bist du beim peeren vorgegangen, wie hast Du die virtuellen Fensterkontakte erstellt?
Hast Du es nach dem Wiki gemacht?
https://wiki.fhem.de/wiki/HM-CC-RT-DN_Funk-Heizk%C3%B6rperthermostat#Simulation_von_Fensterkontakten_und_externen_Temperatursensoren
Kann man sicherlich ohne Probleme auf den Wandthermostat adaptieren.
Ja, genau. Wie im Wiki beschrieben. Ist aber schon etwas länger her, dass ich das gemacht habe. Habe damals notiert:
define vFensterWzLinks CUL_HM 6FAD3201
attr vFensterWzLinks group Virtual
attr vFensterWzLinks webCmd postEvent open:postEvent tilted:postEvent closed
set vFensterWzLinks peerChan 0 HM_367B29_WindowRec single set
set vFensterWzRechts peerChan 0 HM_367B29_WindowRec single set
set vFensterSz peerChan 0 HM_367B29_WindowRec single set
Moin
Ich glaube, dass Dein Thermostat nur mit einem virtuellen gepeert ist!
HM_367B29_WindowRec => vFensterWzLinks
Mach doch mal ein list vom HM_367B29_WindowRec !
Gruss Christoph
Das hatte ich auch schon vermutet. Und im List sieht's auch wirklich so aus. Aber das Thermostat reagiert trotzdem auf alle Fenster. Das irrtiert mich.
Internals:
CFGFN
DEF 367B2903
NAME HM_367B29_WindowRec
NOTIFYDEV global
NR 70
NTFY_ORDER 50-HM_367B29_WindowRec
STATE last:vFensterSz:open
TYPE CUL_HM
chanNo 03
device HM_367B29
peerList vFensterWzLinks,
READINGS:
2016-03-27 16:11:31 R-sign off
2016-03-27 16:11:31 R-vFensterWzLinks-shCtValLo 50
2016-03-27 16:11:32 R-vFensterWzLinks-winOpnTemp 12 C
2017-09-25 14:50:38 RegL_01. 08:00 00:00
2017-09-25 14:50:38 RegL_03.vFensterWzLinks 04:32 00:00
2017-09-25 14:50:38 RegL_07.vFensterWzLinks 05:18 00:00
2017-09-25 14:50:38 peerList vFensterWzLinks,
2017-09-25 14:50:38 state unknown
2017-09-25 22:43:49 trigLast vFensterSz:open
2017-09-25 22:43:49 trig_vFensterSz open
2017-09-25 17:46:38 trig_vFensterWzLinks closed
2017-09-16 03:38:38 trig_vFensterWzRechts closed
helper:
peerIDsRaw ,6FAD3201,00000000
expert:
def 1
det 1
raw 1
tpl 0
role:
chn 1
shadowReg:
tmpl:
Attributes:
model HM-TC-IT-WM-W-EU
peerIDs 00000000,6FAD3201,
stateFormat last:trigLast
Gude,
ich kenne mich mit dem Erstellen von virtuellen Fensterkontakten nicht aus, da noch nie gemacht. Aber mal ins Blaue hineingeraten:
Soweit ich weiß identifizieren sich Homematic Geräte mit ihren jeweiligen HMIDs. Muss man beim Erstellen von virtuellen Fensterkontakten eine HMID angeben? Falls ja, kann es sein, dass du bei jedem Kontakt die gleiche virtuelle HMID vergeben hast? Dann hättest du aus Sicht des Thermostates drei mal den gleichen Sensorkanal gepeert.
--> Somit hättest du zwar in deiner FHEM Oberfläche drei getrennte Fenster-Kanäle, aber die melden sich alle drei mit der gleichen HMID beim Thermostat. Er ist also nach seinem Verständnis nur mit einem Fensterkontakt gepeert und dieses ist dann für ihn eben geschlossen, auch wenn nur einer deiner virtuellen Kanäle die Nachricht gesendet hat, dass es geschlossen wurde.
Gruß,
Mathea
Ist doch alles wunderbar i Wiki erklärt.
erstellen ein virtuelles Device
erstelle dazu einen virtuellen Kanal
peeren den Kanal mit dem RT (als fenster-kontakt oder als remote, wen du willst)
sende ein postEvent
Habe damals offensichtlich mitgedacht, und jedem virtuellen Kontakt eine eigene HMID zugewiesen.
Fenster 1:
Internals:
CFGFN
DEF 6FAD3203
NAME vFensterWzRechts
NOTIFYDEV global
NR 58
NTFY_ORDER 50-vFensterWzRechts
STATE set_postEvent closed
TYPE CUL_HM
chanNo 03
device vHM
peerList HM_367B29_WindowRec,
READINGS:
2017-09-25 10:36:06 peerList HM_367B29_WindowRec,
2017-09-16 03:38:38 state set_postEvent closed
helper:
expert:
def 1
det 1
raw 0
tpl 0
role:
chn 1
vrt 1
tmpl:
Attributes:
group Virtual
model virtual_10
peerIDs 367B2903,
room CUL_HM,HomeMatic,Wohnzimmer
webCmd postEvent open:postEvent tilted:postEvent closed
Fenster 2:
Internals:
CFGFN
DEF 6FAD3201
NAME vFensterWzLinks
NOTIFYDEV global
NR 44
NTFY_ORDER 50-vFensterWzLinks
STATE set_postEvent closed
TYPE CUL_HM
chanNo 01
device vHM
peerList HM_367B29_WindowRec,
READINGS:
2017-09-25 10:36:06 peerList HM_367B29_WindowRec,
2017-09-25 17:46:38 state set_postEvent closed
helper:
count 2
expert:
def 1
det 1
raw 0
tpl 0
role:
chn 1
vrt 1
tmpl:
Attributes:
expert 1
group Virtual
model virtual_1
peerIDs 367B2903,
room CUL_HM,HomeMatic,Wohnzimmer
webCmd postEvent open:postEvent tilted:postEvent closed
Versuche doch einfach die noch nicht im HM_367B29_WindowRec stehenden Fensterkontakte noch mal zu peeren.
Mit
set vFensterWzRechts peerChan 0 HM_367B29_WindowRec single set
set vFensterSz peerChan 0 HM_367B29_WindowRec single set
tut sich da leider gar nichts. Das "list" ist das selbe, wie vorher. Habe ich was übersehen?
Moin
Ich bin mir nicht sicher, aber peerbulk koennte die Eintraege sichtbar machen?
Da aber im List vom Window_rec jeder als Trigger zu sehen ist. Meine Vermutung geht dahin, dass jeder Trigger ausloest. Dann waere also immer der letzte Trigger gueltig. Es wird nicht ueberwacht, ob alle Fenster zu sind!
Aber alles reine Spekulatius!
Gruss Christoph