[gelöst]Klingelschalter zum laufen bringen

Begonnen von Kellerkind86, 28 Oktober 2021, 21:32:16

Vorheriges Thema - Nächstes Thema

Kellerkind86

Hi,
ich versuche schon seit Tagen von Homematic das Gerät HmIP-DSD-PCB zum laufen zubringen.
Habe erst alles versucht über den Type HMCCU myccu mit einer Systemvariable als Reading das abzugreifen. Leider funktioniert das nicht richtig. Weiß auch nicht wieso. Die Heizgeräte funktionieren als Beispiel ohne Probleme.
nur der Klingelschalter will nicht laufen.
Jetzt habe ich bermerkt,dass das Homematic Device in Fhem ein Reading liefert was genau das richtige liefert worauf ich reagieren möchte.
Leider sehe ich ,das dass reading sich zum Klingelzeitpunkt ändert aber irgendwie kein event liefert.
Das event liefert zwar immer nur (1) aber hab gedacht, wenn ich auf das genau  trigger und eventonchange anwende, sollte ich was erhalten.

hier das doif:
([Klingelschalter:PRESS_SHORT] ==1)
(set WEB_TelegramBot message @Marcell_Comuth Es hat geklingelt!!! ,set SSCam.Haustuer snap)

aber das funktioniert nicht...bestimmt weil das reading sich nicht ändert ,aber wie kann ich von diesem reading profitieren ?
weil das ist genau das richtige was die gleichen werte liefert wie meine ccu und zuverlässig.

danke.
DOIF
Internals:
   DEF        ([Klingelschalter:PRESS_SHORT] ==1)
(set WEB_TelegramBot message @Marcell_Comuth Es hat geklingelt!!! ,set SSCam.Haustuer snap)
   FUUID      61614a8d-f33f-153e-6279-e8ff5897bba1a9e5
   MODEL      FHEM
   NAME       es_klingelt
   NOTIFYDEV  global,Klingelschalter
   NR         104
   NTFY_ORDER 50-es_klingelt
   STATE      initialized
   TYPE       DOIF
   VERSION    24905 2021-09-01 18:35:54
   READINGS:
     2021-10-25 13:46:52   cmd             0
     2021-10-25 13:46:52   mode            enabled
     2021-10-25 13:46:52   state           initialized
   Regex:
     accu:
     collect:
     cond:
       Klingelschalter:
         0:
           PRESS_SHORT ^Klingelschalter$:^PRESS_SHORT:
   condition:
     0          ::ReadingValDoIf($hash,'Klingelschalter','PRESS_SHORT') ==1
   do:
     0:
       0          set WEB_TelegramBot message @Marcell_Comuth Es hat geklingelt!!! ,set SSCam.Haustuer snap
     1:
   helper:
     DEVFILTER  ^global$|^Klingelschalter$
     NOTIFYDEV  global|Klingelschalter
     globalinit 1
     last_timer 0
     sleeptimer -1
   perlblock:
   readings:
     all         Klingelschalter:PRESS_SHORT
   uiState:
   uiTable:
Attributes:
   do         always

