Anzahl der Einträge eines FileLog plotten (count)

Begonnen von Christian., 17 Oktober 2013, 20:52:51

Vorheriges Thema - Nächstes Thema

Christian.

Hallo zusammen,

ich messe meinen Momentan-Stromverbrauch (Leistung / kW) über S0-Zähler und schreibe diesen in ein FileLog mit folgendem Aufbau

2013-10-17_00:00:35 arduino_pin_31 power: 0.02341 kW
2013-10-17_00:02:06 arduino_pin_27 power: 0.00794 kW
2013-10-17_00:02:39 arduino_pin_23 power: 0.01038 kW


Auf Basis dieses Logs erstelle ich je Zähler ein passendes Diagramm (siehe unten).

Nun zu meiner Frage. Jede Zeile in meinem Log entspricht dem Verbrauch von 1 Wh Energie. Ich möchte gern die Energie, also die Anzahl der Zeilen, ebenfalls in das Diagramm zeichnen (als monoton steigende Kurve). Das wäre eine einfache Sache, wenn ich im Log neben dem power-Wert noch einen count-Wert speichern würde, der einfach immer um 1 hochgezählt wird. Diesen redundanten Wert möchte ich aber gern vermeiden - schließlich sind ja alle notwendigen Daten im Log. Geht das irgendwie?

Ich habe im Wiki gelesen, dass Funktionen wie min, max und count beim Aufruf der FileLog-Funktion get automatisch bestimmt werden und z.B. in Labels verwendet werden können. Wenn das auch im fn-Teil eines FileLog gehen würde, hätte ich, was ich mir wünsche. Bei meinen Versuchen konnte ich aber nur mittels @fld auf die aktuelle Zeile zugreifen, und das reicht nicht...

Hat jemand eine Idee?

Schöne Grüße
Christian
Raspberry Pi 3 mit FHEM; Arduino Nano mit ConfigurableFirmata (S0-Stromzähler); nanoCUL (MAX!); SIGNALduino (RXB6, 433 MHz); eBus; RS485 & D0 (SolarView); DVB-T (Thermo-/Hygrometer); Z-Wave; ZigBee

rudolfkoenig

In dieser Funktion kann man neben fld auch auf min, max, sum, cnt, lastv und lastd zugreifen. Dies sind auch Felder fie fld, allerdings der Index bezeichnet die gerade angeforderte Spalte, also 0 steht fuer die erste Linie. Es sind die gerade aktuellen Werte beim durchlesen der Datei, cnt wird als fuer jede passende Zeile erhoeht. Siehe auch 91_FileLog.pm :)

Achtung: das sind keine Anfaengerfragen, und vermutlich wird die Funktionalitaet bei der Umstellung der SVG Erstellung auf Javascript auch nicht mehr vorhanden sein.

Christian.

Großartig, tausend Dank, Rudi!

Ich hatte es in Anlehnung an den Wiki-Eintrag mit $data{cnt1} probiert, das funktioniert aber nicht. Folgende Zeile ist die Lösung:

attr weblink plotfunction 4:arduino_pin_23.power:: 4:arduino_pin_23.power::$cnt[0]

Sorry, wenn ich ins falsche Forum gepostet habe. Vielleicht kann ja jemand den Thread ins Forum Automatisierung verschieben?

Wo erfahre ich denn mehr über die zu erwartenden Änderungen bei der SVG-Erstellung?

Schöne Grüße
Christian
Raspberry Pi 3 mit FHEM; Arduino Nano mit ConfigurableFirmata (S0-Stromzähler); nanoCUL (MAX!); SIGNALduino (RXB6, 433 MHz); eBus; RS485 & D0 (SolarView); DVB-T (Thermo-/Hygrometer); Z-Wave; ZigBee

rudolfkoenig

Nirgendwo.
Ich habe nur diverse halbgare Ideen, aber z.Zt. keine Zeit dafuer.