Entprellzeit bei history Adapter

Fragen zu Konfiguration und Bedienung von Adaptern
Antworten
church
starter
Beiträge: 69
Registriert: 11.08.2017, 09:14

Entprellzeit bei history Adapter

Beitrag von church » 16.05.2018, 09:30

Hallo,

Laut den Beiträgen hier im Forum verstehe ich die Entprellzeit so, dass ein Counter über die eingestellte Zeit läuft in der kein neuer Wert kommen darf! Sonst wird nicht aufgezeichnet (Wert instabil) und der Counter fängt von vorne an (bis stabil).

Bei mir werden allerdings trotz einer Entprellzeit von 1000ms Werte doppelt aufgezeichnet. Angeschlossen ist ein Klingeltaster an GPIO und geloggt wird das entsprechende Objekt des rpi2 Adapters!
Bildschirmfoto 2018-05-16 um 10.17.33.jpg
Bildschirmfoto 2018-05-16 um 10.18.04.jpg
Abweichung hatte ich hier mal auf 1 gesetzt, hat aber auch nicht geholfen! Klappt das überhaupt bei Logikwerten?

Danke für die Hilfe!

Benutzeravatar
wendy2702
guru
Beiträge: 3103
Registriert: 18.01.2016, 22:12
Wohnort: Herzogenrath

Re: Entprellzeit bei history Adapter

Beitrag von wendy2702 » 16.05.2018, 12:53

Hm,

mal einen höheren Wert probiert?

1000ms = 1 Sekunde... je nach Qualität des Klingeltasters...
Bitte keine Fragen per PN, die gehören ins Forum!

stoffel67
professional
Beiträge: 136
Registriert: 21.11.2017, 16:55

Re: Entprellzeit bei history Adapter

Beitrag von stoffel67 » 16.05.2018, 13:30

Nur so ne' Idee...
wie wird der Klingeltaster versorgt? Wechselspannung?
hatte ich auch mal vor Jahren, hab' mir mit Diode und Elko zum "glätten" geholfen, funktioniert jetzt stabil...

Benutzeravatar
apollon77
guru
Beiträge: 5729
Registriert: 10.04.2015, 12:27

Re: Entprellzeit bei history Adapter

Beitrag von apollon77 » 16.05.2018, 15:51

Ich habe da eine Vermutung. Wenn der Adapter einen Wert nicht loggt weil noch nicht stabil, wird dennoch der letzte Wert gemerkt und bei der nächsten "echten" Änderung mit geschrieben.

Um es das ist müsste man jetzt mit Debug Log schauen. Also wenn es Dich interessiert dann Instanz mal auf Debug schalten und dann eine Änderung machen 8also Klingeln) ... dann das Log von kurz davor und kurz danach mal schicken.
How-to:
* Debug-Log für einen Adapter/Instanz einschalten? -> Instanzen -> Expertenomodus -> Spalte Loglevel

church
starter
Beiträge: 69
Registriert: 11.08.2017, 09:14

Re: Entprellzeit bei history Adapter

Beitrag von church » 16.05.2018, 19:09

wendy2702 hat geschrieben:
16.05.2018, 12:53
Hm,

mal einen höheren Wert probiert?

1000ms = 1 Sekunde... je nach Qualität des Klingeltasters...
s. meinen Beitrag
stoffel67 hat geschrieben:
16.05.2018, 13:30
Nur so ne' Idee...
wie wird der Klingeltaster versorgt? Wechselspannung?
hatte ich auch mal vor Jahren, hab' mir mit Diode und Elko zum "glätten" geholfen, funktioniert jetzt stabil...
Klingeltaster schaltet potentialfrei
apollon77 hat geschrieben:
16.05.2018, 15:51
Ich habe da eine Vermutung. Wenn der Adapter einen Wert nicht loggt weil noch nicht stabil, wird dennoch der letzte Wert gemerkt und bei der nächsten "echten" Änderung mit geschrieben.

