Moin,
ich habe eine recht umfangreiche FHEM-Installation. Bei der Suche nach Zeitfressern bin ich mit apptime u.a. auf folgendes gestossen (Auszug):
name | function | max | count | total | average | maxDly |
FS20_261a01 | FS20_Set | 166 | 1 | 166 | 166.00 | 0 | HASH(FS20_261a01); FS20_261a01; off |
FS20_361a01 | FS20_Set | 162 | 8 | 162 | 20.25 | 0 | HASH(FS20_361a01); FS20_361a01; off |
FS20_2a1a01 | FS20_Set | 151 | 1 | 151 | 151.00 | 0 | HASH(FS20_2a1a01); FS20_2a1a01; off |
LSchlafZ | structure_Notify | 115 | 8744 | 118 | 0.01 | 0 | HASH(LSchlafZ); HASH(FS20_341901) |
LFlurH | structure_Notify | 108 | 8744 | 294 | 0.03 | 0 | HASH(LFlurH); HASH(FS20_261a01) |
LFlurV | structure_Notify | 98 | 8744 | 195 | 0.02 | 0 | HASH(LFlurV); HASH(FS20_2a1a01 |
Man sieht hier drei Lampen (FS20_261a01,FS20_361a01,FS20_361a01) die jeweils
ein Mitglied in einer Struktur sind (LFlurH, LSchlafZ, LFlurV) in der alle Lampen eines Raumes zusammen gefasst sind.
Ich interpretiere das jetzt mal wie folgt:Das Licht im Flur (FS20_261a01) wurde ausgeschaltet, es taucht genau 1x auf (count=1).
Die zugehörige Struktur LFlurH wurde dabei aber 8.744 Mal aufgerufen.
Gut, die gesamte Verzögerung (average) ist unerheblich, aber warum ist das so?
Sollte die Funktion (structure_Notify?) nicht nur nach einer Änderung getriggert werden?
Oder habe ich da irgendwo eine Schleife konfiguriert... ?
Da structure auch einen Gesamt-Status aller Mitglieder anzeigt (bzw. anzeigen kann), muss es alle Events pruefen, ob sie nicht einen der Mitglieder betreffen.