Hallo zusammen.
Es gibt ja die Möglichkeit it dem attr Fixedrange einen Bereich anzugeben der im Plot dargestellt werden soll.
Gibt es eine Möglichkeit im Plot diese Fixedrange Auswahl per DropDown fest einzubauen ?
Habe versucht es über Dummy mit Datumsauswahl zu lösen, stecke jetzt aber fest.
https://forum.fhem.de/index.php/topic,55361.msg471608.html#msg471608 (https://forum.fhem.de/index.php/topic,55361.msg471608.html#msg471608)
Gruß
Sascha
ZitatGibt es eine Möglichkeit im Plot diese Fixedrange Auswahl per DropDown fest einzubauen ?
Sicher, man muss es nur programmieren (Perl+JavaScript). Sinnvolle Patches kann ich gerne prüfen.
ZitatHabe versucht es über Dummy mit Datumsauswahl zu lösen, stecke jetzt aber fest.
Im verlinkten Thread sehe nur einen Hinweis von Hans, aber keine eigenen Versuche.
Eine Loesung ueber dummy ist moeglich, allerdings nur was fuer FHEM-Fortgeschrittene und erfordert:
- ein Dummy mit 3 Readings (Start- und Endzeit, SVG)
- ein Notify, was
1. das fixedrange und room SVG Attribut setzt, und "alte" SVGs aus diesem Raum entfernt.
2. per FW_directNotify die aktuelle Seite (== FHEM-Raum) neu laedt
Hallo Rudolf.
Habe mir den Link https://forum.fhem.de/index.php/topic,35736.0.html (https://forum.fhem.de/index.php/topic,35736.0.html) von Hans angeschaut (DateTimePickerWidget).
Habes in einen Raum bei mir gepackt (80_Auswertung).
1. Startzeit
Internals:
NAME dateTimePickerPopUp1
NR 413
STATE 2016-07-07_00:00:00
TYPE dummy
Readings:
2016-07-14 16:36:14 state 2016-07-07_00:00:00
Attributes:
alias 1. Startzeit
room 80_Auswertung,80_Diagramme,99_test
setList state:datetime,timepicker:true
webCmd state
2. Endzeit
Internals:
NAME dateTimePickerPopUp2
NR 414
STATE 2016-07-09_22:00:00
TYPE dummy
Readings:
2016-07-10 10:04:04 state 2016-07-09_22:00:00
Attributes:
alias 2. Endzeit
room 80_Auswertung,80_Diagramme,99_test
setList state:datetime,timepicker:true
webCmd state
Damit kann man schonmal die Start/Endzeit festlegen.
Hier nochmal die Anleitung für das DateTimePickerWidget aus dem Post von Matscher.
https://forum.fhem.de/index.php/topic,35736.0.html (https://forum.fhem.de/index.php/topic,35736.0.html)
Was ich jetzt noch brauche, ist ein Auswahlliste der SVG´s oder der Sensoren. Über ein Dummy oder. Nur das habe ich bis jetzt noch nicht hin bekommen.
Ahh, bevor ich es vergesse. Hier noch der DateSelect, der das SVG auswählt und den fixedrange setzt.
Internals:
DEF dateTimePickerPopUp.* {
my $d1 = Value("dateTimePickerPopUp1");
my $d2 = Value("dateTimePickerPopUp2");
my $fr = $d1;
$fr .= ' '.$d2 if ($d1 ne $d2);
fhem("attr SVG_0 fixedrange $fr");
}
NAME dateSelect
NR 416
NTFY_ORDER 50-dateSelect
REGEXP dateTimePickerPopUp.*
STATE 2016-07-14 19:42:46
TYPE notify
Readings:
2016-07-11 17:48:52 state active
Attributes:
room 99_test
So schaut es im Moment aus.
Komme jetzt nur mit der Auswahl der SVG´s/Sensoren nicht klar. Der Übersicht halber geschuldet würde ich, in meinem fall, auch das alias des Sensors in der Auswahlliste nehmen.
Gruß
Sascha
Habe nochmal ein bischen weiter experimentiert. Habe zumindest eine SVG auswahl hinbekommen, diese in ein Dummy zu schreiben.
Habe jetzt nur ein Problem das DateSelect anzupassen.
Dummy geraete
Internals:
CFGFN
NAME geraete
NR 15365
STATE _0
TYPE dummy
Readings:
2016-07-14 21:47:22 state _0
Attributes:
alias 1. Geräteauswahl
room 80_Auswertung
setList SVG
webCmd SVG
widgetOverride :select,_0,_FileLog_ts01_1,_ts02,_ts_gz,_ts_sz,_FileLog_ts_abstkam_1
und hier noch das angepasste DateSelect notify
Internals:
DEF dateTimePickerPopUp.* {
my $d1 = Value("dateTimePickerPopUp1");
my $d2 = Value("dateTimePickerPopUp2");
my $fr = $d1;
$fr .= ' '.$d2 if ($d1 ne $d2);
fhem("attr SVG 'geraete:state' fixedrange $fr");
}
NAME dateSelect
NR 416
NTFY_ORDER 50-dateSelect
REGEXP dateTimePickerPopUp.*
STATE 2016-07-14 21:48:10
TYPE notify
Readings:
2016-07-14 21:47:51 state active
Attributes:
room 99_test
Gruß
Sascha
ZitatWas ich jetzt noch brauche, ist ein Auswahlliste der SVG´s oder der Sensoren.
define SVGList dummy
attr SVGList webCmd SVG
define SVGList_fill notify global:(DELETED|DEFINED|RENAMED).* {fhem("attr SVGList setList SVG:".join(",",devspec2array("TYPE=SVG")))}
ZitatNur das habe ich bis jetzt noch nicht hin bekommen.
Das ist ein klein wenig zu optimistisch. Setzen/Entfernen von room und reload der Seite steht ja auch noch aus.
Im Moment sieht es so aus, dass das dateSelect notify den fixedrange sofort ins SVG schreibt. Dann das SVG nur neu laden.
Habe im Moment nur das Problem, das ausgewählte SVG, dank deiner Hilfe, in das dateSelect zu schreiben!
Dafür bin ich in Perl beim besten Willen nicht so fit....
Blutiger Anfänger halt...
Gruß Sascha
Von mobil gesendet daher kurze Antwort
So, habe mich der Bereichsauswahl wieder angenommen und möchte diese auch zu Ende bringen.
Jedoch, wie schon erwähnt, muss ich die Daten jetzt in das ausgewählte SVG (fixedrange) rein schreiben. Weiß aber nicht wie.
Und ich muss den Raum einmal "refreshen" bzw. neu aufbauen lassen, damit das entsprechende SVG mit dem ausgewählten Bereich angezeigt wird.
Eine Möglichkeit sollte es auch noch geben, das fiexedrange auf Knopdruck zu löschen.
Gruß und Danke
Sascha