Um es das ist müsste man jetzt mit Debug Log schauen. Also wenn es Dich interessiert dann Instanz mal auf Debug schalten und dann eine Änderung machen 8also Klingeln) ... dann das Log von kurz davor und kurz danach mal schicken.
Ich habe mal einen log angehangen, geschrieben wurde true (also Taster los) wieder doppelt mit gleichem timestamp

Code: Alles auswählen

history.0	2018-05-16 20:00:08.112	debug	value not changed rpi2.0.gpio.16.state, last-value=true, new-value=true, ts=1526493608096
history.0	2018-05-16 20:00:08.111	debug	value not changed rpi2.0.gpio.16.state, last-value=true, new-value=true, ts=1526493608094
history.0	2018-05-16 20:00:08.111	debug	value not changed rpi2.0.gpio.16.state, last-value=true, new-value=true, ts=1526493608092
history.0	2018-05-16 20:00:08.109	debug	value not changed rpi2.0.gpio.16.state, last-value=true, new-value=true, ts=1526493608090
history.0	2018-05-16 20:00:08.088	debug	value not changed rpi2.0.gpio.16.state, last-value=true, new-value=true, ts=1526493608083
history.0	2018-05-16 20:00:08.079	debug	Min-Delta ignored because no number rpi2.0.gpio.16.state, last-value=false, new-value=true, ts=1526493608074
history.0	2018-05-16 20:00:08.001	debug	Min-Delta reached javascript.0.Klingel timeout, last-value=0, new-value=1, ts=1526493607995
history.0	2018-05-16 20:00:07.944	debug	value not changed javascript.1.Klingel aktiv, last-value=true, new-value=true, ts=1526493607928
history.0	2018-05-16 20:00:07.942	debug	value not changed javascript.1.Klingel aktiv, last-value=true, new-value=true, ts=1526493607926
history.0	2018-05-16 20:00:07.926	debug	Min-Delta ignored because no number javascript.1.Klingel aktiv, last-value=false, new-value=true, ts=1526493607921
history.0	2018-05-16 20:00:07.878	debug	value not changed rpi2.0.gpio.16.state, last-value=false, new-value=false, ts=1526493607851
history.0	2018-05-16 20:00:07.878	debug	value not changed rpi2.0.gpio.16.state, last-value=false, new-value=false, ts=1526493607849
history.0	2018-05-16 20:00:07.877	debug	value not changed rpi2.0.gpio.16.state, last-value=false, new-value=false, ts=1526493607846
history.0	2018-05-16 20:00:07.877	debug	value not changed rpi2.0.gpio.16.state, last-value=false, new-value=false, ts=1526493607844
history.0	2018-05-16 20:00:07.877	debug	value not changed rpi2.0.gpio.16.state, last-value=false, new-value=false, ts=1526493607842
history.0	2018-05-16 20:00:07.876	debug	value not changed rpi2.0.gpio.16.state, last-value=false, new-value=false, ts=1526493607839
history.0	2018-05-16 20:00:07.875	debug	value not changed rpi2.0.gpio.16.state, last-value=false, new-value=false, ts=1526493607837
history.0	2018-05-16 20:00:07.832	debug	value not changed rpi2.0.gpio.16.state, last-value=false, new-value=false, ts=1526493607827
history.0	2018-05-16 20:00:07.817	debug	Min-Delta ignored because no number rpi2.0.gpio.16.state, last-value=true, new-value=false, ts=1526493607812
Bildschirmfoto 2018-05-16 um 20.04.06.jpg
Sollte "true" bei ts=1526493607921 dann nicht ignoriert werden?

Benutzeravatar
wendy2702
guru
Beiträge: 3103
Registriert: 18.01.2016, 22:12
Wohnort: Herzogenrath

Re: Entprellzeit bei history Adapter

Beitrag von wendy2702 » 16.05.2018, 21:19

church hat geschrieben:
wendy2702 hat geschrieben:
16.05.2018, 12:53
Hm,

mal einen höheren Wert probiert?

1000ms = 1 Sekunde... je nach Qualität des Klingeltasters...
s. meinen Beitrag
Verstehe ich nicht



Gesendet von iPhone mit Tapatalk Pro
Bitte keine Fragen per PN, die gehören ins Forum!

