FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ch.eick am 05 März 2020, 10:00:53

Titel: [gelöst] event-min-interval mit EnOcean
Beitrag von: ch.eick am 05 März 2020, 10:00:53
Hallo zusammen,
ich habe da eine Ungereimtheit bei einem FSB61 EnOcean, die ich nicht korrigiert bekomme.

Hintergrund ist, das ich gerade mein Logging und die Events etwas aufräume.

Logging ins logDB
attr AR_O_Rollo_FSB61 DbLogExclude .*
attr AR_O_Rollo_FSB61 DbLogInclude position,endPosition,ASC_ShuttersLastDrive

Nun kommt bei diesem Device natürlich ziemlich selten ein Event, da es ein Rollo ist und ich möchte gerne jede Stunde die Position, damit meine Positionsanzeige im Plot nicht so komisch abbricht.

Folgendes habe ich bereits ausprobiert

attr AR_O_Rollo_FSB61 event-min-interval .*:3600
attr AR_O_Rollo_FSB61 event-min-interval position.*:3600


Ich bekomme keine Events, außer die Events bei der Fahrt des Rollos.

Im Log sehe ich somit auch nur folgendes

MySQL [fhem]> select * from history where TYPE = 'ENOCEAN' and DEVICE like 'AR%' and TIMESTAMP > '2020-03-04 15:00:00' order by TIMESTAMP,DEVICE;
+---------------------+------------------+---------+------------------------------------+-----------------------+-------------+------+
| TIMESTAMP           | DEVICE           | TYPE    | EVENT                              | READING               | VALUE       | UNIT |
+---------------------+------------------+---------+------------------------------------+-----------------------+-------------+------+
| 2020-03-04 18:46:57 | AR_O_Rollo_FSB61 | ENOCEAN | endPosition: closed                | endPosition           | closed      |      |
| 2020-03-04 18:46:57 | AR_O_Rollo_FSB61 | ENOCEAN | position: 100                      | position              | 100         |      |
| 2020-03-04 18:46:57 | AR_O_Rollo_FSB61 | ENOCEAN | ASC_ShuttersLastDrive: night close | ASC_ShuttersLastDrive | night close |      |
| 2020-03-04 18:46:57 | AR_O_Rollo_FSB61 | ENOCEAN | endPosition: not_reached           | endPosition           | not_reached |      |
| 2020-03-04 18:47:17 | AR_O_Rollo_FSB61 | ENOCEAN | endPosition: closed                | endPosition           | closed      |      |
| 2020-03-05 06:29:11 | AR_O_Rollo_FSB61 | ENOCEAN | endPosition: open                  | endPosition           | open        |      |
| 2020-03-05 06:29:11 | AR_O_Rollo_FSB61 | ENOCEAN | position: 0                        | position              | 0           |      |
| 2020-03-05 06:29:11 | AR_O_Rollo_FSB61 | ENOCEAN | endPosition: not_reached           | endPosition           | not_reached |      |
| 2020-03-05 06:29:11 | AR_O_Rollo_FSB61 | ENOCEAN | ASC_ShuttersLastDrive: day open    | ASC_ShuttersLastDrive | day open    |      |
| 2020-03-05 06:29:31 | AR_O_Rollo_FSB61 | ENOCEAN | endPosition: open_ack              | endPosition           | open_ack    |      |
| 2020-03-05 09:18:37 | AR_O_Rollo_FSB61 | ENOCEAN | position: 0                        | position              | 0           |      |
| 2020-03-05 09:18:37 | AR_O_Rollo_FSB61 | ENOCEAN | endPosition: open                  | endPosition           | open        |      |
| 2020-03-05 09:18:37 | AR_O_Rollo_FSB61 | ENOCEAN | ASC_ShuttersLastDrive: manual      | ASC_ShuttersLastDrive | manual      |      |
| 2020-03-05 09:28:22 | AR_O_Rollo_FSB61 | ENOCEAN | position: 0                        | position              | 0           |      |
| 2020-03-05 09:28:22 | AR_O_Rollo_FSB61 | ENOCEAN | endPosition: open                  | endPosition           | open        |      |
| 2020-03-05 09:28:22 | AR_O_Rollo_FSB61 | ENOCEAN | ASC_ShuttersLastDrive: manual      | ASC_ShuttersLastDrive | manual      |      |
+---------------------+------------------+---------+------------------------------------+-----------------------+-------------+------+

Um 9:18 und 9:28 war eine manuelle Fahrt. Zu diesem Zeitpunkt hatte ich zum Testen " event-min-interval .*:60 " gesetzt und somit hätte ich alle 60 sek. einen Eintrag erwartet.

Die Dokum habe ich wie immer mit bestem Wissen und Gewissen gelesen.

Viele Grüße
    Christian
Titel: Antw:event-min-interval mit EnOcean
Beitrag von: DS_Starter am 05 März 2020, 11:26:52
Hallo Christian,

das wird oft missverstanden.

Die ComRef sagt:

ZitatEin Event wird nur dann generiert, falls seit dem letzten Auftreten des gleichen Events mindestens minInterval Sekunden vergangen sind.

ABER ... der Event muss zunächst generiert werden und wird ggf. unterdrückt !

Das was du suchst ist der addLog Befehl im DbLog zum Beispiel um zu definierten Zeiten bzw. Intervallen einen Logeintrag zu erzwingen.

Grüße,
Heiko
Titel: Antw:event-min-interval mit EnOcean
Beitrag von: ch.eick am 05 März 2020, 12:21:14
Zitat von: DS_Starter am 05 März 2020, 11:26:52
ABER ... der Event muss zunächst generiert werden und wird ggf. unterdrückt !

Das was du suchst ist der addLog Befehl im DbLog zum Beispiel um zu definierten Zeiten bzw. Intervallen einen Logeintrag zu erzwingen.
Es ist wohl beides, da ich den Event erstens nicht sehen kann

und das mit dem addlog bzw addCacheLine/commitCache schaue ich mir gerade auch an. Ich habe Deine Tips bereits umgesetzt.

Und hier ist mein Denkfehler bereits erklärt worden. https://forum.fhem.de/index.php/topic,29970.msg226721.html#msg226721 (https://forum.fhem.de/index.php/topic,29970.msg226721.html#msg226721)

Sorry für die Störung