Homematic Vierfach-Handsender schaltet doppelt bzw. mehrfach

Begonnen von Gisbert, 21 November 2017, 03:17:54

Vorheriges Thema - Nächstes Thema

Otto123

Hallo Martin,
Ehrlich: Ich weiß nicht was Du gemacht hast  :-[
Ich wollte schon gern auf dem aufbauen was Du mal gezeigt, ich mach mir schon Gedanken, dass nichts kaputt geht und nachvollziehbare Ergebnisse kommen könnten. Aber Du machst was völlig anderes. Mag sein das es nicht falsch ist, aber für mich ist das alles nicht nachvollziehbar  :'(
Irgendwelche toggel Schaltungen vollführen, mag zwar optisch für Dich erbaulich sein, aber helfen tun sie gar nicht.

Der einzige verständliche Post war die Nummer #26 darauf bauten meine Empfehlungen auf. Dann könnte man nämlich mit Wiederholung dieser Eventfolge und des Logs sehen ob mein Ansatz der richtige wäre.
Die Idee den Funk generell zu entzerren ist gut und richtig, aber beim nächsten Störer läuft dein Trigger wieder mehrfach.

Abschließend bin ich der Meinung, meine Empfehlung aus #34 ist der richtige Ansatz, bei wiederholtem, gleichem Short Event nur einmal zu triggern.
Das regExp kann man noch verfeinern, da Du mehrere Schalter damit bearbeiten willst.

Gruß Otto
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

dadoc

Hallo Otto,
Zitat von: Otto123 am 28 August 2018, 10:44:10
Ehrlich: Ich weiß nicht was Du gemacht hast  :-[
Sorry, wenn ich für Verwirrung sorge. Ich dachte eigentlich, ich hätte ziemlich genau das gemacht, was Du vorgeschlagen hattest, das war in Post #40:
attr HM_652E9A event-on-change-reading state
define n_testOtto notify HM_652E9A:HM_Switch_Btn_...Short {Log 1, "Hier steht hoffentlich pro Tastendruck nur ein Eintrag"}

Das habe ich umgesetzt als
HM_653129:HM_Switch_Btn_...Short  {Log 1, fhem "set Dimmer_02 toggle"}
d.h. für Dein "Hier steht hoffentlich pro Tastendruck nur ein Eintrag" habe ich zum Testen  fhem "set Dimmer_02 toggle" genommen (weil es mit Deinem notify, ohne den on/off-Wechsel aus meinem notifys, schwierig zu Testen war. Daher verstehe ich nicht ganz, was das Problem mit toggle ist - damit sieht man im Log doch sehr schön die Mehrfachsendungen pro Tastendruck?

ZitatAbschließend bin ich der Meinung, meine Empfehlung aus #34 ist der richtige Ansatz, bei wiederholtem, gleichem Short Event nur einmal zu triggern.
Das regExp kann man noch verfeinern, da Du mehrere Schalter damit bearbeiten willst.
Nur bleibt das in der Praxis ja wirkungslos, es wird weiterhin 1-, 2- oder 3-mal gesendet, außer ich stelle mich maximal 2 Meter vor den hmusb.
So habe ich das auch im Logauszug in #41 geposted.
Viele Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

Otto123

#47
Nein hast Du nicht. Du hast andere Schalter genommen, attribute nicht gesetzt und nicht den Eventmonitor wie in #26 mit vergleichbaren Informationen aus dem Log in Übereinstimmung gebracht.
Es bleibt aus meiner Sicht nicht wirkungslos, weil dieser Event
2018-08-25 12:06:37 CUL_HM HM_652E9A HM_Switch_Btn_11 Short
durch diese Attribute
attr HM_652E9A event-on-change-reading stateNicht dreimal auftaucht sondern nur einmal.

Kann sein, dass dann dort nie wieder ein Event auftaucht, weil sich der state bei wiederholtem echten drücken nicht mehr ändert.
Dann geht zumindest die Kombination
2018-08-25 12:06:36 CUL_HM HM_Switch_Btn_11 trigger: Short_94
attr HM_Switch_Btn_11 event-on-change-reading trigger


Du brauchst bloß mal beide Attribute setzen und den Versuch aus #26 wiederholen. Aber eben mit dem gleichen Schalter  :o

Aber mag auch sein ich  liege daneben  ???

Gruß Otto
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

dadoc

Danke Otto,
Zitat von: Otto123 am 28 August 2018, 11:26:22
Nein hast Du nicht. Du hast andere Schalter genommen,
Wie beschrieben, ist der HM_653129 ein absolut identischer Schalter zum HM_652E9A - beide nagelneu und zusammen gekauft. Ich wollte nur ausschließen, dass der erste Schalter einen Defekt im Funkmodul hatte (hatte ich auch schon einmal). Aber das attr hatte ich verbaselt, das stimmt.
Nicht dreimal auftaucht sondern nur einmal.
Ich werde das heute Abend noch einmal ganz systematisch ausprobieren.
Danke & Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

frank

ich würde bei homematic nie auf state triggern, wenn es andere readings gibt.

wenn zb nach jedem "short" "cmds_done" kommen würde, bringt zb events-on-change gar nichts.

mein hinweis auf das trigger reading war kein "ausrutscher".
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

dadoc

Hallo Frank,
Zitat von: frank am 28 August 2018, 11:51:53
mein hinweis auf das trigger reading war kein "ausrutscher".
Ich stehe da etwas auf der Leitung - meinst Du damit, dass das notify auslösen sollte auf (z.B.) "trigger: "?
Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

frank

2018-08-25 12:06:36 CUL_HM HM_Switch_Btn_11 trigger: Short_94
so sieht dein trigger event für short aus.

dann würde ich folgende regex für ein notify nehmen, um bei jedem short event zu triggern:

HM_Switch_Btn_11.trigger:.Short_.*
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

dadoc

Vielen Dank, werde ich heute Abend ebenfalls testen. Habe halt nur die Sorge, dass das auch so und trotz events-on-change mehrfach nach einem Tastendruck auftaucht...
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

frank

2018-08-18 09:14:44 CUL_HM HM_652E9A HM_Switch_Btn_11 Short
2018-08-18 09:14:44 CUL_HM HM_Switch_Btn_11 Short 1_201 (to vccu)
2018-08-18 09:14:44 CUL_HM HM_Switch_Btn_11 trigger: Short_201
2018-08-18 09:14:45 CUL_HM HM_652E9A HM_Switch_Btn_11 Short
2018-08-18 09:14:45 CUL_HM HM_Switch_Btn_11 Short 2_201 (to vccu)
2018-08-18 09:14:45 CUL_HM HM_Switch_Btn_11 trigger: Short_201
2018-08-18 09:14:45 CUL_HM HM_652E9A HM_Switch_Btn_11 Short
2018-08-18 09:14:45 CUL_HM HM_Switch_Btn_11 Short 3_201 (to vccu)
2018-08-18 09:14:45 CUL_HM HM_Switch_Btn_11 trigger: Short_201

diese events hast du gepostet für ein short ereignis, dass 2x wiederholt wurde. im trigger reading wird dafür 3x Short_11 ausgelöst. mit event-on-change würden die 2 wiederholungen weggefiltert. da jedes "echte" neue short eine andere ereigniszahl liefert, kommen diese neuen shorts auch durch und können toggeln.

eigentlich doch logisch, oder?
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Otto123

Zitat von: frank am 28 August 2018, 11:51:53
ich würde bei homematic nie auf state triggern, wenn es andere readings gibt.

wenn zb nach jedem "short" "cmds_done" kommen würde, bringt zb events-on-change gar nichts.

mein hinweis auf das trigger reading war kein "ausrutscher".
Da hast Du absolut Recht, hab ich nicht dran gedacht. Aber ich hatte ja beide Varianten konkret vorgeschlagen  ;)
Dein Hinweis mit trigger war zu wenig dominant  ;) das "nie auf state" muss ich mir einbrennen.

Gruß Otto
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

dadoc

Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

dadoc

Guten Morgen,
sowohl mit
sleep 1
also auch mit
=~ "trigger: Short_"
in Verbindung mit
event-on-change-reading trigger
hat das Mehrfachsenden ein Ende - nochmals vielen Dank für all die Tipps.
Bei Letzterem ergibt sich jetzt noch das Problem, dass das LongRelease, das ich im notify zum Stoppen der Dimmerrampe nutze, nicht wie "trigger" ein Reading ist, sondern direkt in state bzw. STATE zu landen scheint.
Erste Versuche mit
event-on-change-reading trigger,STATE=~LongRelease

waren bislang noch nicht erfolgreich.
Muss man bei der Regex für event-on-change-reading etwas Besonderes beachten? Habe nichts dazu gefunden.
Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

frank

ich setze grundsätzlich bei allen fhem devices, also auch bei den homematic-channel-devices
attr <device> event-on-change-reading .*
damit kann man erst eimal, ohne gross nachzudenken, die eventflut für alle readings auf das nötigste reduzieren.
stellt man später fest, dass man für spezielle readings mehr events benötigt, kann man für diese readings dann zusätzlich event-on-update und/oder event-min-interval setzen.

vor allem kann es so nicht vorkommen, dass man events für manche readings komplett abschaltet. denn für alle readings, die bei event-on-change nicht genannt werden, gibt es gar keine readings mehr.

setze also mal event-on-change entsprechend und zeige die events vom eventmonitor für ein long ereignis.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

dadoc

Vielen Dank Frank,
damit ich das hier nicht zu weit ins OT treibe (ungewollte Mehrfachsendungen würde ich dank Eurer Hilfe als gelöst betrachten), verlege ich mich mal auf den ursprünglichen Thread, der das Problem mit den Mehrfachsendung erst aufwarf. Da hatte ich in #5 mal die Events für zwei Longpress geposted. Wenn ich heute Abend wieder vor Ort bin, kann ich noch mehr liefern...
Viele Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

Otto123

Hallo Martin,

ich mache es wie Frank mit .*

Mit deinem Experiment event-on-change-reading trigger,STATE=~LongReleasemusst Du sehr vorsichtig sein.. Da geht schnell gar nichts mehr Event Technisch :)
Bitte unbedingt die Doku beachten und keinen Wunschlesemodus aktiv schalten - im Zweifelsfall testen testen testen. ;D

Für meine Begriffe geht es im regExp nur darum den Reading Namen zu filtern und nicht den Event. Aber ich kann falsch liegen.

Zitatevent-on-change-reading
The attribute takes a comma-separated list of readings. You may use regular expressions in that list. If set, only changes of the listed readings create events. In other words, if a reading listed here is updated with the new value identical to the old value, no event is created. If an optional [:threshold] is given after a reading name events are only generated if the change is >= threshold.
The precedence of event-on-update-reading and event-on-change-reading is as follows:
If both attributes are not set, any update of any reading of the device creates an event.
If any of the attributes is set, no events occur for updates or changes of readings not listed in any of the attributes.
If a reading is listed in event-on-update-reading, an update of the reading creates an event no matter whether the reading is also listed in event-on-change-reading.

Gruß Otto
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