Hauptmenü

neue svg-Funktion: card

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

Vorheriges Thema - Nächstes Thema

Damian

#165
Zitat von: jkriegl am 25 Mai 2021, 13:43:28
Wenn schon Schule, wir haben zwei Extremwerte und würfeln welcher gewinnt.
Ist auch weniger als eine Stunde möglich?


Wir würfeln nicht, wir nehmen den letzten :)

Du kannst dir die neue Testversion nehmen und die Anzahl der Timeslots erhöhen, dann sinkt die Wahrscheinlichkeit, dass etwas verloren geht, ob du es im Diagramm sehen wirst, ist eine andere Frage.

Weniger als eine Stunde ist nicht vorgesehen.
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

jkriegl

#167
Habe col2 auf col1 geändert und sehe in list <device> von beiden Daten. Wie kann man die überflüssigen (alten) löschen?
collect:
     shelly_s power:
       1:
         avg        11.96
         dim        72
         hours      1
         max_value  22.68
         max_value_slot 48
         max_value_time 1622211145
         min_value  1.24
         min_value_slot 9
         min_value_time 1622209195
         time       1622212270
         value      1.29
         times:
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           1622209195
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           1622209897
           1622209915
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           1622211145
           1622211165
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           1622212230
           1622212270
         values:
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           1.24
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           21.70
           1.36
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           22.68
           1.58
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           17.53
           1.29
       2:
         avg        11.415
         dim        72
         hours      2
         last_value 1.79
         max_value  21.70
         max_value_slot 47
         max_value_time 1622209897
         min_value  1.13
         min_value_slot 1
         min_value_time 1622205261
         time       1622212270
         value      1.29
         times:
           undef
           1622205261
           undef
           undef
           undef
           undef
           undef
           1622205897
           1622205937
           undef
           undef
           undef
           undef
           undef
           1622206594
           1622206629
           undef
           undef
           undef
           undef
           undef
           1622207295
           1622207337
           1622207499
           1622207596
           1622207694
           1622207797
           1622207886
           1622207988
           1622208091
           1622208175
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           1622209897
           1622209915
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           1622211165
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           1622212270
         values:
           undef
           1.13
           undef
           undef
           undef
           undef
           undef
           14.82
           1.73
           undef
           undef
           undef
           undef
           undef
           17.34
           1.48
           undef
           undef
           undef
           undef
           undef
           14.95
           1.47
           9.61
           10.26
           1.39
           9.47
           9.36
           2.00
           1.55
           1.41
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           21.70
           1.36
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           1.58
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           1.29
   condition:


Edit: deletereading <device> \..* - hilft nicht.
VERSION    24519 2021-05-27 17:06:34
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Damian

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

Romoker

Hallo Damian,

danke für Dein tolles Modul.
Ich habe da noch eine Anregung. Durch Aussetzer meiner Wetterstation identifiziert das FHEM-Modul 10_WS980.pm einen Fehler und liefert für bestimmte Wetterwerte "n/a" zurück. In der Folgeverarbeitung visualisiere ich die Wetterdaten mit DOIF-SVG-Diagrammen. Perl interpretiert nicht numerische Werte wie "n/a" aber als 0. Das führt dann zu lückenhaften Darstellungen, wie im Anhang zu sehen ist.
Da vermutlich nur numerische Werte in den DOIF-SVG-Funktionen dargestellt werden, ist mein Vorschlag nicht-numerische Werte auszusteuern bzw. zu ignorieren.
Was hältst Du davon?

Viele Grüße
BeagleBoneBlack & Raspberry Pi 4; FB7490; div. Homematic Komponenten; CUL433: CUL_TX, Conbee II, SOMFY, 1-Wire, Z-Wave, Zigbee, SmartPlugs von Sonoff und Shelly mit MQTT

Damian

Ich habe jetzt eingebaut, dass Werte, die sich nicht als Zahl filtern lassen, nicht gesammelt werden.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Romoker

Kaum habe ich einen Wunsch geäußert, ist er 90 Minuten später von Dir schon umgesetzt. Besser geht es nicht!
Danke Damian.

Viele Grüße
BeagleBoneBlack & Raspberry Pi 4; FB7490; div. Homematic Komponenten; CUL433: CUL_TX, Conbee II, SOMFY, 1-Wire, Z-Wave, Zigbee, SmartPlugs von Sonoff und Shelly mit MQTT

sash.sc

Hallo Damian.

Schon einen Zeitplan, wann es möglich sein wird, eine 2. Kurve mit im card einzubauen ?

Gruß
Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Damian

Es ist der aufwändigste Punkt meiner todo-Liste. Die Sensoren sollen als Liste übergeben werden können, dazu muss ich aber noch den Parser umbauen, weil er zur Zeit die Syntax nicht erkennt. Mal schauen vielleicht bis zum Wochenende.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

sash.sc

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

kumue

#175
Zitat von: Damian am 25 Mai 2021, 09:55:08
Testversion im Anhang.

Der Parameter $prop wurde erweitert:

$size,$plot,$steps,$noFooter,$noColor,$hring,$bwidth

Beispiel:

defmod di_cardnew DOIF {}
attr di_cardnew uiTable {package ui_Table;;\
##$TABLE='text-align:center';;\
}\
"Standard"|card([Aussensensor:temperature:col],undef,"temp_outside",-10,30,undef,undef,"°C",\&temp_hue,"1","130")\
"mit Halbring"|card([Aussensensor:temperature:col],"Außen","temp_outside",-10,30,undef,undef,"°C",\&temp_hue,"1","130,,,,,1")\
"mir Halbring,Breite 110"|card([Aussensensor:temperature:col],"Außen","temp_outside",-10,30,undef,undef,"°C",\&temp_hue,"1","130,,,1,,1,110")\
"Breite 200"|card([Aussensensor:temperature:col],"Außen","temp_outside",-10,30,undef,undef,"°C",\&temp_hue,"1","130,,,,,,200")\


Ich mach meine ersten Versuche mit der card-Funktion und habe das Beispiel kopiert.
Wie bekomme ich es hin, daß meine Darstellung auch so in Grün gehalten ist wie in dem Screenshot des Beitrages #159 ?
Bei mir sind zB die Achsfarben von grün bis rot, die Line mehr gelb...
###############################################################
UPDATE: Heute morgen sieht es so aus wie erhofft....

Damian

Zitat von: kumue am 01 Juni 2021, 23:51:42
Ich mach meine ersten Versuche mit der card-Funktion und habe das Beispiel kopiert.
Wie bekomme ich es hin, daß meine Darstellung auch so in Grün gehalten ist wie in dem Screenshot des Beitrages #159 ?
Bei mir sind zB die Achsfarben von grün bis rot, die Line mehr gelb...
###############################################################
UPDATE: Heute morgen sieht es so aus wie erhofft....

Die Farbe orientiert sich am Wert, wie beim Ring.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

Ein kleiner Vorgeschmack, siehe Anhang
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

sash.sc

sehr cool.
freue mich schon.

das pünktchen auf i wäre, wenn man in der card funktion, die daten aus nem log holen kann. ;-)

gruß
sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Damian

#179
Neue Version zum Ausprobieren.

card wurde um optionale Parameter für einen zweiten Wert erweitert.

Syntax:

card ($col,$header,$icon,$min,$max,$minColor,$maxColor,$unit,$func,$decfont,$prop,$model,$lightness,$collect2,$min2,$max2,$minColor2,$maxColor2,$unit2,$func2,$decfont2)

Die Standardbreite wurde von 160 auf 180 erweitert, damit es bei allen card-Funktionen einheitlich ist.

col-Zeitangabe muss logischerweise bei beiden Werten gleich sein.

Beispieldefinition:

defmod di_cards DOIF {}
attr di_cards uiTable {package ui_Table;;\
}\
"Standard"|card([Aussensensor:temperature:col],"Außen","temp_outside",-10,60,undef,undef,"°C",\&temp_hue,"1","130,,,,",undef,undef,[outsensor:humidity:col],0,100,undef,undef,"%",\&hum_hue,"0")\
"ohne Header"|card([Aussensensor:temperature:col],undef,"temp_outside",-10,60,undef,undef,"°C",\&temp_hue,"1","130,,,,",undef,undef,[outsensor:humidity:col],0,100,undef,undef,"%",\&hum_hue,"0")\
"ohne Header","ohne Fußzeile"|card([Aussensensor:temperature:col],undef,"temp_outside",-10,60,undef,undef,"°C",\&temp_hue,"1","130,,,1,",undef,undef,[outsensor:humidity:col],0,100,undef,undef,"%",\&hum_hue,"0")\
"Als Halbring"|card([Aussensensor:temperature:col],"Außen","temp_outside",-10,60,undef,undef,"°C",\&temp_hue,"1","130,,,,,1",undef,undef,[outsensor:humidity:col],0,100,undef,undef,"%",\&hum_hue,"0")\
"ohne Fußzeile"|card([Aussensensor:temperature:col],"Außen","temp_outside",-10,60,undef,undef,"°C",\&temp_hue,"1","130,,,1,,1",undef,undef,[outsensor:humidity:col],0,100,undef,undef,"%",\&hum_hue,"0")

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