HMCCUCHN
Internals:
   DEF        0026DBE998FB85:1
   FUUID      616c8cdf-f33f-153e-0268-406c83c472ff04f5
   IODev      myCCU
   NAME       Klingelschalter
   NR         123
   STATE      false
   TYPE       HMCCUCHN
   ccuaddr    0026DBE998FB85:1
   ccudevstate active
   ccuif      HmIP-RF
   ccuname    HmIP-DSD-PCB 0026DBE998FB85:1
   ccurolestate MULTI_MODE_INPUT_TRANSMITTER
   ccusubtype DSD_PCB
   ccutype    HmIP-DSD-PCB
   firmware   1.0.6
   readonly   no
   READINGS:
     2021-10-26 18:36:10   IODev           myCCU
     2021-10-28 14:46:11   PRESS_SHORT     1
     2021-10-24 23:41:06   R-CHANNEL_OPERATION_MODE KEY_BEHAVIOR
     2021-10-24 23:41:06   R-DBL_PRESS_TIME 0.0
     2021-10-24 23:41:06   R-LED_DISABLE_CHANNELSTATE true
     2021-10-24 23:41:06   R-LONG_PRESS_TIME 0.0
     2021-10-24 23:41:06   R-MSG_FOR_POS_A OPEN
     2021-10-24 23:41:06   R-MSG_FOR_POS_B CLOSED
     2021-10-24 23:41:06   R-REPEATED_LONG_PRESS_TIMEOUT_UNIT M
     2021-10-24 23:41:06   R-REPEATED_LONG_PRESS_TIMEOUT_VALUE 2
     2021-10-28 09:12:47   STATE           false
     2021-10-28 14:46:11   activity        alive
     2021-10-28 14:46:11   battery         ok
     2021-10-28 14:46:11   devstate        ok
     2021-10-24 23:41:06   es_klingelt     false
     2021-10-28 14:46:11   hmstate         false
     2021-10-26 18:36:46   klingeldruck    false
     2021-10-28 14:46:11   rssidevice      -74
     2021-10-28 14:46:11   rssipeer        N/A
     2021-10-28 09:12:47   state           false
   hmccu:
     channels   1
     detect     1
     devspec    0026DBE998FB85:1
     nodefaults 1
     role       1:MULTI_MODE_INPUT_TRANSMITTER
     semDefaults 0
     cmdlist:
       get       
       set       
     control:
       dpt        1.
     dp:
       0.CONFIG_PENDING:
         VALUES:
           NVAL       0
           ONVAL      0
           OSVAL      false
           OVAL       0
           SVAL       false
           VAL        0
       0.DUTY_CYCLE:
         VALUES:
           NVAL       0
           ONVAL      0
           OSVAL      false
           OVAL       0
           SVAL       false
           VAL        0
       0.INSTALL_TEST:
         VALUES:
           NVAL       true
           ONVAL      true
           OSVAL      true
           OVAL       true
           SVAL       true
           VAL        true
       0.LOW_BAT:
         VALUES:
           NVAL       0
           ONVAL      0
           OSVAL      ok
           OVAL       0
           SVAL       ok
           VAL        0
       0.OPERATING_VOLTAGE:
         VALUES:
           NVAL       2.9
           ONVAL      2.9
           OSVAL      2.9
           OVAL       2.9
           SVAL       2.9
           VAL        2.9
       0.OPERATING_VOLTAGE_STATUS:
         VALUES:
           NVAL       0
           ONVAL      0
           OSVAL      NORMAL
           OVAL       0
           SVAL       NORMAL
           VAL        0
       0.RSSI_DEVICE:
         VALUES:
           NVAL       -74
           ONVAL      -75
           OSVAL      -75
           OVAL       -75
           SVAL       -74
           VAL        -74
       0.RSSI_PEER:
         VALUES:
           NVAL       N/A
           ONVAL      N/A
           OSVAL      N/A
           OVAL       0
           SVAL       N/A
           VAL        0
       0.UNREACH:
         VALUES:
           NVAL       0
           ONVAL      0
           OSVAL      alive
           OVAL       0
           SVAL       alive
           VAL        0
       0.UPDATE_PENDING:
         VALUES:
           NVAL       false
           ONVAL      false
           OSVAL      false
           OVAL       false
           SVAL       false
           VAL        false
       1.PRESS_SHORT:
         VALUES:
           NVAL       1
           ONVAL      1
           OSVAL      1
           OVAL       1
           SVAL       1
           VAL        1
       1.STATE:
         VALUES:
           NVAL       0
           ONVAL      0
           OSVAL      false
           OVAL       0
           SVAL       false
           VAL        0
       1.klingeldruck:
         VALUES:
           NVAL       false
           ONVAL      false
           OSVAL      false
           OVAL       false
           SVAL       false
           VAL        false
     roleCmds:
       get:
       set:
     state:
       chn        1
       dpt        STATE
Attributes:
   ccuflags   logCommand,trace,showMasterReadings,showLinkReadings
   ccuget     Value
   event-on-change-reading . *
   room       Homematic


Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

MadMax-FHEM

Durch dein FALSCHES! event-on-change-reading unterdrückst du im Prinzip alle Events!

Wenn du event-on-change-reading willst, dann schon .* OHNE Leerzeichen zwischen "Punkt und Stern".

Ob es das schon war: keine Ahnung.

DOIF/notify etc. kann man ganz einfach mit dem Eventmonitor erzeugen lassen...
...sofern ein Event kommt... ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Kellerkind86

upps. danke.
aber komischerweise hat sich die zeit hinterm reading immer auf die gleiche zeit wie von der ccu geändert.
ich habe mal geklingelt und im EM gelauscht..leider kommt aber nichts..
die zeit hat sich aber weiter aktualisiert.
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

MadMax-FHEM

Dann würde ich den Thread mal ins Homematic-Unterforum verschieben und auch im Betreff HMCCU erwähnen...

Hättest du auch gleich tun können/sollen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Kellerkind86

