HM-MOD-EM-8 eigene Readings bei Anbindung über d_ccu

Begonnen von spel, 01 Dezember 2021, 22:08:05

Vorheriges Thema - Nächstes Thema

spel

Hallo,

ich lese Bewegungsmelder (Schaltkontakte) über ein HM-MOD-EM-8 Modul aus.

Als CCU benutze ich eine per LAN angeschlossene CCU2 welche über die Module

d_ccu und CCU RPC BidCos-RF angesprochen wird.


Nun habe ich mir die einzelnen Kanäle des Moduls per z. B. get d_ccu devicelist create Bewegungsmelder1 t=all defattr save room=_Homematic eingelesen.

Jetzt gibts ja diesen Thread hier: https://forum.fhem.de/index.php/topic,51339.0.html -  damit komme ich aber nicht ganz klar...


Kann mir jmd. dabei helfen, da der State nichts anzeigt. auf der HomeMatic WebUI werden die "Schaltzustände" richtig angezeigt.

Danke!

List:

Internals:
   CFGFN     
   DEF        x:8
   IODev      d_ccu
   NAME       Bewegungsmelder1
   NR         4761
   STATE      ???
   TYPE       HMCCUCHN
   ccuaddr    x:8
   ccudevstate active
   ccuif      BidCos-RF
   ccuname    Bewegungsmelder1
   ccutype    HM-MOD-EM-8
   channels   1
   chntype    SHUTTER_CONTACT
   firmware   1.1
   statevals  devstate
   READINGS:
     2021-12-01 21:08:19   IODev           d_ccu
     2021-12-01 21:50:48   battery         ok
   hmccu:
     devspec    x:8
     dp:
       0.CONFIG_PENDING:
         OVAL       1
         VAL        0
       8.LOWBAT:
         OSVAL      ok
         OVAL       0
         SVAL       ok
         VAL        0
       8.PRESS:
         OVAL       1
         VAL        1
       8.STATE:
         OVAL       1
         VAL        0
Attributes:
   group      Bewegungsmelder
   room       _Homematic






zap

Das sind leider zu wenige Infos. Zunächst: Welche Version von HMCCU nutzt Du, 4.3 oder 5.0 ?

Hast Du alles so konfiguriert wie im Wiki beschrieben, insbesondere den RPC Server?

2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

spel

Hallo,

diverse andere Homematic-Geräte funktionieren, ja das war nach Anleitung aus dem Wiki.

Hier weitere Infos:
Internals:
   CCUNum     1
   Clients    :HMCCUDEV:HMCCUCHN:HMCCURPC:HMCCURPCPROC:
   DEF        x
   NAME       d_ccu
   NOTIFYDEV  global,TYPE=(HMCCU|HMCCUDEV|HMCCUCHN)
   NR         137
   NTFY_ORDER 50-d_ccu
   RPCState   running
   STATE      running/OK
   TYPE       HMCCU
   ccuaddr    BidCoS-RF
   ccuchannels 190
   ccudevices 16
   ccuif      BidCos-RF
   ccuinterfaces BidCos-RF,HmIP-RF,VirtualDevices
   ccuip      x
   ccuname    HM-RCV-50 BidCoS-RF
   ccustate   active
   ccutype    CCU2/3
   host       x
   prot       http
   version    4.3.025
   READINGS:
     2021-12-01 21:08:19   count_channels  190
     2021-12-01 21:08:19   count_devices   16
     2021-12-01 21:08:19   count_groups    0
     2021-12-01 21:08:19   count_interfaces 3
     2021-12-01 21:08:19   count_programs  8
     2021-11-18 22:06:12   rpcstate        running
     2021-11-18 22:06:12   state           OK
   hmccu:
     defInterface BidCos-RF
     defPort    2001
     evtime     0
     evtimeout  0
     rpccount   0
     rpcports   2001,2010


Internals:
   CCUNum     1
   DEF        http://x BidCos-RF
   FD         51
   IODev      d_ccu
   NAME       d_rpc002001BidCos_RF
   NR         186
   RPCPID     x
   RPCState   running
   STATE      running/OK
   TYPE       HMCCURPCPROC
   ccuip      x
   ccustate   active
   ccutype    CCU2/3
   host       x
   prot       http
   rpcid      x
   rpcinterface BidCos-RF
   rpcip      x
   rpcport    2001
   version    1.9.001
   READINGS:
     2021-11-18 22:06:12   rpcstate        running
     2021-11-18 22:06:12   state           OK
   hmccu:
     defaultaddr x
     devspec    BidCos-RF
     evtime     0
     localaddr  x
     rpcstarttime 1637269572
     rpc:
       avgdelay   0.00561516263439847
       cbport     7411
       cburl      http://x:7411/fh2001
       clkey      x
       clurl      http://x:x@x:2001
       evtime     1638472117
       pid        x
       port       2001
       state      running
       sumdelay   2981
       rec:
         DD         0
         EV         530884
         EX         0
         IN         0
         ND         174
         RA         0
         RD         0
         SL         1
         ST         1062
         TO         0
         UD         0
       snd:
         DD         0
         EV         530825
         EX         0
         IN         0
         ND         174
         RA         0
         RD         0
         SL         1
         TO         0
         UD         0