church
starter
Beiträge: 69
Registriert: 11.08.2017, 09:14

Re: Entprellzeit bei history Adapter

Beitrag von church » 17.05.2018, 08:07

Genau diesen Wert (1000ms) habe ich doch beschrieben!

Benutzeravatar
wendy2702
guru
Beiträge: 3103
Registriert: 18.01.2016, 22:12
Wohnort: Herzogenrath

Re: Entprellzeit bei history Adapter

Beitrag von wendy2702 » 17.05.2018, 10:08

Ja, und ich meine du sollst den mal erhöhen auf z.b. 3000

Oder hast du das schon getestet und wir reden aneinander vorbei 🤭


Gesendet von iPhone mit Tapatalk Pro
Bitte keine Fragen per PN, die gehören ins Forum!

church
starter
Beiträge: 69
Registriert: 11.08.2017, 09:14

Re: Entprellzeit bei history Adapter

Beitrag von church » 17.05.2018, 10:36

O.K., dann habe ich das missverstanden :| Ich dachte, Dein Vorschlag wäre auf 1000ms zu erhöhen.

Aber im Ernst: 3s prellen doch keine Taster, sieht man ja auch an den Werten in meinem log, die liegen max. im 100ms Bereich!

Wäre aber trotzdem schön wenn es eine Lösung dafür gäbe!

Benutzeravatar
wendy2702
guru
Beiträge: 3103
Registriert: 18.01.2016, 22:12
Wohnort: Herzogenrath

Re: Entprellzeit bei history Adapter

Beitrag von wendy2702 » 17.05.2018, 11:50

Hast schon recht, der sollte keine 3 Sekunden prellen.

Sollte auch nur ein Versuch sein um zu sehen ob es etwas ändert.
Bitte keine Fragen per PN, die gehören ins Forum!

Benutzeravatar
apollon77
guru
Beiträge: 5729
Registriert: 10.04.2015, 12:27

Re: Entprellzeit bei history Adapter

Beitrag von apollon77 » 17.05.2018, 15:37

Hm ... im Log oben bei History sieht man leider nicht wann genau ein Wert geloggt wird :-(
Also ich vermute das es ist wie oben geschrieben:

In deinem Fall "kombinieren sich" die Dinge von "Nur Änderungen Loggen" und Debounce.

Debounce sorgt dafür das der Wert grundsätzlich "verzögert" geschrieben wird erst wenn seit mehr als 1s kein neuer Wert mehr rein kam.
"Nur Änderungen "loggen schiesst da aber jetzt im Zweifel quer bzw sorgt dafür das auch wenn sich werte nicht ändern immer der letzte gemerkt wird und sobald sich der Wert dann ändert der letzte auch geschrieben wird damit die Grafische Darstellung am Ende noch korrekt ist. Die soll nämlich trotzdem anzeigen wie lange der Wert unverändert geblieben ist.

Jetzt muss man mal überlegen ob das so sinn macht ... Kann ich mich ab Anfang Juni gern mal reindenken :-) Vorher bitte so akzeptieren
How-to:
* Debug-Log für einen Adapter/Instanz einschalten? -> Instanzen -> Expertenomodus -> Spalte Loglevel

church
starter
Beiträge: 69
Registriert: 11.08.2017, 09:14

Re: Entprellzeit bei history Adapter

Beitrag von church » 18.05.2018, 09:13