naja,das hab ich schon versucht/gemacht. die wissen aber auch nicht warum das ist.
ich dachte jetzt wo ich weiß, dass sich mein reading updatet.immer genau dann wenn es klingelt. müsste man doch was machen können...
aber ohne reading läuft da nichts.oder ?
auch nicht wenn ich selber ein userreading entwerfe was sich immer wieder auf beispielsweise 2 stellt ? und die klingel stellt sich dann auf 1 wieder ?
oder denk ich da falsch ?
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

MadMax-FHEM

Wenn kein Event kommt, dann kannst du auch nicht reagieren.

Auch ein userReadings muss ja getriggert werden...

Hast du alle event-on-change mal entfernt?

Weil: zuerst alle Logiken und dann einschränken...

Wenn kein Event kommt, dann können nur Leute helfen, die HMCCU kennen -> Homematic-Unterfohrum...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Kellerkind86

okay ich verschiebe mich mal und hoffe ich bekomme bei den Kollegen Hilfe
Danke
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

Kellerkind86

Okay,
hier nochmal ein screenshot von der ccu. habe das Programm mal manuell ausgelöst.
siehe letzte Änderung: 28.10.2021 22:53:09
im Type:    HMCCUCHN Klingelschalter wird kein event ausgelöst.

2021-10-24 23:41:06


nur das reading: PRESS_SHORT ( die eigentliche Betätigung der Klingel) das funktioniert perfekt.)
liefert aber leider event.. die reading zeit ändert sich zwar auf die gleiche zeit wie in der ccu aber leider kein event worauf ich triggern könnte.
woran kann das liegen ?
oder was ich machen kann ?

danke
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

jhohmann

Mit event-on-change-reading .* muss sich der Wert auch inhaltlich ändern. Nur dann kommt ein neues Event.
Du kannst aber noch zusätzlich ein event-on-update-reading setzen und hier genau den einen Reading-Namen aufführen, den du immer als Event haben willst, auch wenn der Wert nicht geändert worden ist.
Probiere das mal aus.
Hier mal mein Beispiel.
attr bot event-on-update-reading deleteOffset
Raspberry Pi 4 - bookworm / EnOcean - Rollo+Licht, deCONZ - Licht+Sensoren, ZWave - CO Messung, HMCCU mit piVCCU - Heizung+Rollo
plus dovecot, minidlna

MadMax-FHEM

Wenn er aber event-on-change-reading gelöscht hat und kein Event kommt, dann bringt event-on-update-reading auch nichts...

MMn muss das Problem woanders liegen...

Und dein Beispiel passt hier ja auch nicht?
Es gibt kein "bot" und es gibt das Reading "deleteOffset" nicht...
...oder hab ich da was übersehen?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Sany

@Kellerkind:
event-on-change-reading/event-on-update-reading dienen nur dazu, Events eines Devices einzuschränken, man kann damit keine erzeugen!
Wenn Du also herausfinden willst, welche Events Dein Device erzeugt, dann löschst Du diese Attribute, schmeisst den Eventmonitor an, schaust eine Weile zu (da könnten dann z.B. batterie-meldungen kommen) und drückst mal auf die Klingel. Dann weißt Du welche Events überhaupt kommen. Wenn das Device ein sehr gesprächiges ist kannst Du dann Events mit den Attributen einschränken. Ich würde dann aber nicht mit .* arbeiten sondern wirklich die entsprechenden Readings eintragen. Dann erkennst Du später auch noch, welche events zum triggern in fhem verwendet werden.
Ich habe den Homatic Klingesignal Erkenner HM-SEN-DB-PCB (also ohne IP) und der Klingelevent läßt sich mit [KlingelHaustuer:"^trigger:.Short_"] im DOIF verarbeiten.
das trigger-Reading wird hochgezählt, weshalb es bei jedem Klingeln den Inhalt ändert. Folgende Einschränkungen sind eingetragen:
event-min-interval battery:3600
event-on-change-reading battery,trigger

Das bedeutet: Events werden durchgelassen, wenn sich battery oder trigger ändert. Zusätzlich wird jede Stunde ein Event von battery durchgelassen, auch wenn der Wert sich nicht geändert hat. Das nutze ich dann mit ReadingsWatcher um zu erkennen, daß das Device "lebt". Der battery-Event wird öfter als stündlich erzeugt, weshalb er durch die Einschränkung stündlich durchgelassen wird.

Mach das mal wie oben gesagt und zeige den Output vom Event Monitor.

Gruß

Sany
fhem auf Zotac ZBox nano als LXC auf Proxmox, weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....

MadMax-FHEM