Attributes:
   alias      CCU RPC BidCos-RF
   eventMap   /rpcserver on:on/rpcserver off:off/
   icon       hm_ccu
   room       _Adapter,_Homematic
   stateFormat rpcstate/state
   verbose    2

zap

Um den Status in "state" zu bekommen, sollte genügen:

attr ccureadingfilter .*
attr statedatapoint STATE

Du kannst noch die Werte ersetzen, also z.B.

attr substitute STATE!(0|false):noMotion,(1|true):motion

2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

spel


spel

#5
Hallo,

also irgendwas scheint doch nicht richtig zu laufen. An dem HM-MOD-EM-8 sind mehrere Bewegungsmelder angeschlossen. -> und entsprechende Lichter gehen je bei Bewegung an.

Nun habe ich aber festgestellt, dass ich mit folgendem DOIF: immer alle Lichter einschalte:
define FL_Terrasse_Motion.di DOIF ([Bewegungsmelder_Terrasse:"Motion"] and [Aussenbeleuchtung_Modus.dum] eq "auto" and [FL_Terrasse_Modus.dum] eq "auto" and [Tageslicht.dum] eq "nein") (set FL_Terrasse on) (set FL_Terrasse off)
...mit einem do resetwait und einem wait 0,[Scheinwerfer_Zeit.dum]

Nun habe ich etwas geschaut und festgestellt, dass das Problem vom HM-MOD-EM-8 kommt -> der setzt bei einer einzelnen Bewegung alles auf "Motion" - folglich greifen alle entsprechenden DOIFs mit den dazugehörigen Lichtern.

Ich kann es mir gerade nicht erklären.



Internals:
   DEF        x
   IODev      d_ccu
   NAME       Bewegungsmelder_Garagentuer
   NR         298
   STATE      noMotion
   TYPE       HMCCUCHN
   ccuaddr    x
   ccudevstate active
   ccuif      BidCos-RF
   ccuname    Bewegungsmelder_Garagentuer
   ccutype    HM-MOD-EM-8
   channels   1
   chntype    SHUTTER_CONTACT
   firmware   1.1
   statevals  devstate
   READINGS:
     2021-12-05 20:20:21   0.AES_KEY       on
     2021-12-05 20:20:21   0.CONFIG_PENDING false
     2021-12-05 20:20:21   0.DEVICE_IN_BOOTLOADER false
     2021-12-05 20:20:21   0.RSSI_DEVICE   1
     2021-12-05 20:20:21   0.RSSI_PEER     205
     2021-12-05 20:20:21   0.STICKY_UNREACH false
     2021-12-05 20:20:21   0.UPDATE_PENDING false
     2021-12-05 21:07:48   IODev           d_ccu
     2021-12-05 21:08:03   activity        alive
     2021-12-05 21:08:03   battery         ok
     2021-12-05 21:08:03   control         noMotion
     2021-12-05 21:20:36   hmstate         noMotion
     2021-12-05 21:08:03   state           noMotion
   hmccu:
     devspec    x
     dp:
       0.AES_KEY:
         OVAL       1
         VAL        1
       0.CONFIG_PENDING:
         OVAL       false
         VAL        false
       0.DEVICE_IN_BOOTLOADER:
         OVAL       false
         VAL        false
       0.LOWBAT:
         OSVAL      ok
         OVAL       false
         SVAL       ok
         VAL        false
       0.RSSI_DEVICE:
         OVAL       1
         VAL        1
       0.RSSI_PEER:
         OVAL       205
         VAL        205
       0.STICKY_UNREACH:
         OVAL       false
         VAL        false
       0.UNREACH:
         OSVAL      alive
         OVAL       false
         SVAL       alive
         VAL        false
       0.UPDATE_PENDING:
         OVAL       false
         VAL        false
       7.LOWBAT:
         OSVAL      ok
         OVAL       false
         SVAL       ok
         VAL        false
       7.STATE:
         OSVAL      noMotion
         OVAL       false
         SVAL       noMotion
         VAL        false
