...bringt mich noch zu zur Verzweifelung :(
Also, da ich noch nicht wusste, dass man per Impulsmessung den Gaszähler auslesen kann, hab ich mir eine andere Lösung überlegt. Eine Webcam nimmt ein Foto vom Zählerstand auf und jagt es nach ein paar Anpassungen durch eine Texterkennung. Klappt auch ganz gut.
Seitdem ich aber auf FHEM gestoßen bin, lasse ich den Skriptaufruf nun mitloggen. Dazu habe ich folgendes gemacht (es gibt bestimmt elegantere Wege, aber bitte bedenkt, dass ich noch Anfänger bin):
define Gaszaehlerstand dummy
attr Gaszaehlerstand event-on-change-reading state
Dazu noch einen at-Job:
define get Gaszaehlerstand at +*00:10:00 {my $a=`ssh pi\@<ip> \'/Ueberwachung/Gaszaehler/getGaszaehlerstand.sh\'`;fhem("set Gaszaehlerstand $a")}
Man muss dazu sagen, dass das Skript zum Auslesen des Gaszählers auf einem anderem Raspberry Pi läuft. Ich greife den Wert also per SSH-Skript-Aufruf ab.
Die dazu gehöriges Logdatei hab ich wie folgt erstellt:
define FileLog_Gasverbrauch FileLog ./log/Gasverbrauch-%Y.log Gaszaehlerstand
attr FileLog_Gasverbrauch logtype gasconsumption:Plot,text
In der Logdatei stand dann:
2015-01-08_14:38:26 Gaszaehlerstand 2668
2015-01-08_15:04:57 Gaszaehlerstand 2669
2015-01-08_17:34:58 Gaszaehlerstand 2670
2015-01-08_20:32:37 Gaszaehlerstand 2671
2015-01-09_00:12:37 Gaszaehlerstand 2672
2015-01-09_03:32:38 Gaszaehlerstand 2673
2015-01-09_06:22:38 Gaszaehlerstand 2674
2015-01-09_08:02:38 Gaszaehlerstand 2675
2015-01-09_08:25:03 Gaszaehlerstand 2675
2015-01-09_10:15:03 Gaszaehlerstand 2676
2015-01-09_12:52:00 Gaszaehlerstand 2677
Ich hab aber noch manuell Werte hinzugefügt, so dass die Logdatei folgenden Inhalt hat:
2015-01-04_00:00:10 Gaszaehlerstand 2619
2015-01-04_03:00:10 Gaszaehlerstand 2620
2015-01-04_05:00:11 Gaszaehlerstand 2621
2015-01-04_07:00:10 Gaszaehlerstand 2622
2015-01-04_09:00:11 Gaszaehlerstand 2623
2015-01-04_12:00:12 Gaszaehlerstand 2624
2015-01-04_13:00:10 Gaszaehlerstand 2625
2015-01-04_15:00:11 Gaszaehlerstand 2626
2015-01-04_17:00:10 Gaszaehlerstand 2627
2015-01-04_19:00:10 Gaszaehlerstand 2628
2015-01-04_22:00:11 Gaszaehlerstand 2629
2015-01-05_03:00:10 Gaszaehlerstand 2630
2015-01-05_05:00:10 Gaszaehlerstand 2631
2015-01-05_07:00:12 Gaszaehlerstand 2632
2015-01-05_10:00:10 Gaszaehlerstand 2634
2015-01-05_12:00:10 Gaszaehlerstand 2635
2015-01-05_13:00:10 Gaszaehlerstand 2636
2015-01-05_16:00:11 Gaszaehlerstand 2637
2015-01-05_18:00:12 Gaszaehlerstand 2638
2015-01-05_21:00:10 Gaszaehlerstand 2639
2015-01-06_00:00:10 Gaszaehlerstand 2640
2015-01-06_02:00:11 Gaszaehlerstand 2641
2015-01-06_04:00:10 Gaszaehlerstand 2642
2015-01-06_09:00:10 Gaszaehlerstand 2644
2015-01-06_10:15:04 Gaszaehlerstand 2645
2015-01-06_11:00:10 Gaszaehlerstand 2646
2015-01-06_13:00:10 Gaszaehlerstand 2647
2015-01-06_15:00:10 Gaszaehlerstand 2648
2015-01-06_16:00:11 Gaszaehlerstand 2649
2015-01-06_18:00:11 Gaszaehlerstand 2650
2015-01-06_20:00:10 Gaszaehlerstand 2651
2015-01-06_23:00:10 Gaszaehlerstand 2652
2015-01-07_02:00:10 Gaszaehlerstand 2653
2015-01-07_06:00:10 Gaszaehlerstand 2654
2015-01-07_07:00:11 Gaszaehlerstand 2655
2015-01-07_09:00:10 Gaszaehlerstand 2656
2015-01-07_11:00:11 Gaszaehlerstand 2657
2015-01-07_13:00:11 Gaszaehlerstand 2658
2015-01-07_16:00:11 Gaszaehlerstand 2659
2015-01-07_18:00:11 Gaszaehlerstand 2660
2015-01-07_20:00:10 Gaszaehlerstand 2661
2015-01-07_22:00:10 Gaszaehlerstand 2662
2015-01-08_02:00:11 Gaszaehlerstand 2663
2015-01-08_06:00:10 Gaszaehlerstand 2664
2015-01-08_07:00:10 Gaszaehlerstand 2665
2015-01-08_09:00:09 Gaszaehlerstand 2666
2015-01-08_11:00:10 Gaszaehlerstand 2667
2015-01-08_14:38:26 Gaszaehlerstand 2668
2015-01-08_15:04:57 Gaszaehlerstand 2669
2015-01-08_17:34:58 Gaszaehlerstand 2670
2015-01-08_20:32:37 Gaszaehlerstand 2671
2015-01-09_00:12:37 Gaszaehlerstand 2672
2015-01-09_03:32:38 Gaszaehlerstand 2673
2015-01-09_06:22:38 Gaszaehlerstand 2674
2015-01-09_08:02:38 Gaszaehlerstand 2675
2015-01-09_08:25:03 Gaszaehlerstand 2675
2015-01-09_10:15:03 Gaszaehlerstand 2676
2015-01-09_12:52:00 Gaszaehlerstand 2677
Soweit auch alles gut.
Aber wenn ich jetzt den Plot aufrufe, sehe ich erst: siehe Screenshot_NormalAppImage.[17].png
Und wenn ich auf das Minuszeichen in der Lupe drücke: Screenshot_NormalAppImage.[18].png
Wie ihr seht, werden also nur Werte bis zum 8. Januar angezeigt. Aber eigentlich erwarte ich auch die Werte davor.
Was mache ich also falsch?
die Skalierung in ersten Bild an der rechten Seite irritiert etwas (o und 1), kannst du mal einen Screenshot vom Plot Editor einstellen?
Hallo DerFrickler,
anbei der gewünschte Screenshot.
Gruß, der Sloot
verlagere mal den "Range as" von der linken auf die rechte Seite oder
setze den "Range as" für die linke und die rechte Seite oder
entferne den "Range as" gänzlich oder
ändere mal das "Y-Axis" auf links
Irgendwie klappt es ja wenn beide Ordinaten eine geeignete Skalierung haben (Anhang 2) nur wenn du als Y-Achse die Rechte Achse einstellst und diese (aus welchem Grund auch immer) den Wertebereich 0 bis 1 abdeckt, können Werte im Bereich 2000-3000 nicht angezeigt werden.
Hallo DerFrickler,
danke für deine Tipps. Die gplot-Datei sieht jetzt wie folgt aus:
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel ''
set title ''
set ytics
set y2tics
set grid ytics
set ylabel ""
set y2label ""
set yrange [2600:2700]
set y2range [2600:2700]
#FileLog 3:Gaszaehlerstand.*::
plot "<IN>" using 1:2 axes x1y1 notitle ls l0 lw 1 with lines
Der Plot sieht auch soweit ganz gut aus. Danke dir dafür.
Was mich aber weiterhin wundert ist, dass die Werte vor dem 8.1. nicht angezeigt werden (siehe Screenshot).
Die Werte die manuell eingefügt wurden werden nicht angezeigt? Dann wird das sicherlich irgendetwas mit deinem Editor zu tun haben.... bei mir z.B. wurden z.B. bei jedem manuellen Editieren irgendwelche Zeichen vom Editor selbst angepasst. Aus z.B. " " wurde dann ,, " was nicht unmittelbar aufgefallen ist, aber in hem zu Fehlverhalten führt. Möglicherweise hat Dein Editor ja auch Steuerzeichen eingefügt die man so nicht erkennt.
Wenn die automatisch geschriebenen Zeilen angezeigt werden, dann belass es dabei.
Hallo DerFrickler,
ich hab mich jetzt mal daran gemacht, DbLog bei mir zu integrieren. Hat auch funktioniert. So langsam begreife ich das FHEM-System :-) Anschließend habe ich die historischen Werte ebenfalls manuell in die DB hinuzgefügt. Und was soll ich sagen: es funktioniert.
Jetzt würde ich aber gerne noch den Tagesverbrauch (also: Max-Wert eines Tages - Min-Wert eines Tages) anzeigen lassen. Ich glaube, dass dich da die userReadings benötige. Mir ist nur nicht ganz klar, wie da die Syntax sein musst. Oder bin ich auf dem Holzweg?
Gruß, der Sloot
das hier könnte Dir weiterhelfen http://www.fhemwiki.de/wiki/LogProxy