Hm ... im Log oben bei History sieht man leider nicht wann genau ein Wert geloggt wird :-(
Steht das nicht hier?

Code: Alles auswählen

history.0	2018-05-16 20:00:08.079	debug	Min-Delta ignored because no number rpi2.0.gpio.16.state, last-value=false, new-value=true, ts=1526493608074
In deinem Fall "kombinieren sich" die Dinge von "Nur Änderungen Loggen" und Debounce.

Debounce sorgt dafür das der Wert grundsätzlich "verzögert" geschrieben wird erst wenn seit mehr als 1s kein neuer Wert mehr rein kam.
"Nur Änderungen "loggen schiesst da aber jetzt im Zweifel quer bzw sorgt dafür das auch wenn sich werte nicht ändern immer der letzte gemerkt wird und sobald sich der Wert dann ändert der letzte auch geschrieben wird damit die Grafische Darstellung am Ende noch korrekt ist. Die soll nämlich trotzdem anzeigen wie lange der Wert unverändert geblieben ist.
Genau das war´s! "Entprellzeit" und "nur Änderungen loggen" kommen sich in die Quere! Wenn ich "nur Änderungen loggen" ausschalte, werden die Werte nicht mehr doppelt aufgezeichnet, ausser wenn der gleiche Wert NACH Ablauf der Entprellzeit gesendet wird (was ja auch gewollt ist).

"Nur Änderungen loggen" war bei mir Default und ist bei der Aufzeichnung des Klingeltasters eh unnötig!

Per Default habe ich bei fast allen Datenpunkten beides aktiviert, aber bisher ist mir ähnliches nicht aufgefallen! Ich denke das tritt nur auf, wenn ein Datenpunkt wirklich auch prellt (also e-mechanische Taster). Ist das richtig?

Danke nochmal!

Benutzeravatar
apollon77
guru
Beiträge: 5729
Registriert: 10.04.2015, 12:27

Re: Entprellzeit bei history Adapter

Beitrag von apollon77 » 18.05.2018, 09:32

Danke für die Verifizierung!

Ja es tritt nur auf wenn im Rahmen der Entprellzeit andere Werte reinkommen.
Muss ich irgendwie umbauen ...
How-to:
* Debug-Log für einen Adapter/Instanz einschalten? -> Instanzen -> Expertenomodus -> Spalte Loglevel

church
starter
Beiträge: 69
Registriert: 11.08.2017, 09:14

Re: Entprellzeit bei history Adapter

Beitrag von church » 19.05.2018, 08:50

Super, danke!

Was mir bei der Gelegenheit noch aufgefallen ist:

Wenn z.B. ein Homematic Gerät über Javascript geschaltet wird, werden in History zwei gleiche Einträge erzeugt. Einmal mit Quelle Javascript und kurz danach nochmal vom hm-prc Adapter! Ist das so richtig?

church
starter
Beiträge: 69
Registriert: 11.08.2017, 09:14

Re: Entprellzeit bei history Adapter

Beitrag von church » 19.05.2018, 09:06

Klappt jetzt:

Lag wohl daran, dass der Wert aus Javascript nicht bestätigt war (über "steuern" gesendet). Wenn ich über "aktualisieren" sende ist der Wert direkt aus Java bestätigt und wird nicht mehr von hm-rpc gespeichert!

Ich muss mich nochmal genau mit dem Unterschied zwischen steuern und aktualisieren vertraut machen :?

paul53
guru
Beiträge: 3271
Registriert: 09.06.2015, 16:03
Wohnort: Berlin

Re: Entprellzeit bei history Adapter

Beitrag von paul53 » 19.05.2018, 09:12

church hat geschrieben:
19.05.2018, 09:06
Wenn ich über "aktualisieren" sende ist der Wert direkt aus Java bestätigt und wird nicht mehr von hm-rpc gespeichert!
...und auch nicht mehr an die (virtuelle) CCU gesendet :!:
church hat geschrieben:Wenn z.B. ein Homematic Gerät über Javascript geschaltet wird, werden in History zwei gleiche Einträge erzeugt. Einmal mit Quelle Javascript und kurz danach nochmal vom hm-prc Adapter! Ist das so richtig?
Ja: Erst wird der Wert mit ack = false (Quelle: javascript) auf den Datenpunkt geschrieben, dann an die CCU gesendet, von dieser bestätigt und dann ack = true gesetzt (Quelle: hm-rpc).
Siehe auch.
Versionen für RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs:
Jessie lite, Kernel 4.4.50-v7+, hmcon 0.18, node 8.11.3, Host 1.4.2, Admin 2.0.9, Javascript 3.6.4, HM-RPC 1.7.4, Email 1.0.4, History 1.8.5, Flot 1.9.1, Vis 1.0.4, Web 2.4.0

Antworten