Thermostat - Alle Fenster zu, sobald nur eines geschlossen wird

Begonnen von drhirn, 25 September 2017, 15:06:09

Vorheriges Thema - Nächstes Thema

drhirn

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

CoolTux

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.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

drhirn

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.

CoolTux

Wie bist du beim peeren vorgegangen, wie hast Du die virtuellen Fensterkontakte erstellt?

Hast Du es nach dem Wiki gemacht?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

drhirn

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

pc1246

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
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

drhirn

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

Mathea

#8
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

CoolTux

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
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

drhirn

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

CoolTux

Versuche doch einfach die noch nicht im HM_367B29_WindowRec stehenden Fensterkontakte noch mal zu peeren.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

drhirn

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?

pc1246

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
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly