FHEM > DOIF

neue svg-Funktion: card

(1/48) > >>

Damian:
Wie bereits angekündigt, ist der Prototyp der neuen svg-Funktion fertiggestellt.

Mit folgender Definition wird das angehängte Layout erzeugt. Die Besonderheit ist ein neues Argument col<Anzahl Stunden> bei der Angabe des Readings. Dadurch werden Daten des Readings gesammelt und für die Erzeugung eines Plots zur Verfügung gestellt - es sind keine weiteren Definitionen erforderlich. Dabei wird besonders sparsam mit der Datensammlung umgegangen, es werden maximal 60 Werte (in Timeslots) gespeichert, unabhängig davon wie lange die Zeitspanne ist und wie oft die Daten ankommen.

Im Beispiel wird 12 Stunden gesammelt, ebenso können größere Zeitintervalle angegeben werden z. B. 24 Stunden


--- Code: ---defmod di_Wetter DOIF ##
attr di_Wetter uiTable {package ui_Table;;}\
##  card ($collect,$header,$icon,$min,$max,$minColor,$maxColor,$unit,$colorRef,$decfont,$size,$model,$lightness)\
\
card([Wetter:TemperaturC:col12],undef,"temp_outside",-10,30,undef,undef,"°C",\&temp_hue)|\
card([Wetter:Feuchtigkeit:col12],undef,"temperature_humidity",0,100,undef,undef,"%",\&hum_hue)|\
card([Wetter:WindKm:col12],undef,[Wetter:WindKm] > 0 ? "wind".",1,0,0,".[Wetter:WindrichtungGrad]:"no_wind",0,30,120,0,"km/h",undef,1)\
card([Wetter:RegenMm:col12],undef,"weather_rain_gauge",0,10,180,270,"mm/h")|\
card([Wetter:UV:col12],undef,"sani_solar",,0,7,200,0,"UV",undef,0)|\
card([Wetter:LuftdruckHpa:col12],undef,"weather_barometric_pressure",980,1047,undef,undef,"hPa",[(1008.5,0,1018.5,270,1047,190)],0,undef,'0,1,1,6',",40,45,45,,45")
--- Ende Code ---

Wenn ich meine Tests abgeschlossen habe, werde ich die neue Version hier zum Ausprobieren hochladen.

Vorschläge zum Design oder zu weiteren Infos der "Infokarte" können hier gemacht werden - noch ist nichts in Blei gegossen.

PS Es ist kein Ersatz für SVG-Plots, die Daten werden lediglich temporär im Modul gespeichert.

Edit: aktuelle Version wurde eingecheckt

aktuelle Doku siehe: https://wiki.fhem.de/wiki/DOIF/uiTable_Schnelleinstieg#Anzeige_eines_Werteverlaufs_und_des_aktuellen_Wertes_mit_Hilfe_der_SVG-Funktion_card

KernSani:
Nice. Hänge mich mal mit rein...

Damian:
Version 0.1

Syntax:


--- Code: ---card ($collected_reading,$title,$icon,$min,$max,$minColor,$maxColor,$unit,$func,$decfont,$model,$lightness)
--- Ende Code ---

Parameter entsprechen weitgehend den Parametern der bisherigen svg-Funktionen (siehe wiki)

Bsp:

--- Code: ---defmod di_collect DOIF ##
attr di_collect uiTable {package ui_Table;;}\
card([ESPEasy_Eingang_CO2:PPM:col24],"Schlafzimmer","air",400,1200,120,0,"ppm",undef,0)|\
card([Aussensensor:temperature:col24],"Außen","temp_outside",-10,45,undef,undef,"°C",\&temp_hue)
--- Ende Code ---

Geplant sind ebenfalls Plots im Ring siehe: https://forum.fhem.de/index.php/topic,118329.msg1143877.html#msg1143877
oder card2 für zwei Werte in einer Karte.

Edit: aktuelle Version im ersten Post

cwagner:
Das Bessere ist des Guten Feind: Und schon ist meine schöne Luftdruckstatistik mit den Cylinders "Gechichte".

Tolle Erweiterung des DOIF-Kosmos!

Eine Anregung: Wäre es denkbar, wenn ich $title und $icon "undef" setze, dass die leere Zeile dann ausgeblendet wird? Und was hältst Du davon, Maximum und Minimum durch Max und Min oder durch ▼ und ▲ abzukürzen und auf diese Weise daraus eine Zeile zu machen? Damit könnte man Höhe gewinnen.

Christian

Damian:
Jetzt etwas kompakter, siehe Version 0.2 im ersten Post.

Beispiele mit/ohne Titel, mit/ohne icon in Kombination:


--- Code: ---defmod di_collect DOIF ##
attr di_collect uiTable {package ui_Table;;}\
card([ESPEasy_Eingang_CO2:PPM:col1],"Schlafzimmer",undef,400,1200,120,0,"ppm",undef,0)|\
card([Aussensensor:temperature:col1],"Außen","temp_outside",-10,45,undef,undef,"°C",\&temp_hue)\
card([ESPEasy_Eingang_CO2:PPM:col1],undef,undef,400,1200,120,0,"ppm",undef,0)|\
card([Aussensensor:temperature:col1],undef,"temp_outside",-10,45,undef,undef,"°C",\&temp_hue)
--- Ende Code ---

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln