Hauptmenü

neue svg-Funktion: card

Begonnen von Damian, 04 April 2021, 12:58:15

Vorheriges Thema - Nächstes Thema

jkriegl

Beim kurzen Lauf der Pumpe werden sehr viele Werte verschluckt. (col1, 2, 3, 6) Längere Zeiträume machen keinen Sinn.
Auch bei der zusätzlichen card mit Pumpenstatus 0,1,2. (col1, col2)
Ich denke, dass das Abspeichern des max-Wertes, den min-Wert merken und in den nächsten slot einstellen, falls für diesen kein event kommt, besser wäre.
2021-04-26_16:07:41 shelly_s usr: E: 14.195 P: 14.11 1 40:03
2021-04-26_16:08:10 shelly_s usr: E: 14.195 P: 4.25 0 0:29
2021-04-26_16:54:05 shelly_s usr: E: 14.196 P: 13.46 1 45:55
2021-04-26_16:54:38 shelly_s usr: E: 14.196 P: 1.46 0 0:33
2021-04-26_17:10:40 shelly_s usr: E: 14.196 P: 13.07 1 16:02
2021-04-26_17:11:02 shelly_s usr: E: 14.197 P: 3.73 0 0:22
2021-04-26_17:22:02 shelly_s usr: E: 14.197 P: 13.75 1 11:00
2021-04-26_17:22:25 shelly_s usr: E: 14.197 P: 4.34 0 0:23
2021-04-26_17:24:55 shelly_s usr: E: 14.197 P: 8.97 1 2:30
2021-04-26_17:24:56 shelly_s usr: E: 14.197 P: 62.18 2 0:01
2021-04-26_17:25:10 shelly_s usr: E: 14.197 P: 5.61 0 0:14
2021-04-26_17:38:59 shelly_s usr: E: 14.197 P: 15.03 1 13:49
2021-04-26_17:39:34 shelly_s usr: E: 14.197 P: 3.72 0 0:35
2021-04-26_18:19:53 shelly_s usr: E: 14.198 P: 10.67 1 40:19
2021-04-26_18:20:25 shelly_s usr: E: 14.198 P: 2.39 0 0:32

Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Damian

Klar, vorhin wurden mittlere Werte verschluckt, jetzt werden kurzfristige Werte geschluckt. Ich muss mal schauen, evtl. Extremwert speichern und den letzten des Slots in den nächsten Slot übernehmen. Wahrscheinlich kommt noch doppelte Genauigkeit mit 120 Slots.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

mumpitzstuff

Würde das auch als defStateIcon funktionieren? Meine Versuche sind am Syntax Error gescheitert.

{ui_Table::card([CO2:CO2:col24],undef,"air",400,1500,120,0,"ppm")}

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

neue Features in Entwicklung:

-es werden jetzt 20 % mehr Punkte gespeichert, das Diagramm ist breiter - die Größe der Karte ist geblieben
-Daten werden jetzt im Modul mitgespeichert und überleben einen Neustart, dadurch können auch längere Zeiträume mit geringer Auflösung sinnvoll visualisiert werden
-neuer Algorithmus zur Speicherung der Daten, es werden Spitzenwerte (sowohl nach unten als auch nach oben) gespeichert, der letzte aktuelle Wert wird in den folgenden Zeitslot gerettet, falls dieser nicht belegt wird
-Beim Ring sind die Proportionen zwischen Schrift und Icon angepasst worden, die Farben von Icon, Unit und schmalen Ring sind im Default-Fall etwas dunkler, damit sich die Zahl besser abheben kann.

Die aktuelle Version wird noch getestet.

Im Anhang der gleiche Sensor in verschiedenen Zeitskalierungen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bartimaus

Hallo,

wenn ich bei der neuen Funktion "card" ein Reading auslesen möchte, was nicht rein numerisch ist, z.B. "1 W", so bekomme ich im Log eine Fehlermeldung, aber der Wert wird dennoch angezeigt.
In einem DOIF würde ich das eingrenzen über [Device:reading:d]. Hier funktioniert das aber nicht, und ich müsste jetzt im DOIF-Card ein entsprechend gefiltertes Userreadiing anlegen.

Geht das auch "einfacher", bzw. habe ich hier irgendwas übersehen ?

LG
LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Damian

Zitat von: Bartimaus am 06 Mai 2021, 15:02:52
Hallo,

wenn ich bei der neuen Funktion "card" ein Reading auslesen möchte, was nicht rein numerisch ist, z.B. "1 W", so bekomme ich im Log eine Fehlermeldung, aber der Wert wird dennoch angezeigt.
In einem DOIF würde ich das eingrenzen über [Device:reading:d]. Hier funktioniert das aber nicht, und ich müsste jetzt im DOIF-Card ein entsprechend gefiltertes Userreadiing anlegen.

Geht das auch "einfacher", bzw. habe ich hier irgendwas übersehen ?

LG

Es wird ohnehin schon nach Zahlen gefiltert, ich werde in der kommenden Version die Warnung ausbauen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

