Autor Thema: neue svg-Funktion: card  (Gelesen 42955 mal)

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9964
Antw:neue svg-Funktion: card
« Antwort #300 am: 21 September 2022, 23:06:29 »
Stell mal die Sprache im Device global im Attribut language auf de, dann passt das.
Das ist kein Spiegeln, sondern die Beschriftung der Zeile.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Offline schwatter

  • Sr. Member
  • ****
  • Beiträge: 628
Antw:neue svg-Funktion: card
« Antwort #301 am: 21 September 2022, 23:26:54 »
Mh, "de" habe ich gesetzt, aber der Text ist noch auf Englisch. Klemmt wohl noch an einer anderen Stelle.
Ok, aber die Beschriftung möchte ich nicht. In deinem Beispiel ist die Zeile auch nicht beschriftet. Das ist dein Original

card([zaehler:l-Produktion:col12],undef,[zaehler:l-Produktion] > 0 ? "sani_solar\@colorVal1":"fa_bolt\@colorVal2",0,3.6,30,60,"PV kW",undef,"1,,font-size:50%")|\
Da ist die Zeile unten links nicht beschriftet.

Gruß schwatter

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9964
Antw:neue svg-Funktion: card
« Antwort #302 am: 22 September 2022, 08:09:25 »
Mh, "de" habe ich gesetzt, aber der Text ist noch auf Englisch. Klemmt wohl noch an einer anderen Stelle.
Ok, aber die Beschriftung möchte ich nicht. In deinem Beispiel ist die Zeile auch nicht beschriftet. Das ist dein Original

card([zaehler:l-Produktion:col12],undef,[zaehler:l-Produktion] > 0 ? "sani_solar\@colorVal1":"fa_bolt\@colorVal2",0,3.6,30,60,"PV kW",undef,"1,,font-size:50%")|\
Da ist die Zeile unten links nicht beschriftet.

Gruß schwatter

Die Beschriftung kann man nicht abschalten, im Wiki ist noch die alte Version. Die Beschriftung ist wichtig, da man inzwischen auch Diagramme ohne Ring erstellen kann, dann wüsste man nicht, um was es sich handelt, vor allem, wenn man zwei Readings darstellt.
« Letzte Änderung: 22 September 2022, 08:11:22 von Damian »
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF
Informativ Informativ x 1 Liste anzeigen

Offline schwatter

  • Sr. Member
  • ****
  • Beiträge: 628
Antw:neue svg-Funktion: card
« Antwort #303 am: 22 September 2022, 21:18:04 »
Nabend,

ich habe die Sprache in global auf "DE". Kleingeschrieben wäre bei mir falsch.
Jedenfalls funktioniert es noch nicht bei mir.

Was ich zu global und Sprache finde ist, das dies nur für die commandref funktioniert und bis jetzt nicht weiter verfolgt wurde.
https://forum.fhem.de/index.php/topic,110274.15.html

Oder liest dein Modul einfach das gesetzte Attribute aus?

Gruß schwatter

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9964
Antw:neue svg-Funktion: card
« Antwort #304 am: 25 September 2022, 10:44:31 »
Du musst vor allem die Spracheinstellung des Systems auf DE vornehmen:

https://www.google.com/search?q=raspberry+pi+sprache+einstellen
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Offline jkriegl

  • Full Member
  • ***
  • Beiträge: 346
Antw:neue svg-Funktion: card
« Antwort #305 am: 25 September 2022, 13:52:25 »
Habe seit dem letzten update einen kleinen Schöheitsfeher bei cylinder. Die Werte (62, 51, 45)  s. beigefügtes png, waren davor verteilt. 
cylinder(undef,30,85,"",75,80,undef,0,[HK.SOL:P.Temp],"0.70.70","",[HK.SOL:P.Temp_m],40,"",[HK.SOL:P.Temp_u],200,"")
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Offline schwatter

  • Sr. Member
  • ****
  • Beiträge: 628
Antw:neue svg-Funktion: card
« Antwort #306 am: 25 September 2022, 15:48:32 »
@Damian

Ok, Systemweit hat geholfen. Danke.
Noch eine Frage zur Card. Gibt es ein Autoresize für Card?
Gesetzt hab ich es so:
card([PV_Deye1600_01:Power:col12],undef,[PV_Deye1600_01:Power] > 0 ? "sani_solar\@colorVal1":"fa_bolt\@colorVal2",0,1200,0,120,"Pv W",undef,"1,font-size:50%"," 130,,,,,,262")
Toll wäre es so:
card([PV_Deye1600_01:Power:col12],undef,[PV_Deye1600_01:Power] > 0 ? "sani_solar\@colorVal1":"fa_bolt\@colorVal2",0,1200,0,120,"Pv W",undef,"1,font-size:50%"," 130,,,,,,[color=red]auto[/color]")
Wegen verschiedener Devices (Handy,Tablet,Pc,...)


Gruß schwatter

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9964
Antw:neue svg-Funktion: card
« Antwort #307 am: 25 September 2022, 16:59:09 »
@Damian

Ok, Systemweit hat geholfen. Danke.
Noch eine Frage zur Card. Gibt es ein Autoresize für Card?
Gesetzt hab ich es so:
card([PV_Deye1600_01:Power:col12],undef,[PV_Deye1600_01:Power] > 0 ? "sani_solar\@colorVal1":"fa_bolt\@colorVal2",0,1200,0,120,"Pv W",undef,"1,font-size:50%"," 130,,,,,,262")
Toll wäre es so:
card([PV_Deye1600_01:Power:col12],undef,[PV_Deye1600_01:Power] > 0 ? "sani_solar\@colorVal1":"fa_bolt\@colorVal2",0,1200,0,120,"Pv W",undef,"1,font-size:50%"," 130,,,,,,[color=red]auto[/color]")
Wegen verschiedener Devices (Handy,Tablet,Pc,...)


Gruß schwatter

Für alle Cards gelten die gleichen Default-Werte - das ist beabsichtigt, damit das Erscheinungsbild bei mehreren Cards einheitlich bleibt. Eine Auto-Funktion würde dazu führen, dass die Skalierungen (Schriftgröße, Höhe, Breite, usw.) unterschiedliche wären.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF
Informativ Informativ x 1 Liste anzeigen

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9964
Antw:neue svg-Funktion: card
« Antwort #308 am: 25 September 2022, 18:30:27 »
Habe seit dem letzten update einen kleinen Schöheitsfeher bei cylinder. Die Werte (62, 51, 45)  s. beigefügtes png, waren davor verteilt. 
cylinder(undef,30,85,"",75,80,undef,0,[HK.SOL:P.Temp],"0.70.70","",[HK.SOL:P.Temp_m],40,"",[HK.SOL:P.Temp_u],200,"")

Problem behoben. Neue Version eingecheckt.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Offline jkriegl

  • Full Member
  • ***
  • Beiträge: 346
Antw:neue svg-Funktion: card
« Antwort #309 am: 15 Oktober 2022, 13:37:22 »
Eher ein Wunsch: mit Telegram "set myTelegramBot cmdSend { plotAsPng('SVG_FileLog_Solar') }"
versende ich SVG-Plot SVG_FileLogs.
Gibt es eine Möglichkeit SVG-cards zu verschicken?
Alternativ: ein Bild verschicken
https://wiki.fhem.de/wiki/TelegramBot
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Online Adimarantis

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 805
Antw:neue svg-Funktion: card
« Antwort #310 am: 15 Oktober 2022, 13:54:28 »
Mit Signalbot geht das:
set Signalbot send @Empfänger &DI_deviceDetails: https://wiki.fhem.de/wiki/Signalbot#Details_zum_Versenden_von_Plots

Ist aber zugegeben ein bisschen "hacky" und verwendet Internas von DOIF.
Das könnte der Autor von TelegramBot grundsätzlich aber auch übernehmen.

Eine offizielle API von DOIF wäre natürlich noch schöner.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9964
Antw:neue svg-Funktion: card
« Antwort #311 am: 28 Oktober 2022, 22:21:04 »
Falls man im Status eines Devices eine Card visualisiert haben möchte, dann kann man wie folgt vorgehen.

Man definiert ein DOIF welches die Daten von einem bestimmten Device sammelt. Im ursprünglichen Device werden diese Daten dann über devStateIcon visualisieren.

Dieses DOIF kann auch von mehreren anderen Devices Daten sammeln, die man wo anders visualisieren will.

Beispiel:

Das Device MQTT2_DVES_D90D08 empfängt Co2 Daten, dessen Status wird gar nicht belegt, daher erscheinen dort nur drei Fragezeichen. Im Reading MHZ19B_CarbonDioxide von MQTT2_DVES_D90D08 werden die co2 Werte geliefert.

Zuerst definiert man sich ein DOIF mit dem Attribut event_Readings zum Sammeln der Daten des Readings:

defmod di_collect DOIF ##
attr di_collect event_Readings co2:[MQTT2_DVES_D90D08:MHZ19B_CarbonDioxide:col3d]

dann definiert man im eigentlichen Device ein devStateIcon mit dem Card-Aufruf auf das definierte Reading co2 des DOIFs:

attr MQTT2_DVES_D90D08 devStateIcon {ui_Table::card(ReadingsVal("di_collect","co2",0),undef,"air\@silver",400,1200,120,0,"ppm",[(600,120,1000,60,1200,0)],"0,,fill:silver","130,,1,0,1",'0,,1')}
Und schon wird im Status des MQTT-Devices statt Fragezeichen die card-Grafik dargestellt und diese wird sogar beim Event automatisch aktualisiert.


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF
Gefällt mir Gefällt mir x 1 Zustimmung Zustimmung x 1 Informativ Informativ x 1 Liste anzeigen

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9964
Antw:neue svg-Funktion: card
« Antwort #312 am: 02 November 2022, 20:47:58 »
Neue Features

Man wird in der kommenden Version Readings angeben können, deren Daten nicht gesammelt werden sollen und damit auch nicht geplottet. Im Anhang ist ein Beispiel, wo die aktuelle PV-Leistung sowie und Einspeise/Bezugsleistung im Plot erscheint. Die Gesamtenergie (PV/Bezug/Einspeisung) wird dagegen nur angezeigt, erscheint jedoch nicht im Plot selbst.

« Letzte Änderung: 02 November 2022, 21:35:02 von Damian »
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9964
Antw:neue svg-Funktion: card
« Antwort #313 am: 02 November 2022, 21:05:52 »
Und hier mal ein Beispiel, wo zwei Readings angegeben wurden. PV-Leistung wird geplottet, PV-Energie dagegen nicht, beide Readingwerte werden im Ring angezeigt.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF
Informativ Informativ x 1 Liste anzeigen

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9964
Antw:neue svg-Funktion: card
« Antwort #314 am: 03 November 2022, 19:30:11 »
Neue Version wurde eingecheckt.

Neuerung: Der Parameter collect2 kann jetzt, wie der Parameter collect, auch ein Array mit Readings sein. Wird die Collector-Angabe col nicht angegeben, so werden die Daten des Readings nicht gesammelt und nicht geplottet, sondern nur im Ring angezeigt (die erste Readingangabe des ersten collect-Arrays muss col beinhalten). Ein Icon in der Kopfzeile wird jetzt immer links angezeigt.

Hier die Definition der beiden zuletzt geposteten Diagramme:

card([[MQTT2_DVES_C58DCB:power_pv:144col1d],[MQTT2_DVES_C58DCB:power_fc:144col1d]],undef,"fa_bolt\@silver",-3.6,3.6,0,90,["PV","Netz"],[(-1,0,-0.01,30,1,60,3.6,90)],"2,,fill:silver","130,,1,0,1","1,,1,0,1",undef, [[di_counter_new:MQTT2_DVES_C58DCB.total_pv.day],[di_counter_new:MQTT2_DVES_C58DCB.total_c.day],[di_counter_new:MQTT2_DVES_C58DCB.total_f.day]],-25,25,0,90,["PV","Bezug","Einsp."],[(-10,0,-0.01,30,10,60,25,90)],"3,,fill:silver")|
card([MQTT2_DVES_C58DCB:power_pv:144col1d],"","fa_bolt\@silver",-3.6,3.6,0,90,"kW",undef,"2,,fill:silver","130,,1,0,1","1,,1,0,2",undef, [di_counter_new:MQTT2_DVES_C58DCB.total_pv.day],-25,25,0,90,"kWh",undef,"2,,fill:silver")

Die Doku wurde angepasst: https://wiki.fhem.de/wiki/DOIF/uiTable_Schnelleinstieg#Anzeige_eines_Werteverlaufs_und_des_aktuellen_Wertes_mit_Hilfe_der_SVG-Funktion_card

Verständnisfragen können hier gestellt werden.
« Letzte Änderung: 03 November 2022, 19:37:10 von Damian »
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

 

decade-submarginal