Attributes:
   ccureadingfilter 7.STATE
   group      Bewegungsmelder
   room       Garten,Perimeter,_Homematic
   statedatapoint 7.STATE
   substitute STATE!(0|false):noMotion,(1|true):motion



Der hmstate scheint das Problem zu sein, da er global nun "Motion anzeigt" und damit quasi mit den weiteren DOIFs auch die anderen Lichter steuert.
2021-12-05 21:20:36   hmstate         noMotion

Das stellen der Attribute auf 7.STATE (dass ist der entsprechende Kanal des HM-MOD-EM-8 Moduls, den es auszuwerten gilt) brachte nix - hier mache ich aber irgendwas falsch, da hmstate auch weiterhin in den Readings vorkommt.

spel

Hallo,

hat hier jmd. vielleicht doch noch einen Tipp, wie ich nur zB 7. Starte Auslese?

Danke

zap

Also Du hast für jeden Kanal vom HM-MOD-EM-8 ein HMCCUCHN angelegt, oder?
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

spel


zap

Und in diesen HMCCUCHNs werden die Stati korrekt signalisiert? Wenn ja, liegt das Proble wohl an Doif
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

spel

Hallo,

ich habe immer noch oben stehendes Problem.

das ist mein DOIF:
([Bewegungsmelder_Terrasse:"Motion"] and [Aussenbeleuchtung_Modus.dum] eq "auto" and [FL_Terrasse_Modus.dum] eq "auto" and [Tageslicht.dum] eq "nein") (set FL_Terrasse on) (set FL_Terrasse off)

Das Problem ist einfach, dass auch immer der hmstate des 8fach Moduls berücksichtigt wird (der scheint egal bei welchem Eingang ein dann entsprechendes "Motion" auszugeben).
   READINGS:
     2021-12-18 15:24:05   0.AES_KEY       on
     2021-12-18 15:24:05   0.CONFIG_PENDING false
     2021-12-18 15:24:05   0.DEVICE_IN_BOOTLOADER false
     2021-12-18 15:24:05   0.RSSI_DEVICE   1
     2021-12-18 15:24:05   0.RSSI_PEER     205
     2021-12-18 15:24:05   0.STICKY_UNREACH false
     2021-12-18 15:24:05   0.UPDATE_PENDING false
     2022-01-05 20:16:32   8.STATE         noMotion
     2022-01-05 20:16:18   IODev           d_ccu
     2022-01-05 20:16:32   activity        alive
     2022-01-05 20:16:32   battery         ok
     2022-01-05 20:16:32   control         noMotion
     2022-01-06 10:19:09   hmstate         noMotion
     2022-01-05 20:16:32   state           noMotion



Ich denke ich habe pro Kanal hier etwas falsch eingestellt. Bei dem Bewegungsmelder_Terrasse soll z. B. nur Channel 8 des Moduls berücksichtigt werden:
   ccureadingfilter 8.STATE
   group      Bewegungsmelder
   room       Garten,Perimeter,_Homematic
   statedatapoint 8.STATE
   substitute STATE!(0|false):noMotion,(1|true):motion


Momentan wirkt es sich aus, dass egal an welchem Channel ausgelöst wird immer auch "hmstate" ein Motion erhält. Das wiederum wird als "motion" in jedem DOIF interpretiert.
Also nicht nur der betroffende Channel wird auf Motion gesetzt, sondern allgemein "hmstate" dies kriege ich in der Interpretation der einzelnen Channel (Motion/noMotion) nicht heraus.

Da schnalle ich Programmierung nicht.

Otto123

#11
Lös das doch im DOIF - dein Konstrukt [Bewegungsmelder_Terrasse:"Motion"]  triggert nach meinem Verständnis von DOIF auf einen Event im Gerät  Bewegungsmelder_Terrasse der das Wort Motion enthält (siehe Dokumentation DOIF), der triggert also auch bei noMotion  :-X
Aber eben auch bei 8.STATE: Motion , bei hmstate: noMotion und bei state: MotionAgentur usw. - Also mMn ist das völlig ungeeignet!

setzt den Trigger auf "8.STATE: Motion^" oder "8.STATE:.Motion^" (ich bin wegen dem Leerzeichen und der Umsetzung im DOIF nicht sicher)

Oder Besser: schau im Eventmonitor und erzeuge Dir ein Beispiel mit dem Event Deiner Wahl!
wie es geht?  https://wiki.fhem.de/wiki/Event_monitor
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

spel

Lieber Otto,

wieder einmal vielen Dank!

Ich hatte es ganz anders interpretiert.

Grüße

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

spel

"8.STATE: motion" - exakt so, mit Leerzeichen. Stand irgendwo, dass Leerzeichen im DOIF egal wären.

Danke!