xenos1984

Noch eine Idee zur Datensammlung und Darstellung: könnte man für jeden Slot Minimum, Maximum und Mittelwert speichern und das als Hüllkurve darstellen?

Hier ist es mit verschiedenen Farben gemacht, aber man könnte z.B. alle 3 Kurven mit der bereits implementierten Farbgebung darstellen und den Bereich zwischen den Extremen schraffieren (vielleicht sogar als Verlauf zwischen Minimum-Farbe und Maximum-Farbe), statt wie bisher den Bereich bis zur Plot-Untergrenze.

Damian

Zitat von: xenos1984 am 07 Mai 2021, 08:06:28
Noch eine Idee zur Datensammlung und Darstellung: könnte man für jeden Slot Minimum, Maximum und Mittelwert speichern und das als Hüllkurve darstellen?

Hier ist es mit verschiedenen Farben gemacht, aber man könnte z.B. alle 3 Kurven mit der bereits implementierten Farbgebung darstellen und den Bereich zwischen den Extremen schraffieren (vielleicht sogar als Verlauf zwischen Minimum-Farbe und Maximum-Farbe), statt wie bisher den Bereich bis zur Plot-Untergrenze.

Klar, kann man alles machen, dann hat man aber fast drei mal so viel Daten im Speicher. Ich versuche aber genau das Gegenteil zu erreichen, um für die "Piktogramme" nicht zu viel Speicher pro Grafik zu verbrauchen. Zur Zeit ist die Darstellung rasend schnell und kommt ohne jegliche Fork-Experimente. Auch das Volumen des Diagramms ist kleiner als das der meisten SVG-Bildchen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

#99
Neue Version zum Ausprobieren.

Man kann jetzt beliebige Zeiträume angeben.

Syntax:

col<number><time>

mit <time>: d für days oder w für weeks

Die Skalierung auf der Zeitachse wird automatisch angepasst.

Wird <time> nicht angegeben, dann handelt es sich um Stunden - wie bisher

typische Beispiele

col1d, col2d, col3d, col4d, col5d, col6d

col1w, col2w, col3w usw.

auch col52w für ein Jahr ist z. B. möglich.

Mit "save" werden die gesammelten Daten in versteckten Readings (beginnend mit Punkt) im jeweiligen DOIF-Modul gespeichert und nach dem Booten wiederhergestellt.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

hankyzoolander

Hallo,
ist oder wär es möglich 2 Werte in der card anzuzeigen?
Habe in jedem Raum diese MobileAlerts Temperatur/Luftfeuchte Sensoren welche alle 7min messen.
Würde die gern (komplett) in jeweils einer card darstellen.
Das rechts der tempHumRing mit beiden Werten wäre, und in der selben Farbe der Werte das Diagramm.
Aktuell hab ich für jeden Sensor eine card für Temp und eine für die feuchte.
betateilchen  <--- my personal hero

Damian

Zitat von: hankyzoolander am 08 Mai 2021, 09:51:46
Hallo,
ist oder wär es möglich 2 Werte in der card anzuzeigen?
Habe in jedem Raum diese MobileAlerts Temperatur/Luftfeuchte Sensoren welche alle 7min messen.
Würde die gern (komplett) in jeweils einer card darstellen.
Das rechts der tempHumRing mit beiden Werten wäre, und in der selben Farbe der Werte das Diagramm.
Aktuell hab ich für jeden Sensor eine card für Temp und eine für die feuchte.

Das wird das nächste Vorhaben sein :)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

hankyzoolander

Hallo,
sehr geil  :D

Aber eine frage (Anliegen) hätt ich noch,
aktuell ist es doch so das im Dashboard nur das State(format) vom doif angezeigt wird.
Es wär echt der Knaller, wenn man das doif im Dashboard so anzeigen könnte wie in den normalen Räumen.
Ist da was zu machen?
Mit den card devstateicons bin ich noch nicht so einig. Da ich gerne die "normale" Ansicht der jeweiligen Geräte gerne behalten würde.
Somit, müsste ich mir für alle Geräte einen zwilling bauen mit der card als devStateIcon  :o
betateilchen  <--- my personal hero

Damian

Zitat von: hankyzoolander am 08 Mai 2021, 10:32:41
Hallo,
sehr geil  :D

Aber eine frage (Anliegen) hätt ich noch,
aktuell ist es doch so das im Dashboard nur das State(format) vom doif angezeigt wird.
Es wär echt der Knaller, wenn man das doif im Dashboard so anzeigen könnte wie in den normalen Räumen.
Ist da was zu machen?
Mit den card devstateicons bin ich noch nicht so einig. Da ich gerne die "normale" Ansicht der jeweiligen Geräte gerne behalten würde.
Somit, müsste ich mir für alle Geräte einen zwilling bauen mit der card als devStateIcon  :o

Dashboard ist nicht meine Baustelle, da habe ich keine Karten im Spiel. Die ganze uiTable in Status eines DOIFs zu packen hat nicht richtig funktioniert.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF