Hauptmenü

neue svg-Funktion: card

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

Vorheriges Thema - Nächstes Thema

Damian

Zitat von: Tobias am 28 März 2023, 09:46:47Hi Damian,

eine neue Frage: die in einer Card, die Bars, möchte ich ich dynamisch nach oben, aber fix bei 0 setzen.
In der Card definition, bei den Properties -> # <y-scaling>: "fixedscaling" (1), "autoscaling" (undef)

Setze ich autoscaling, ist für den kleinesten Wert keine Bar zu sehen weil der unterste Wert der kleinste Wert ist.
Setze ich fixedscaling, fängt zwar die y-Achse bei 0 an, aber der obere Wert ist auch fix.

siehe fotos. Was ich gerne möchte ist, das die y-achse bei 0 anfängt, aber bei oben im autoscaling arbeitet. Geht das irgendwie?

z. Zt. geht das nicht. Du musst fixedscaling nehmen, beim Überschreiten der Obergrenze wird die Obergrenze automatisch angepasst.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Tobias

Zitat von: Damian am 28 März 2023, 11:10:26z. Zt. geht das nicht. Du musst fixedscaling nehmen, beim Überschreiten der Obergrenze wird die Obergrenze automatisch angepasst.


Das geht, perfekt.

Und, sorry, weitere frage:
Im Wiki habe ich die wunderschöne Grafik mit den Halbringen im oberen Bereich gesehen. Ich würde die gerne fast 1:1 übernehmen aber ich bekomme es nicht hin nur einen Ring (nur PV anstatt wie im Beispiel PV und Netz) mit einem Wert plus die 3 Halbringe im oberen Bereich zu erstellen.

Geht das aktuell nicht oder stell ich mich gerade nur dämlich an?

https://wiki.fhem.de/w/images/thumb/2/2e/Di_card_energie2.png/300px-Di_card_energie2.png

Hintergrund, ich möchte in einer Card den aktuellen PV Tagesverlauf haben, im Ring den aktuellen Erzeugungswert in KW und in den 3 Halbringen oberhalb den aktuellen Tages/Monats- und Jahreswert.
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Damian

Zitat von: Tobias am 28 März 2023, 11:55:51
Zitat von: Damian am 28 März 2023, 11:10:26z. Zt. geht das nicht. Du musst fixedscaling nehmen, beim Überschreiten der Obergrenze wird die Obergrenze automatisch angepasst.


Das geht, perfekt.

Und, sorry, weitere frage:
Im Wiki habe ich die wunderschöne Grafik mit den Halbringen im oberen Bereich gesehen. Ich würde die gerne fast 1:1 übernehmen aber ich bekomme es nicht hin nur einen Ring (nur PV anstatt wie im Beispiel PV und Netz) mit einem Wert plus die 3 Halbringe im oberen Bereich zu erstellen.

Geht das aktuell nicht oder stell ich mich gerade nur dämlich an?

https://wiki.fhem.de/w/images/thumb/2/2e/Di_card_energie2.png/300px-Di_card_energie2.png

Hintergrund, ich möchte in einer Card den aktuellen PV Tagesverlauf haben, im Ring den aktuellen Erzeugungswert in KW und in den 3 Halbringen oberhalb den aktuellen Tages/Monats- und Jahreswert.


z. Zt. gibt es noch nicht so viel Flexibilität, es landen immer die ersten zwei Werte im zentralen Ring, alle weiteren kommen in die Halbringe. In der Zukunft wird man beliebige SVG-Funktionen in der Kopfzeile angeben können.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Tobias

Hi,a
ich habe das merkwürdige Problem das mein TagesChart (Chart nummer 2 von links) währes des Tages schön sauber mit hochzählt (Attribut +.day) und dann bei der TagesRückstellung um 00:01 den hochgezählten Vortag wieder auf 0 zurücksetzen.

Lese ich mittels der Funktion die Logdaten via get_data (-> last_day) ein, werden Charts sauber aufgebaut (und bleiben).
Als Workarround müsste ich also immer um 00:01 mittels get_data die Charts neu aufbauen, aber so schön ist das nicht....

Ich könnte natürlich die Tagescharts auch gleich auf last_day setzen, allerdings wird dann im Tagesverlauf nicht mit hochgezählt :(

Für den Monats- und Jahreschart gilt dasselbe.

Hast du eine kluge Idee wie ich das anstellen kann das der zähler wärend des Tages sauber mit hochläuft und dann bei Rückstellung auch bleibt?

die Definition, der DOIF_counter ist als eigenes Device, von hier übernommmen (https://wiki.fhem.de/wiki/DOIF/Automatisierung#Tages-.2C_Monats-_und_Jahresstatistik_f.C3.BCr_Strom-.2C_Gas-.2C_Wasserz.C3.A4hler_und_andere_Z.C3.A4hler):

subs {

  push (@{$_counter},["PM_Solardach","Consumption"]);           # Solarenergie
}

get_data {                             # Optionale Übernahme bestehender Daten aus dem Log
  for (my $i=0;$i<@{$_counter};$i++) {
    ::DOIF_set_card_data ("$SELF","DOIF_counter","$_counter[$i][0].$_counter[$i][1].day","bar1month",-300,fhem("get log.counter.$_counter[$i][0].$_counter[$i][1] ./log/counter.$_counter[$i][0].$_counter[$i][1].log - 2000 3000 4:last_day"));
    ::DOIF_set_card_data ("$SELF","DOIF_counter","$_counter[$i][0].$_counter[$i][1].month","bar2year",-300,fhem("get log.counter.$_counter[$i][0].$_counter[$i][1] ./log/counter.$_counter[$i][0].$_counter[$i][1].log - 2000 3000 4:last_month"));
    ::DOIF_set_card_data ("$SELF","DOIF_counter","$_counter[$i][0].$_counter[$i][1].year","bar2decade",-300,fhem("get log.counter.$_counter[$i][0].$_counter[$i][1] ./log/counter.$_counter[$i][0].$_counter[$i][1].log - 2000 3000 4:last_year"));
  }
  }
}

Das Attribut UiTable:
{package ui_Table;
}
 
card([[PM_Solardach:power:col:$_ >= 0 ? $_ / 1000 : 0],[SEN_EM_Elektro:000_EM_All_usage:col:$_ >= 0 ? $_ / 1000 : 0]],"Energie",[PM_Solardach:power]>0?"sani_solar\@colorVal1":"fa_bolt\@colorVal2",0,6,0,120,["PV","Netz"],undef,"2","130,,,,1,,210","0,0,0,0",undef,
     [[DOIF_counter:PM_Solardach.Consumption.day],[DOIF_counter:PM_Solardach.Consumption.month],[DOIF_counter:PM_Solardach.Consumption.year]],0,0,0,120,["Day","Month","Year"],[(-10,0,-0.01,30,10,60,25,90)],"1,,fill:silver") |
card([DOIF_counter:PM_Solardach.Consumption.day:bar1month-300],"Solarenergie in kWh pro Tag","solar_icon",0,30,0,120,"kwh",undef,"0","130,,0,,1,,200","0,0,0,0") |
card([DOIF_counter:PM_Solardach.Consumption.month:bar2year-300],"Solarenergie in kWh pro Monat","solar_icon",0,600,0,120,"kwh",undef,"0","130,fixedscaling,,,1,,200","0,0,0,0") |
card([DOIF_counter:PM_Solardach.Consumption.year:bar2decade-300],"Solarenergie in kWh pro Jahr","solar_icon",0,3000,0,120,"kwh",undef,"0","130,fixedscaling,,,1,,200","gradient,nominmaxvalue,noinnerring,nopointer,minmax")

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Damian

Du musst das last_day, last_month und last_year-Reading visualisieren und nicht day, month und year.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Tobias

Hi Damian,

aber verstehe ich es dann nicht so dass den ganzen Tag nichts passiert und erst zu Mitternacht der Balken gesetzt wird?

Analog der Monatsbalken erst am 31. und vorher nichts?
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Damian

Zitat von: Tobias am 02 April 2023, 14:01:09Hi Damian,

aber verstehe ich es dann nicht so dass den ganzen Tag nichts passiert und erst zu Mitternacht der Balken gesetzt wird?

Analog der Monatsbalken erst am 31. und vorher nichts?

Ja. So ist es bei last...-Readings gelöst. Die Werte werden erst am Ende des Tages gesetzt. Um genau zu sein:

Day muss irgendwann am Ende des Tages zurückgesetzt werden und zuvor in last_day gesichert werden. Ich mache das in der Definition eine Minute nach Mitternacht. Das hat den Vorteil, dass ich einfach erkennen kann, wann eine Periode (Tag, Monat, Jahr) zu ende ist und eine neue anfängt.

Damit last_day aber in der richtigen Periode landet, wird es mit -300 definiert (z. B. [...bar2month-300]), damit es 5 Minuten in die Vergangenheit gespeichert wird. day wird dagegen ohne Zeitverschiebung gespeichert. Es wird im ersten Diagramm dargestellt. Dort kann man, im Gegensatz zu last_day, die bisherige verbrauchte Menge des Tages erkennen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

hajo23

Hallo Damian,
nach einem Update bekomme ich bei meinen forecast cards den Fehler:
wrong definition at collect2 parameter: 0
list zeigt:
Internals:
   CFGFN      /opt/fhem/FHEM/wetter.cfg
   DEF        ## {[Wetter]}
subs {
  sub get_date { ## create timestanp
    my ($wd)=@_;
    my %mon = ('Jan' => 1,'Feb' => 2,'Mär' => 3,'Apr' => 4,'Mai' => 5,'Jun' => 6,'Jul' => 7,'Aug' => 8,'Sep' => 9,'Okt' => 10,'Nov' => 11,'Dez' => 12);
    my @datum = split(" ", $wd);
    my $ts = sprintf("%4d", $datum[3]).sprintf("-%02d", $mon{$datum[2]}).sprintf("-%02d", $datum[1])."_$datum[4]";
    return $ts;
  }
  sub get_day {
  my ($wd)=@_;
    my %mon = ('Jan' => 1,'Feb' => 2,'Mär' => 3,'Apr' => 4,'Mai' => 5,'Jun' => 6,'Jul' => 7,'Aug' => 8,'Sep' => 9,'Okt' => 10,'Nov' => 11,'Dez' => 12);
    my @datum = split(" ", $wd);
    my $ts = sprintf("%4d", $datum[3]).sprintf("-%02d", $mon{$datum[2]}).sprintf("-%02d", $datum[1])."_";
    return $ts;
  }
}

get_data { [Wetter];                            ## Übernahme der forecast-Daten aus dem Wettermodul
  my ($hash) = @_;
  my $temp;
  my $rain;
 
  for (my $i=1; $i<49; $i++) {
    my $ts = get_date(ReadingsVal("Wetter", "hfc".$i."_pubDate",""));
my $rain_snow = ReadingsVal("Wetter", "hfc".$i."_rain1h", 0) + ReadingsVal("Wetter", "hfc".$i."_snow1h", 0);
$temp .= $ts." ".ReadingsVal("Wetter", "hfc".$i."_temp_c", 0).",";
$rain .= $ts." $rain_snow,";
  }
 
  for (my $i=3; $i<9; $i++) {
my $day_rain = get_date(ReadingsVal("Wetter", "fc".$i."_pubDate",""));
my $day_part = get_day(ReadingsVal("Wetter", "fc".$i."_pubDate",""));
my $day_eve = $day_part."18:30";
my $day_nig = $day_part."22:30";
my $day_mor = $day_part."08:30";
my $day_mid = $day_part."14:30";
my $rain_snow = ReadingsVal("Wetter", "fc".$i."_rain", 0) + ReadingsVal("Wetter", "fc".$i."_snow", 0);
$temp .= $day_mor." ".ReadingsVal("Wetter", "fc".$i."_temperature_morn", 0).",".$day_mid." ".ReadingsVal("Wetter", "fc".$i."_temperature", 0).",";
$temp .= $day_eve." ".ReadingsVal("Wetter", "fc".$i."_temperature_eve", 0).",".$day_nig." ".ReadingsVal("Wetter", "fc".$i."_temperature_night", 0).",";
## $rain .= $day_rain." ".ReadingsVal("Wetter", "fc".$i."_rain", 0).",";
$rain .= "$day_rain $rain_snow,";
  }
 
  chop($temp);
  chop($rain);
 
  Log3($hash, 3, "Temperatur: $temp Regen: $rain");
 
  ::DOIF_set_card_data ("$SELF","$SELF","temp_h","col7d",-604800,$temp);
  ::DOIF_set_card_data ("$SELF","$SELF","rain_h","col7d",-604800,$rain);
}
   FUUID      640b44cf-f33f-36b2-bf03-cd67e562b7672699
   MODEL      Perl
   NAME       di_Wetter_h
   NOTIFYDEV  di_Wetter_h,global,Wetter
   NR         853
   NTFY_ORDER 50-di_Wetter_h
   STATE      initialized
   TYPE       DOIF
   VERSION    27367 2023-03-27 21:37:33
   eventCount 2
   DOIF_Readings:
     rain_h     ::ReadingValDoIf($hash,'di_Wetter_h','rain_h','','col7d')
     temp_h     ::ReadingValDoIf($hash,'di_Wetter_h','temp_h','','col7d')
   READINGS:
     2023-04-03 15:10:18   mode            enabled
     2023-04-03 14:57:01   rain_h          HASH(0x5912a78)
     2023-04-03 15:10:18   state           initialized
     2023-04-03 14:57:01   temp_h          HASH(0x5925aa8)
   Regex:
     DOIF_Readings:
       di_Wetter_h:
         rain_h:
           rain_h     ^di_Wetter_h$:^rain_h:
         temp_h:
           temp_h     ^di_Wetter_h$:^temp_h:
     accu:
     bar:
     barAvg:
     collect:
       di_Wetter_h:
         collect:
           rain_h     ^di_Wetter_h$:^rain_h:
           temp_h     ^di_Wetter_h$:^temp_h:
     cond:
       Wetter:
         0:
           &STATE     ^Wetter$
     uiTable:
       di_Wetter_h:
         di_Wetter_h_uiTable_c_0_0_0_0:
           temp_h     ^di_Wetter_h$:^temp_h:
         di_Wetter_h_uiTable_c_0_1_0_0:
           rain_h     ^di_Wetter_h$:^rain_h:
   card:
   collect:
     di_Wetter_h rain_h:
       168:
         animate    0
         dim        72
         hours      168
         last_slot  200062
         last_v     0
         max_value  2.4
         max_value_slot 50
         max_value_time 1680346800
         min_value  0
         min_value_slot 71
         min_value_time 1680527368
         name       di_Wetter_h
         reading    rain_h
         time       1680529082
         type       col
         value      0
         times:
           1679929200
           1679932800
           1679943600
           1679950800
           1679958000
           1679968800
           1679976000
           1679983200
           1679994000
           1680001200
           1680008400
           1680019200
           1680026400
           1680033600
           1680044400
           1680051600
           1680058800
           1680069600
           1680076800
           1680084000
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           1680174000
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           1680260400
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           1680346800
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           1680433200
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           1680519600
           1680527368
         values:
           0
           0
           0
           0
           0
           0
           0
           0
           0
           0
           0
           0
           0
           0
           0
           0
           0
           0
           0
           0
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           0
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           0
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           2.4
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           0.17
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           0
           0
     di_Wetter_h temp_h:
       168:
         animate    0
         dim        72
         hours      168
         last_slot  200062
         last_v     2
         max_value  13
         max_value_slot 40
         max_value_time 1680265800
         min_value  -1
         min_value_slot 16
         min_value_time 1680058800
         name       di_Wetter_h
         reading    temp_h
         time       1680529082
         type       col
         value      0
         times:
           1679929200
           1679940000
           1679947200
           1679950800
           1679958000
           1679968800
           1679976000
           1679990400
           1679997600
           1680004800
           1680008400
           1680022800
           1680030000
           1680037200
           1680044400
           1680051600
           1680058800
           1680073200
           1680080400
           1680087600
           1680093000
           1680107400
           undef
           1680121800
           undef
           undef
           undef
           1680157800
           undef
           undef
           1680179400
           undef
           1680193800
           1680208200
           undef
           undef
           undef
           undef
           1680244200
           undef
           1680265800
           undef
           1680280200
           undef
           1680294600
           undef
           undef
           undef
           1680330600
           undef
           1680352200
           undef
           1680366600
           undef
           1680381000
           undef
           undef
           undef
           1680417000
           undef
           undef
           1680438600
           1680453000
           undef
           1680467400
           undef
           undef
           undef
           1680503400
           undef
           undef
           1680527120
         values:
           8
           3
           0
           -1
           -1
           -1
           -1
           3
           5
           7
           7
           5
           2
           0
           0
           0
           -1
           3
           6
           8
           8
           6
           undef
           4
           undef
           undef
           undef
           0
           undef
           undef
           11
           undef
           7
           5
           undef
           undef
           undef
           undef
           4
           undef
           13
           undef
           9
           undef
           6
           undef
           undef
           undef
           5
           undef
           6
           undef
           7
           undef
           6
           undef
           undef
           undef
           3
           undef
           undef
           8
           6
           undef
           1
           undef
           undef
           undef
           2
           undef
           undef
           0
   condition:
     0           ::InternalDoIf($hash,'Wetter','STATE');                               my ($hash) = @_;
  my $temp;
  my $rain;
 
  for (my $i=1; $i<49; $i++) {
    my $ts = get_date(ReadingsVal("Wetter", "hfc".$i."_pubDate",""));
my $rain_snow = ReadingsVal("Wetter", "hfc".$i."_rain1h", 0) + ReadingsVal("Wetter", "hfc".$i."_snow1h", 0);
$temp .= $ts." ".ReadingsVal("Wetter", "hfc".$i."_temp_c", 0).",";
$rain .= $ts." $rain_snow,";
  }
 
  for (my $i=3; $i<9; $i++) {
my $day_rain = get_date(ReadingsVal("Wetter", "fc".$i."_pubDate",""));
my $day_part = get_day(ReadingsVal("Wetter", "fc".$i."_pubDate",""));
my $day_eve = $day_part."18:30";
my $day_nig = $day_part."22:30";
my $day_mor = $day_part."08:30";
my $day_mid = $day_part."14:30";
my $rain_snow = ReadingsVal("Wetter", "fc".$i."_rain", 0) + ReadingsVal("Wetter", "fc".$i."_snow", 0);
$temp .= $day_mor." ".ReadingsVal("Wetter", "fc".$i."_temperature_morn", 0).",".$day_mid." ".ReadingsVal("Wetter", "fc".$i."_temperature", 0).",";
$temp .= $day_eve." ".ReadingsVal("Wetter", "fc".$i."_temperature_eve", 0).",".$day_nig." ".ReadingsVal("Wetter", "fc".$i."_temperature_night", 0).",";
$rain .= "$day_rain $rain_snow,";
  }
 
  chop($temp);
  chop($rain);
 
  Log3($hash, 3, "Temperatur: $temp Regen: $rain");
 
  ::DOIF_set_card_data ("di_Wetter_h","di_Wetter_h","temp_h","col7d",-604800,$temp);
  ::DOIF_set_card_data ("di_Wetter_h","di_Wetter_h","rain_h","col7d",-604800,$rain);

   helper:
     NOTIFYDEV  di_Wetter_h,global,Wetter
     globalinit 1
     last_timer 0
     sleeptimer -1
     triggerDev
     triggerEvents
     triggerEventsState
   internals:
     all         Wetter:STATE
   perlblock:
     0          get_data
   uiState:
   uiTable:
     dev        di_Wetter_h
     header     
<table uitabid='DOIF-di_Wetter_h' class=' block wide uiTabledoif doif-di_Wetter_h ' style='border-top:none;'>
     package    package ui_Table;
     reading    rain_h
     shownostate 1
     table:
       0:
         0:
           0:
             0          package ui_Table;::DOIF_Widget($hash,$reg,'di_Wetter_h_uiTable_c_0_0_0_0',card(::ReadingValDoIf($hash,'di_Wetter_h','temp_h','','col7d'),"Temperatur Vorhersage,font-size:75%","temp_temperature",-50,50,0,250,"°C",\&temp_hue,"0","180,,,,,0,210","1,1,0,0,2",undef,"0"),"")
         1:
           0:
             0          package ui_Table;::DOIF_Widget($hash,$reg,'di_Wetter_h_uiTable_c_0_1_0_0',card(::ReadingValDoIf($hash,'di_Wetter_h','rain_h','','col7d'),"Regen Vorhersage,font-size:75%","weather_rain_gauge",0,30,180,280,"l/m²",undef,"0","180,,,,,0,210","1,1,0,0,2",undef,"0"),"")
     tc:
       0          style='padding-left: 3px;;padding-right: 3px'
       1          style='padding-left: 3px;;padding-right: 3px'
       2          style='padding-left: 3px;;padding-right: 3px'
       3          style='padding-left: 3px;;padding-right: 3px'
     td:
       0:
     tr:
Attributes:
   DOIF_Readings temp_h:[di_Wetter_h:temp_h:col7d],
rain_h:[di_Wetter_h:rain_h:col7d]
   alias      forecast
   comment    2023-03-10 15:47:38   hfc10_cloudCover 100
     2023-03-10 15:47:38   hfc10_code      14
     2023-03-10 15:47:38   hfc10_condition Mäßiger Schnee
     2023-03-10 15:47:38   hfc10_day_of_week Sa, 00:00
     2023-03-10 15:47:38   hfc10_dew_point 0
     2023-03-10 15:47:38   hfc10_humidity  97
     2023-03-10 15:47:38   hfc10_icon      chance_of_snow
     2023-03-10 15:47:38   hfc10_iconAPI   13n
     2023-03-10 15:47:38   hfc10_pressure  999
     2023-03-10 15:47:38   hfc10_pubDate   Sa, 11 Mär 2023 00:00
     2023-03-10 15:47:38   hfc10_rain1h    0
     2023-03-10 15:47:38   hfc10_snow1h    0.29
     2023-03-10 15:47:38   hfc10_tempFeelsLike -6
     2023-03-10 15:47:38   hfc10_temp_c    0
     2023-03-10 15:47:38   hfc10_temperature 0
     2023-03-10 15:47:38   hfc10_uvi       0
     2023-03-10 15:47:38   hfc10_visibility 299
     2023-03-10 15:47:38   hfc10_wind      26
     2023-03-10 15:47:38   hfc10_wind_condition Wind: NW 26 km/h
     2023-03-10 15:47:38   hfc10_wind_direction 322
     2023-03-10 15:47:38   hfc10_wind_gust 46
     2023-03-10 15:47:38   hfc10_wind_speed 26
     2023-03-10 15:47:38   hfc11_cloudCover 100
     2023-03-10 15:47:38   hfc11_code      14
     2023-03-10 15:47:38   hfc11_condition Mäßiger Schnee
     2023-03-10 15:47:38   hfc11_day_of_week Sa, 01:00
     2023-03-10 15:47:38   hfc11_dew_point -1
     2023-03-10 15:47:38   hfc11_humidity  97
     2023-03-10 15:47:38   hfc11_icon      chance_of_snow
     2023-03-10 15:47:38   hfc11_iconAPI   13n
     2023-03-10 15:47:38   hfc11_pressure  1000
     2023-03-10 15:47:38   hfc11_pubDate   Sa, 11 Mär 2023 01:00
     2023-03-10 15:47:38   hfc11_rain1h    0
     2023-03-10 15:47:38   hfc11_snow1h    0.19
     2023-03-10 15:47:38   hfc11_tempFeelsLike -5
     2023-03-10 15:47:38   hfc11_temp_c    0
     2023-03-10 15:47:38   hfc11_temperature 0
     2023-03-10 15:47:38   hfc11_uvi       0
     2023-03-10 15:47:38   hfc11_visibility 1152
     2023-03-10 15:47:38   hfc11_wind      20
     2023-03-10 15:47:38   hfc11_wind_condition Wind: NW 20 km/h
     2023-03-10 15:47:38   hfc11_wind_direction 316
     2023-03-10 15:47:38   hfc11_wind_gust 43
     2023-03-10 15:47:38   hfc11_wind_speed 20
   group      Umwelt
   room       doif_ntfy,Übersicht
   uiTable    {package ui_Table;$SHOWNOSTATE=1;
$TC{0..3}="style='padding-left: 3px;;padding-right: 3px'"
}
card([$SELF:temp_h:col7d],"Temperatur Vorhersage,font-size:75%","temp_temperature",-50,50,0,250,"°C",\&temp_hue,"0","180,,,,,0,210","1,1,0,0,2",undef,"0")|
card([$SELF:rain_h:col7d],"Regen Vorhersage,font-size:75%","weather_rain_gauge",0,30,180,280,"l/m²",undef,"0","180,,,,,0,210","1,1,0,0,2",undef,"0")
   verbose    3

Was könnte der Fehler sein?

Gruß
Hajo

Damian

collect2 ist der vierzehnte Parameter von card.

Wenn es die gepostete Definition ist, dann solltest du die unvollständigen Angaben weglassen:

card([$SELF:temp_h:col7d],"Temperatur Vorhersage,font-size:75%","temp_temperature",-50,50,0,250,"°C",\&temp_hue,"0","180,,,,,0,210","1,1,0,0,2",undef,"0")|
card([$SELF:rain_h:col7d],"Regen Vorhersage,font-size:75%","weather_rain_gauge",0,30,180,280,"l/m²",undef,"0","180,,,,,0,210","1,1,0,0,2",undef,"0")

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

hajo23


hajo23

#385
Zitat von: Damian am 03 April 2023, 16:10:39collect2 ist der vierzehnte Parameter von card.

Wenn es die gepostete Definition ist, dann solltest du die unvollständigen Angaben weglassen:


ich habe die Definition geändert auf:
card([$SELF:temp_h:col7d],"Temperatur Vorhersage,font-size:75%","temp_temperature",-50,50,0,250,"°C",\&temp_hue,"0","180,undef,undef,undef,undef,0,210","1,1,0,0,2",undef)|
card([$SELF:rain_h:col7d],"Regen Vorhersage,font-size:75%","weather_rain_gauge",0,30,180,280,"l/m²",undef,"1","180,undef,undef,undef,undef,0,210","1,1,0,0,2",undef)

Damit gibt es keine Fehlermeldung mehr. Aber immer wenn die Daten aktualisiert werden, stellt sich die card auf feste Skalierung um.
Im log habe ich die Daten, die ich an set_card_data übergebe:
Temperatur:
2023-04-03_18:00 8,2023-04-03_19:00 8,2023-04-03_20:00 6,2023-04-03_21:00 4,2023-04-03_22:00 2,2023-04-03_23:00 -1,2023-04-04_00:00 -1,2023-04-04_01:00 -1,2023-04-04_02:00 -1,2023-04-04_03:00 -1,2023-04-04_04:00 -1,2023-04-04_05:00 -1,2023-04-04_06:00 -1,2023-04-04_07:00 -1,2023-04-04_08:00 0,2023-04-04_09:00 2,2023-04-04_10:00 3,2023-04-04_11:00 4,2023-04-04_12:00 5,2023-04-04_13:00 6,2023-04-04_14:00 7,2023-04-04_15:00 7,2023-04-04_16:00 7,2023-04-04_17:00 7,2023-04-04_18:00 7,2023-04-04_19:00 5,2023-04-04_20:00 3,2023-04-04_21:00 2,2023-04-04_22:00 1,2023-04-04_23:00 0,2023-04-05_00:00 0,2023-04-05_01:00 0,2023-04-05_02:00 0,2023-04-05_03:00 0,2023-04-05_04:00 0,2023-04-05_05:00 -1,2023-04-05_06:00 -1,2023-04-05_07:00 -1,2023-04-05_08:00 1,2023-04-05_09:00 3,2023-04-05_10:00 5,2023-04-05_11:00 6,2023-04-05_12:00 7,2023-04-05_13:00 8,2023-04-05_14:00 8,2023-04-05_15:00 7,2023-04-05_16:00 7,2023-04-05_17:00 7,2023-04-05_08:30 -1,2023-04-05_14:30 8,2023-04-05_18:30 6,2023-04-05_22:30 4,2023-04-06_08:30 0,2023-04-06_14:30 11,2023-04-06_18:30 7,2023-04-06_22:30 5,2023-04-07_08:30 4,2023-04-07_14:30 13,2023-04-07_18:30 9,2023-04-07_22:30 6,2023-04-08_08:30 5,2023-04-08_14:30 6,2023-04-08_18:30 7,2023-04-08_22:30 6,2023-04-09_08:30 3,2023-04-09_14:30 8,2023-04-09_18:30 6,2023-04-09_22:30 1,2023-04-10_08:30 2,2023-04-10_14:30 7,2023-04-10_18:30 6,2023-04-10_22:30 2

Regen:
2023-04-03_18:00 0,2023-04-03_19:00 0,2023-04-03_20:00 0,2023-04-03_21:00 0,2023-04-03_22:00 0,2023-04-03_23:00 0,2023-04-04_00:00 0,2023-04-04_01:00 0,2023-04-04_02:00 0,2023-04-04_03:00 0,2023-04-04_04:00 0,2023-04-04_05:00 0,2023-04-04_06:00 0,2023-04-04_07:00 0,2023-04-04_08:00 0,2023-04-04_09:00 0,2023-04-04_10:00 0,2023-04-04_11:00 0,2023-04-04_12:00 0,2023-04-04_13:00 0,2023-04-04_14:00 0,2023-04-04_15:00 0,2023-04-04_16:00 0,2023-04-04_17:00 0,2023-04-04_18:00 0,2023-04-04_19:00 0,2023-04-04_20:00 0,2023-04-04_21:00 0,2023-04-04_22:00 0,2023-04-04_23:00 0,2023-04-05_00:00 0,2023-04-05_01:00 0,2023-04-05_02:00 0,2023-04-05_03:00 0,2023-04-05_04:00 0,2023-04-05_05:00 0,2023-04-05_06:00 0,2023-04-05_07:00 0,2023-04-05_08:00 0,2023-04-05_09:00 0,2023-04-05_10:00 0,2023-04-05_11:00 0,2023-04-05_12:00 0,2023-04-05_13:00 0,2023-04-05_14:00 0,2023-04-05_15:00 0,2023-04-05_16:00 0,2023-04-05_17:00 0,2023-04-05_13:00 0,2023-04-06_13:00 0,2023-04-07_13:00 0,2023-04-08_13:00 2.4,2023-04-09_13:00 0.17,2023-04-10_13:00 0
2

Damian

Dann poste mal das Bild von dem Diagramm.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

hajo23

Sehr gern, vorher = nach einer Aktualisierung. Nachher nach dem Setzen des Attributes.

Damian

Ich habe es korrigiert. Neue DOIF-Version eingecheckt.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

hajo23

Zitat von: Damian am 03 April 2023, 22:35:04Ich habe es korrigiert. Neue DOIF-Version eingecheckt.

Danke, es funktioniert.