Hauptmenü

Datenlast reduzieren

Begonnen von Mikesch, 22 Februar 2018, 21:55:07

Vorheriges Thema - Nächstes Thema

Mikesch

Hallo,

ich hätte da mal Frage was die Datenmenge bei Erfassung von Temperatur / Luftfeuchte. Senosoren angeht.
Ich habe mir ein LaCrosseGateway gebaut und damit 6 Funksensoren verbunden außerdem hat das LCG auch einen, also 7 in Summe.

Mir ist aufgefallen das alle paar Sekunden die Sensoren jede Menge Daten senden und die auch am Raspberry landen.
Die vier Plots / Diagramme (die ich dazu erstellt habe) sind sehr träge. Die Fragen die sich mir stellen sind:

1. Muss man wirklich mehrmals die Minute (ich glaube alle 4 Sekunden ist bei "TX 29 DTH - IT" Standard) Temperatur oder Luftfeuchtigkeit erfassen, was ist den eine gute Zeitspanne?
pro Minute oder alle fünf Minuten?

2. Die Funksensoren funken an das LaCrosseGateway. kann man schon da das Sende-Intervall zum Raspberry  einstellen?
KV-Interval: am LaCrosseGateway scheint nur die Messung des direkt angeschlossenen Sensors BME280 zu beeinflussen. Die der Funksensoren aber nicht. Ist da eine andere Einstellung notwendig? Um das Messintervall einzustellen.

3. Könnte man nicht um Diagramme zu erstellen die Datenmenge reduzieren, so dass nur Werte erfasst werden wenn sich der Wert ändert. Macht ja keinen Sinn 60 mal die Stunde immer 20Grad zu erfassen. Ich habe da was von event-on-change-reading mal auf-geschnappt.

4. Was macht man mit solchen kippenden Werten. Halbes Grad nach oben und wieder halbes Grad nach unten.
Siehe beigefügtes Bild, da sind Linien doppelt so breit, weil der Wert ständig "kippt".

Otto123

Hi,

zu 1. Meine HM Snesoren senden alle paar Minuten, das reicht völlig!
zu 4. attr <> event-on-change-reading setzen

Allgemein: In deine Filelog Definition schauen und dort die readings loggen die Du wirklich brauchst. Meist werden alle Readings geloggt und die Daten sind doppelt und dreifach drin. Das spart ungemein.

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

Mikesch

#2
Hallo Otto123

wie bzw. wo stellst du denn ein dass sie nur alle paar Minuten senden?
"event-on-change-reading setzen" ähm auch hier die Frage wo genau?

Meist du unter  FileLog_KeyValueProtocol_LGW_387491 den Befehl:
attr FileLog_KeyValueProtocol_LGW_387491 event-on-change-reading
absetzten? Oder wird das global gesetzt?

Mikesch

#3
ich habe noch etwas gefunden und wenn ich es richtig verstanden habe sollten die nachstehenden Befehle helfen:

attr myLaCrosseGateway event-min-interval humidity:60,state:60,temperature:60
attr myLaCrosseGateway event-on-change-reading battery
attr myLaCrosseGateway event-on-update-reading humidity,state,temperature


Damit erreiche ich folgendes:
=> die Readings temperature und humidity werden ca alle 60 Sekunden aktualisiert, egal ob sich was geändert hat oder nicht
=> das Kombi-Reading state wird höchstens alle 60 Sekunden aktualisiert, aber nur wenn sich der state verändert hat
=> das Battery Reading erhalte ich, sobald sich dort etwas ändert

Quelle: https://forum.fhem.de/index.php?topic=23903.0


Ist das richtig es am attr myLaCrosseGateway zu setzten?
bei mir hat es nur am einzelnen LCG Sensor etwas bewirkt.

z.B.
attr LaCrosse_16 event-min-interval humidity:60,state:60,temperature:60,pressure:60,dewpoint:60
attr LaCrosse_16 event-on-change-reading battery
attr LaCrosse_16 event-on-update-reading humidity,state,temperature,pressure,dewpoint


Otto123

Moin,

in erster Linie steht sowas in der Doku -> https://fhem.de/commandref_DE.html#readingFnAttributes
Besser beschreiben kann ich es auch nicht.

Die Attribute  musst Du bei dem Device setzen wo die entsprechenden Readings enthalten sind und nicht "irgendwo"  :o

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

Mikesch

Also meine Frage ist ob man die Attribute dem "FileLog_KeyValueProtocol_LGW_387491" mitgeben kann oder ob man jedem einzelnen "FileLog_LaCrosse_xx"?
Ich dachte "FileLog_KeyValueProtocol_LGW_387491" ist das gesamte Log?
Siehe Anlage.

Otto123

Du bist völlig auf dem falschen Dampfer. Das Filelog hat doch die Readings um die es geht gar nicht! Es geht nicht darum wo die Werte verarbeitet sondern wo sie erzeugt werden.
An der Quelle musst Du die Datenflut eindämmen!

Du kannst selbstverständlich mittels devSpec (commandref) die Attribute mit einem Befehl an all deinen Sensoren setzen.

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