Hallo,
ich habe den Bewegungsmelder FS20 PIRI-2, und will jetzt einen Plot für diesen erstellen. Das Problem liegt darin, dass dieser keine einfachen "on/off" Logs hat.
z.B.
2013-11-03_09:51:25 FS20_1dc200 on-old-for-timer 60
Wie konfiguriere Ich den Plot so, dass der Ausschlag nach oben genau um die gesendete Zeit anhält (hier 60), und dann wieder zurück geht?
Grüße
hhsch
Hallo,
da meine Bewegungsmelder ein notify triggern in dem ich den Bewegungsmelder wieder auf off schalte kann ich dir nur bedingt helfen.
Auch verwende ich DBLog und kein FileLog - das sollte aber das kleinere Problem sein :D
Hier mal meine gplot die ich mit Hilfe erstellt habe und die auch meine restlichen FS20-Komponenten abdeckt.
Wenn du on/off sendest musst du eigentlich nur Ein/Aus gegen on/off tauschen.
dim habe ich drinnen weil ich auch FS20-Dimmer im einsatz habe.
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 '<L1>'
set ytics ("Aus" 0, "Ein" 1)
set y2tics ("Aus" 0, "Ein" 1)
set yrange [-0.1:1.1]
set y2range [-0.1:1.1]
set ylabel "Status"
set y2label "Status"
#DbLog <SPEC1>:state:::$val=~s/(Ein|Aus|dim)(\d*).*/$1eq"Ein"?1:($1eq"dim"?$2*0.01:0)/eg
plot "< awk '{print $1, $3~/dim.*/? 1 : 0; }' <IN>"\
using 1:2 notitle with steps
Ein Plot sieht dann so aus:
Grüße
was du ja eigentlich möchtest ist nicht den bewegungsmelder plotten (der sendet nur events für bewegung) sondern die brenn dauer der lampe. dann solltest du das notify bzw. das log auch an die lampe hängen. dann bekommst du die dauer automatisch.
falls noch nicht passiert solltest du dafür follow-on-for-timer für die lampe setzen.
ich kann vom handy grad kein beispiel angängen aber es gibt eins in der commandref. die syntax ist bei dblog etwas anders als bei filelog. bei den plotfiles gibt es auch ein fs20 file genau dafür. das kannst du als vorlage verwenden.
gruss
andre
Hallo,
ich habe jetzt das Beispiel von Puschel übernommen (und abgeändert), aber ich sehe keine Veränderung im Plot. Hat jemand ein Beispiel für FileLog oder eine genauere Beschreibung wie ich es machen könnte?
Grüße
hhsch
Hallo,
Zitat(und abgeändert)
evtl. wäre es einfacher du postest deine geänderte Version 8)
Grüße
wie oben schon geschrieben gibt es ein fertiges fs20.gplot das direkt passen sollte.
gruss
andre
Hallo,
Ich habe das hier:
############################
# Display the on and off values off an FS20 device
# Corresponding FileLog definition:
# define fs20log FileLog /var/log/fhem/fs20dev-%Y-%U.log fs20dev
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 '<TL>'
set ytics ("Off" 0, "On" 1)
set y2tics ("Off" 0, "On" 1)
set yrange [-0.1:1.1]
set y2range [-0.1:1.1]
set ylabel "Status"
set y2label "Status"
#FileLog 3::0:$fld[2]=~"on"?1:0
plot "< awk '{print $1, $3~/on/? 1 : 0; }' <IN>"\
using 1:2 notitle with steps
In das hier geändert:
############################
# Display the on and off values off an FS20 device
# Corresponding FileLog definition:
# define fs20log FileLog /var/log/fhem/fs20dev-%Y-%U.log fs20dev
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 '<TL>'
set ytics ("Off" 0, "On" 1)
set y2tics ("Off" 0, "On" 1)
set yrange [-0.1:1.1]
set y2range [-0.1:1.1]
set ylabel "Status"
set y2label "Status"
#FileLog <SPEC1>:state:::$val=~s/(on|off|dim)(\d*).*/$1eq"on"?1:($1eq"dim"?$2*0.01:0)/eg
plot "< awk '{print $1, $3~/dim.*/? 1 : 0; }' <IN>"\
using 1:2 notitle with steps
Bei beiden erstellt sich nicht automatisch ein Plot. Auch wenn ich einen manuell erstelle sind keine Einstellungen vorhanden.
Grüße
hhsch
versuch es bitte erst mal mit der original zeile#FileLog 3::0:$fld[2]=~"on"?1:0
bevor du wild was zusammen kopierst. du hast genau die teile aus filelog und dblog zusammen gemischt die so nicht zusammen gehören.
gruss
andre
Hallo,
ZitatBei beiden erstellt sich nicht automatisch ein Plot.
Automatisch erstellt sich mit diesen Einstellungen (andre hat grad gepostet) auch kein Plot.
Einen Plot musst du auch erstmal definieren.
Etwa so:
define wl_OG_Badezimmer_Ventilator SVG myDbLog:fs20db:CURRENT
attr wl_OG_Badezimmer_Ventilator label "OG_Badezimmer_Ventilator"
attr wl_OG_Badezimmer_Ventilator plotfunction OG_Badezimmer_Ventilator
attr wl_OG_Badezimmer_Ventilator room 39_Plots_Schalter
Nur das du myDBLog und fs20db austauschen musst.
Schau mal in der commandref unter SVG oder weblink.
Oder im Einsteiger.pdf 8)
Grüße
Hallo,
ich habe die Standardvorlage für den Plot wie oben schon erwähnt verwendet. Der Plot wurde definiert und erscheint auch.
Es wird jedoch nur der Status "On" im Plot angezeigt, egal welchen Status der Bewegungsmelder hat.
Hat jemand einen fertigen Plot für die Fritzbox und FileLog?
Grüße
hhsch
Hallo,
gibt es eine Möglichkeit aus der Logdatei das Datum und die Uhrzeit in den Plot zu übertragen? D.h. Immer wenn der Bewegungsmelder aktiviert wird, wird ein Logeintrag geschrieben, welcher dann als "Spitze" im Plot angezeigt werden soll.
Grüße
hhsch
Hallo,
Zitatgibt es eine Möglichkeit
FHEM biete viele Möglichkeiten.
Aber mann muss zwischendurch auch selbst Hand anlegen.
Zitataus der Logdatei das Datum und die Uhrzeit in den Plot zu übertragen?
Das wird Mwn automatisch gemacht - siehe meinen Beitrag ganz oben.
Da hast du Datum und Uhrzeit und den Peak des Bewegungsmelders.
Zitatwird ein Logeintrag geschrieben,
Wenn du ein LogFile definiert hast für den Bewegungsmelder wird das auch in diesem LogFile so hinterlegt.
Wenn die *.gplot dann auch passend erstellt/geändert wurde wird dir das auch im Plot angezeigt.
siehe oben in meinem Beitrag und Screenshot dazu.
Was hast du den bisher alles für deinen Bewegungsmelder definiert?
Nein. Nicht die gesamte fhem.cfg sondern nur der relevante Teil daraus.
OT und hat nichts mit dir zu tun aber ...
Leute. Für Hilfe zur Selbsthilfe sind unsere Kristallkugeln (ich hab schon versucht Kristallglas zu verwenden) einfach zu trübe.
Postet doch bitte was ihr bereits versucht habt und die Fehlermeldungen aus dem Logfile *grummel*
BTT und sorry
Grüße
Ich weiß ja nicht. Aber wenn auf den bewegungsmelder reagiert werden soll wird das doch wohl nicht gehen, oder?
Ein Bewegungungsmelder, zu mindestens mein HomeMatic Bewegungsmelder, meldet halt einen event:motion. Was will man daraus für ein Log machen..... Es gibt doch keine event:nomotion oder so was....
na klar geht das...
gruss
andre
Hallo,
habe es nun geschafft einen Plot zu erstellen, der anzeigt wenn der Bewegungsmelder aktiviert wird (siehe Anhang).
Wie schaffe ich es, dass die Bewegungen nicht als Punkte, sondern als lines dargestellt werden? Also nur wenn der Bewegungsmelder aktiviert wird soll ein Ausschlag nach oben kommen (So wie bei Puschel74, auch im Anhang).
Wenn ich einfach lines einstelle dann bleibt die Linie ja logischerweise auf "On".
Grüße
hhsch
wie oben schon gesagt...
der bewegungsmelder gibt nur das motion event. und kein 'motion zu ende' event. deshalb kannst du auch nur die punkte verwenden.
wenn du anzeigen möchtest wie lange die lampe an war musst du die lampe plotten. nicht den bewegungsmelder. die Lampe liefert on und off. zur not mit follow-on-for-timer.
gruss
andre
Hallo,
ich habe meine Bewegunsmelder so eingestellt das diese nur ein on senden und kein on-irgendwas
Weiters stelle ich den Bewegungsmelder in FHEM nach der Auslösung per at wieder auf off.
Grüße
Edith: Die letzte Zeile stellt natürlich nicht den Bewegungsmelder auf off - das geht ja nicht - sondern dient nur dazu das in FHEM der Bewegungsmelder nicht auf on stehen bleibt.
Hallo Puschel74,
kannst Du das mit "per at wieder auf off" genauer beschreiben, was ich da eingeben muss, damit in der Log-Datei nach Ablauf der im PIRI-2 eingestellten Zeit automatisch wieder ein off steht.
Danke
Hallo,
EG_Eingang_Bewegungsmelder:on.* {
my $fhttk_eing_tuer = ReadingsVal("EG_Eingangstuer", "Window", "nA");
if ( $fhttk_eing_tuer eq "Closed" ) {
fhem ("set EG_Eingang_Licht_innen on-for-timer 30; set EG_Vorraum_Licht on-for-timer 48");
}
fhem ("define EG_Eingang_Bewegungsmelder_Aus at +00:00:10 set EG_Eingang_Bewegungsmelder off") if (Value("EG_Eingang_Bewegungsmelder_Aus") eq "");
}
Das notify löst aus wenn EG_Eingang_Bewegungsmelder ein on(irgendwas) sendet.
Dann wird geprüft ob die Eingangstüre auch zu ist und dann das Licht eingeschaltet.
In der letzten Zeile wird 10 Sekunden nach dem auslösen der Bewegungsmelder in FHEM wieder auf off gesetzt.
Grüße
Hallo,
habe das Problem jetzt folgendermaßen gelöst:
define NotifyPiri notify FS20_1dc200 set FS20_1dc200 on;;define FS20_1dc200_off at +00:00:10 set FS20_1dc200 off
Danke an alle!
hhsch