Zitat von: Sany am 29 Oktober 2021, 10:16:15
@Kellerkind:
event-on-change-reading/event-on-update-reading dienen nur dazu, Events eines Devices einzuschränken, man kann damit keine erzeugen!
Wenn Du also herausfinden willst, welche Events Dein Device erzeugt, dann löschst Du diese Attribute, schmeisst den Eventmonitor an, schaust eine Weile zu (da könnten dann z.B. batterie-meldungen kommen) und drückst mal auf die Klingel. Dann weißt Du welche Events überhaupt kommen. Wenn das Device ein sehr gesprächiges ist kannst Du dann Events mit den Attributen einschränken.

Vielleicht hilft es, wenn man das noch mal verdeutlicht.
Aber hatte ich ja auch schon geraten und (angeblich) gibt es keine Events im EM (nehme an EventMonitor)...
Muss ich halt mal so glauben...


Zitat von: Sany am 29 Oktober 2021, 10:16:15
Ich würde dann aber nicht mit .* arbeiten sondern wirklich die entsprechenden Readings eintragen. Dann erkennst Du später auch noch, welche events zum triggern in fhem verwendet werden.

Warum nicht event-on-change-reading .* -> erst mal alle nur bei Änderung (hier alle Readings gezielt angeben macht u.U. eine lange [unübersichtliche] Liste ;) ). Reicht meist ja auch für Automatismen (es soll ja nur was passieren, wenn auch was anderes passiert ist ;)  ). Und mittels event-on-update-reading dann die (hoffentlich wenigen) Readings "reinnehmen", die man (für andere Zwecke) öfter braucht, auch wenn sich nichts ändert (Batteriestandsanzeige, Logging, ..)
Zumindest mache ich das so und fahre gut damit.


Zitat von: Sany am 29 Oktober 2021, 10:16:15
Ich habe den Homatic Klingesignal Erkenner HM-SEN-DB-PCB (also ohne IP) und der Klingelevent läßt sich mit [KlingelHaustuer:"^trigger:.Short_"] im DOIF verarbeiten.
das trigger-Reading wird hochgezählt, weshalb es bei jedem Klingeln den Inhalt ändert.

Ja habe/hatte ich auch.

ABER: das ist Einbindung per CUL_HM und hier (Kellerkind) geht es eben um HMCCU. Da ist das Verhalten (wohl) anders und auch die Readings etc.


Zitat von: Sany am 29 Oktober 2021, 10:16:15
Mach das mal wie oben gesagt und zeige den Output vom Event Monitor.

Ja schadet nicht, das noch mal zu sagen/machen zu lassen...
(wenn ich Kellerkind aber glaube, dann liegt das Problem woanders)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Zur Sicherheit dann doch noch mal...

Zitat von: Kellerkind86 am 28 Oktober 2021, 21:49:23
upps. danke.
aber komischerweise hat sich die zeit hinterm reading immer auf die gleiche zeit wie von der ccu geändert.
ich habe mal geklingelt und im EM gelauscht..leider kommt aber nichts..
die zeit hat sich aber weiter aktualisiert.

Ja das passiert so!
Weil sich ja das Reading ändert (aber u.U. nicht der Wert) bzw. ja eine Aktualisierung erfolgt (ist) -> Aktualisierung wird angezeigt...

ABER: wenn EVENTS (!= Readingänderung / also kann muss aber nicht) "unterdrückt" werden (event-on-change oder durch das Modul selbst [ja auch sowas gibt es: Module schicken nur Events, wenn sich auch der Wert geändert hat]), dann wird zwar das Reading aktualisiert aber eben KEIN Event erzeugt auf den man mit anderen Modulen (notify/DOIF/FileLog/...) reagieren kann!

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Christoph Morrison

Zitat von: Kellerkind86 am 28 Oktober 2021, 22:04:06
naja,das hab ich schon versucht/gemacht. die wissen aber auch nicht warum das ist.
ich dachte jetzt wo ich weiß, dass sich mein reading updatet.immer genau dann wenn es klingelt. müsste man doch was machen können...
aber ohne reading läuft da nichts.oder ?
auch nicht wenn ich selber ein userreading entwerfe was sich immer wieder auf beispielsweise 2 stellt ? und die klingel stellt sich dann auf 1 wieder ?
oder denk ich da falsch ?

Du hättest nur damals mal mitlesen müssen, dann wäre deine Frage schon damals beantwortet gewesen.

Kellerkind86

#14
so..hatte die tage wenig zeit. problem besteht aber leider weiter.
hatte mal im EM beide devices angeschaut:
klingelschalter liefert kein einziges reading.
dagegen HMCCU myCCU

(gekuerzt)
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)