Farbe anhand Zahlenwertes

Begonnen von satprofi, 19 Mai 2025, 12:34:34

Vorheriges Thema - Nächstes Thema

satprofi

Hallo.
Möchte die stündlichen Strompreise in einer Tabelle darstellen. Das ist das schon mal passiert.
Aber wie schaffe ich es die Farben so einzustellen, das , wenn Wert grösser , gleich oder kleiner als "reading durchschnitt" , sich die in rot,weiss,grün färben?
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,Zigbee,Shelly,
Tasmota,LD382A,Telegram

Sailor

Moin satprofi

Das Forum kann dir nicht helfen, wenn du nicht ein paar Infos bereitstellst.

  • Wie hast du die Tabelle denn bisher dargestellt?
  • Woher kommen die Daten?
  • Was willst Du erreichen?
  • Wie lautet der "list" der entsprechenden Devices?

Gruss
    Sailor
******************************
Man wird immer besser...

satprofi

#2

Auszug aus Tabelle
<ftui-grid-tile row="1" col="2" height="1" width="1.5" [color]="Strompreis_heute:Durchschnitt | step('10:danger, 5:orange, -30:ok') ">
        <ftui-row>
          <ftui-label text="00-01h" size="1"></ftui-label>
          </ftui-row>
        <ftui-row>
          <ftui-label [text]="Strompreis_heute:00-01h" size="1" bold>
            <span slot="unit" class="size--1"></span>
          </ftui-label>
        </ftui-row>
        <ftui-row>
          <ftui-cell width="80%">
            <ftui-row align-items="center">
              <ftui-label text="cent/kWh" size="1" color="white"></ftui-label>
            </ftui-row>
      </ftui-grid-tile>

List von Device das readings liefert, will die color, wenn über Durchschnitt in rot, unter minimum in grün und dazwischen orange, darstellen

READINGS:
     2025-05-20 00:01:00   00-01h          15.479
     2025-05-20 00:01:00   01-02h          14.635
     2025-05-20 00:01:00   02-03h          14.179
     2025-05-20 00:01:00   03-04h          14.203
     2025-05-20 00:01:00   04-05h          14.537
     2025-05-20 00:01:00   05-06h          15.715
     2025-05-20 00:01:00   06-07h          18.907
     2025-05-20 00:01:00   07-08h          17.672
     2025-05-20 00:01:00   08-09h          13.217
     2025-05-20 00:01:00   09-10h          11.707
     2025-05-20 00:01:00   10-11h          9.166
     2025-05-20 00:01:00   11-12h          3.361
     2025-05-20 00:01:00   12-13h          2.099
     2025-05-20 00:01:00   13-14h          2.632
     2025-05-20 00:01:00   14-15h          2.706
     2025-05-20 00:01:00   15-16h          4.835
     2025-05-20 00:01:00   16-17h          9.846
     2025-05-20 00:01:00   17-18h          13.747
     2025-05-20 00:01:00   18-19h          14.92
     2025-05-20 00:01:00   19-20h          17.062
     2025-05-20 00:01:00   20-21h          19.513
     2025-05-20 00:01:00   21-22h          17.587
     2025-05-20 00:01:00   22-23h          15.208
     2025-03-29 00:09:00   23-04h          9.822
     2025-05-20 00:01:00   23-24h          14.874
     2025-05-20 08:01:00   Durchschnitt    12.30516
     2025-05-20 08:01:00   Now             13.2
     2025-05-20 00:03:00   halfprice       9.7565
     2025-05-20 08:01:00   max             19.513
     2025-05-20 00:03:00   middle          12.868452
     2025-05-20 08:01:00   min             2.099
     2025-05-20 00:03:00   minimum         7.2537
     2025-05-20 08:01:00   now             13.217
Attributes:
   event-on-change-reading .*
   group      JsonMod,dummy
   interval   1 0 * * *
   readingList single((jsonPath('$.data.0.value') + 1.44 ), '00-01h', 'date_00');
single((jsonPath('$.data.4.value') + 1.44 ), '01-02h', '');
single((jsonPath('$.data.8.value') + 1.44 ), '02-03h', '');
single((jsonPath('$.data.12.value') + 1.44), '03-04h', '');
single((jsonPath('$.data.16.value') + 1.44 ), '04-05h', '');
single((jsonPath('$.data.20.value') + 1.44 ), '05-06h', '');
single((jsonPath('$.data.24.value') + 1.44 ), '06-07h', '');
single((jsonPath('$.data.28.value') + 1.44 ), '07-08h', '');
single((jsonPath('$.data.32.value') + 1.44 ), '08-09h', '');
single((jsonPath('$.data.36.value') + 1.44 ), '09-10h', '');
single((jsonPath('$.data.40.value') + 1.44 ), '10-11h', '');
single((jsonPath('$.data.44.value') + 1.44 ), '11-12h', '');
single((jsonPath('$.data.48.value') + 1.44), '12-13h', '');
single((jsonPath('$.data.52.value') + 1.44 ), '13-14h', '');
single((jsonPath('$.data.56.value') + 1.44 ), '14-15h', '');
single((jsonPath('$.data.60.value') + 1.44 ), '15-16h', '');
single((jsonPath('$.data.64.value') + 1.44 ), '16-17h', '');
single((jsonPath('$.data.68.value') + 1.44 ), '17-18h', '');
single((jsonPath('$.data.72.value') + 1.44 ), '18-19h', '');
single((jsonPath('$.data.76.value') + 1.44 ), '19-20h', '');
single((jsonPath('$.data.80.value') + 1.44 ), '20-21h', '');
single((jsonPath('$.data.84.value') + 1.44 ), '21-22h', '');
single((jsonPath('$.data.88.value') + 1.44 ), '22-23h', '');
single((jsonPath('$.data.92.value') + 1.44 ), '23-24h', '');

   room       HTTPMOD,SolarEdge,Stromkosten
   stateFormat {sprintf("%0.2f", ReadingsVal($name,"now",0))}
   userReadings Durchschnitt:13-14h:.* {(ReadingsNum("$name","00-01h",0) + ReadingsNum("$name","01-02h",0) + ReadingsNum("$name","02-03h",0) + ReadingsNum("$name","03-04h",0) + ReadingsNum("$name","04-05h",0) + ReadingsNum("$name","05-06h",0) + ReadingsNum("$name","06-07h",0) + ReadingsNum("$name","07-08h",0) + ReadingsNum("$name","08-09h",0) + ReadingsNum("$name","09-10h",0) + ReadingsNum("$name","10-11h",0) + ReadingsNum("$name","11-12h",0) + ReadingsNum("$name","12-13h",0) + ReadingsNum("$name","13-14h",0) + ReadingsNum("$name","14-15h",0) + ReadingsNum("$name","15-16h",0) + ReadingsNum("$name","16-17h",0) + ReadingsNum("$name","17-18h",0) + ReadingsNum("$name","18-19h",0) + ReadingsNum("$name","19-20h",0) + ReadingsNum("$name","20-21h",0) + ReadingsNum("$name","21-22h",0) + ReadingsNum("$name","22-23h",0) + ReadingsNum("$name","23-24h",0) )/24},
Now {sprintf("%.1f",ReadingsNum("Strompreis_heute","now","???"))}
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,Zigbee,Shelly,
Tasmota,LD382A,Telegram

Guybrush

steht doch alles im wiki

https://wiki.fhem.de/wiki/FTUI3_F%C3%BCllstand_Zisterne

nimm den modifier step und setz das bei [color]. statt zisterne_00 etc dann halt die farbcodes


Sailor

Zitat von: satprofi am 20 Mai 2025, 08:49:33Auszug aus Tabelle

Wir reden also über eine Tabelle innerhalb von ftui3.
Was möchtest du denn jetzt werteabhängig färben?

  • den Zelleninhalt
  • den Zellenhintergrund
  • den ganzen Tabellenrahmen


Dieser Code ist schon mal richtig,
[color]="Strompreis_heute:Durchschnitt | step('10:danger, 5:orange, -30:ok') "aber ich fürchte der steht an der falschen Stelle.
Sollte dieser nicht als Teil des "label" stehen?

Gruss
    Sailor
******************************
Man wird immer besser...

satprofi

Zitat von: Guybrush am 20 Mai 2025, 09:30:15steht doch alles im wiki

https://wiki.fhem.de/wiki/FTUI3_F%C3%BCllstand_Zisterne

nimm den modifier step und setz das bei [color]. statt zisterne_00 etc dann halt die farbcodes



hallo.
das hab ich ja jetzt auch. will es aber so:

Durchschnitt 10 , zelle 1 hat wert 15 , also rot färben
Minimum hat 2 , zelle 6 hat 1 , grün färben
zellen mit werten zwischen Durchschnitt und minimum orange färben
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,Zigbee,Shelly,
Tasmota,LD382A,Telegram

satprofi

#6
Zitat von: Sailor am 20 Mai 2025, 09:43:15
Zitat von: satprofi am 20 Mai 2025, 08:49:33Auszug aus Tabelle

Wir reden also über eine Tabelle innerhalb von ftui3.
Was möchtest du denn jetzt werteabhängig färben?

  • den Zelleninhalt
  • den Zellenhintergrund
  • den ganzen Tabellenrahmen


Gruss
    Sailor


Zellenhintergrund , und jede zelle einzeln .
z.b.:
Durchschnitt 10 , zelle 1 hat wert 15 , also rot färben
Minimum hat 2 , zelle 6 hat 1 , grün färben
zellen mit werten zwischen Durchschnitt und minimum orange färben
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,Zigbee,Shelly,
Tasmota,LD382A,Telegram

tobi01001

Deine Herausforderung besteht also darin, dass die Werte für Step bzw Map dynamisch (abhängig vom Tagesdurchschnitt) und nicht fix sind?

Ich würde dafür (user)Readings definieren, die genau das abbilden.
Bei mir sieht das so aus (content file):
<ftui-label
[text]="n_EVU_Tibber_2:tb_price_next_{{tb_hour}}"
size=1
[color]="n_EVU_Tibber_2:tb_pLevel_next_{{tb_hour}} | map('VERY_CHEAP:green, CHEAP:yellow, NORMAL:orange, EXPENSIVE|VERY_EXPENSIVE:red')"
[class-name]="n_EVU_Tibber_2:tb_pLevel_next_{{tb_hour}} {{tb_class}}"
>
</ftui-label>
In tb_pLevel_next_xx steht dann eben die Zuordnung CHEAP berechnet aus den Tageswerten für die jeweilige Stunde (bzw 12 Stunden in die Zukunft) etc...
FHEM@UbuntuServer on Lenovo ThinkCentre M900 [i5-6500T / 8GB RAM] MySQL-DbLog, Grafana, FTUI3 / HmIP incl. CCU3 / LGESS / Wärempumpe über TA CMI und CANoE / Shellies u.v.m.

satprofi

Hmmm, ich habe ja 24 userreadings. Ich müsste ja nur den Vergleich mappen.

[color]="n_EVU_Tibber_2:tb_pLevel_next_{{tb_hour}} | map('Strompreis_heute:00-01h<Strompreis_heute:minimum:green,')"

Nur wie mach ich das?
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,Zigbee,Shelly,
Tasmota,LD382A,Telegram

yersinia

Zitat von: satprofi am 20 Mai 2025, 22:23:53Nur wie mach ich das?
Jdfs nicht im FTUI3 innerhalb einer pipe, die Fragestellung hatten wir in letzter Zeit öfters; siehe auch #3798 - #3803.
viele Grüße, yersinia
----
FHEM 6.4 (SVN) on RPi 4B with RasPi OS Trixie (perl 5.40.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Prof. Dr. Peter Henning

Perl-Funktion, die ein userReading befüllt, das wiederum von FTUI3 gelesen wird.

LG

pah

satprofi

#11
So, wenns nicht anders geht, dann die umständlichere Methode.
24 dummys angelegt, jeder bekam das "stateFormat"
{ my $c=ReadingsVal("Strompreis_heute","00-01h","");
  my $ca=ReadingsVal("Strompreis_heute","Durchschnitt","");
  my $ch=ReadingsVal("Strompreis_heute","minimum","");
  my $ret;
  if($c > $ca){ $ret="teuer";
  }elsif($c < $ch){ $ret=sprintf("billig");
  }elsif($c < $ca and $c > $ch){$ret=sprintf("normal");
} $ret}

das dann im FTUI 24x ausgewertet wird

<ftui-grid-tile row="2" col="2" height="1" width="1.5" [color]="1:STATE | map('billig: green, normal: orange, teuer: red') ">
        <ftui-row>
          <ftui-label text="00-01h" size="1"></ftui-label>
          </ftui-row>
        <ftui-row>
          <ftui-label [text]="Strompreis_heute:00-01h" size="4" bold>
            <span slot="unit" class="size--1"></span>
          </ftui-label>
        </ftui-row>
<ftui-row>
          <ftui-cell width="80%">
           
      </ftui-grid-tile>

im Anhang das Ergebnis.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,Zigbee,Shelly,
Tasmota,LD382A,Telegram

Prof. Dr. Peter Henning

#12
Hmmm. Warum nicht _ein_ Dummy mit 24 entsprechenden Readings?

Wenn man diese nach der Start-Uhrzeit des Preises benennt, kann man problemlos in einem Algorithmus das passende Herausholen.

Und die Anzeige in einem Rechteck ist auch nicht sehr ergonomisch.

LG

pah

Edit: In Deinem Code wundert mich ein wenig, wieso der aktuelle Preis $c kleiner als das Minimum $ch sein kann.

Ich halte für sinnvoller, mir die 4-Stunden-Periode mit dem geringsten Strompreis anzeigen zu lassen:

###############################################################################
#
#  aWATTar get lowest 4 hours
#
###############################################################################

sub aWATTl4(){
  my $i;
  my %daylist1=();
  my %daylist2=();
  for($i=1;$i<25;$i++){
    #-- careful - data01_price is valid starting at midnight
    my $dm=sprintf("%02d",$i-1);
    my $dn=sprintf("%02d",$i);
    $daylist1{$dm}=ReadingsVal("aWATTar","data".$dn."_price",0);
  }
  $i=0;
  foreach my $h (sort { $daylist1{$a} <=> $daylist1{$b} } keys %daylist1) {
    $daylist2{$h}=$daylist1{$h};
    $i++;
    last
      if($i==4)
  }
  my $keymin = min(keys(%daylist2),24);
  my $keymax = max(keys(%daylist2),0);
  return sprintf("%s:00 - %s:00",$keymin,$keymax+1);
}

satprofi

Zitat von: Prof. Dr. Peter Henning am 03 Januar 1970, 01:33:36Edit: In Deinem Code wundert mich ein wenig, wieso der aktuelle Preis $c kleiner als das Minimum $ch sein kann


Hallo. Minimum ist nicht mindest, sondern Durchschnitt von mindest und durchschnitt
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,Zigbee,Shelly,
Tasmota,LD382A,Telegram

Prof. Dr. Peter Henning

#14
Zitat von: satprofi am 25 Mai 2025, 19:22:26Hallo. Minimum ist nicht mindest, sondern Durchschnitt von mindest und durchschnitt
Äh - ernsthaft? Scheint mir etwas fragwürdig, weil Du in dieser Rechnung einen Wert überproportional gewichtest. Was möchtest Du denn genau damit aussagen, was ist das Ziel der Anzeige?

LG

pah

Edit: Ich habe jetzt mal selbst mit einer solchen Anzeige herumgespielt.
1. Jeweils kurz vor Mitternacht hole ich mir die aWATTar-Strompreise des folgenden Tages == dataxx_price als einzelne Readings.
2. Mit einem kurzen Perl-Code (siehe unten) wird der Mittelwert berechnet.
3. Mit ein paar weiteren Zeilen werden 24 weitere Readings angelegt (noch nicht mal als userreading, sondern einfach per "setreading ..." -Befehl) ==> dataxx_cmp.
  Der Inhalt ist ein String: "high", "average", "low", berechnet mit
$sig=($cur > $av)?"high":(($cur < $av)?"low":"average");4. Für die Anzeige nehme ich 24 ftui-columns in 3 Zeilen
<ftui-row>
            <ftui-column shape="round" [color]="aWATTar:data01_cmp | map('high:alert,average:warning,low:ok')">
            <ftui-label [text]="aWATTar:data01_price">
            </ftui-label>
            </ftui-column>
            <ftui-column shape="round" [color]="aWATTar:data02_cmp | map('high:alert,average:warning,low:ok')">
                <ftui-label [text]="aWATTar:data02_price">
                </ftui-label>
            </ftui-column>...

Ergebnis: Siehe Bild unten.


Prof. Dr. Peter Henning

So, jetzt noch ein Nachtrag zur Art der Darstellung. Ich habe es ausprobiert - und es ist m.E. nicht aussagekräftig, unabhängig davon, wie ich das anordne. Außerdem muss FTUI dann 48 Readings überwachen, das kann schon Performance kosten.

In meinem Beispiel liefert mir ein weiteres kleines Perl-Programm die Aussage, dass die billigste 4-Stunden-Periode von 12:00 - 16:00 ist ==> Dabei fällt mir auf, dass der vorletzte Zahlenwert in der 2. Reihe falsch ist, Copy & Paste-Fehler, habe data07_price statt data15_price drin.

Das stimmt also mit den Einfärbungen überein, man könnte die Bestimmung problemlos auf "die billigsten 6 Stunden" verallgemeinern. Und dann einfach die betreffende Periode anders einfärben, statt jeweils einen umständlichen Vergleich mit einem Mittelwert zu machen.

Noch besser wäre Folgendes: Die Strompreise in eine Log-Datei schreiben, und diese mit einem Diagramm darstellen, das mit einem Gradienten eingefärbt wurde.

Ich mache noch etwas ganz anderes, und zwar rechne ich mir an Hand der Stromverbräuche aus, wie die Kosten a.) mit meinem Versorger _sind_ und mit den variablen Preisen von aWATTar _wären_. Das wird über den Tag aufsummiert und in einer Tabelle und einem Diagramm dargestellt. Allerdings ist das heute nicht sehr erhellend: Tatsächlich habe ich auf Grund einer 2. PV-Anlage sage und schreibe nur 0,10 € Stromkosten bei meinem Versorger aufgesammelt. Mit einem variablen Strompreis von aWATTar wären es gerade mal 0,02 € gewesen. Das lohnt sich also nicht, noch zumal ich mit meiner alten Volleinspeiser-Anlage in derselben Zeit 8,92 € Einspeisevergütung erwirtschaftet habe.

LG

pah

Prof. Dr. Peter Henning

Und noch ein Nachtrag. Ab Herbst 2025 stellen alle Netzbetreiber sowie die Strombörse auf variable Preise um, die sich viertelstündlich ändern.
Das ist der endgültige Tod für die Darstellung mit separaten Feldern.

https://tibber.com/de/magazine/inside-tibber/viertelstuendliche-strompreise

LG

pah

satprofi

Zitat von: Prof. Dr. Peter Henning am 27 Mai 2025, 18:04:42Und noch ein Nachtrag. Ab Herbst 2025 stellen alle Netzbetreiber sowie die Strombörse auf variable Preise um, die sich viertelstündlich ändern.
Das ist der endgültige Tod für die Darstellung mit separaten Feldern.

https://tibber.com/de/magazine/inside-tibber/viertelstuendliche-strompreise

LG

pah

Aber nur wenn du so einen Vertrag wählst. Energiegemeinschaften rechnen in 15min. ab, aber man weiss erst Tage später von wem der Strom geliefert wurde.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,Zigbee,Shelly,
Tasmota,LD382A,Telegram

Prof. Dr. Peter Henning

Zitat von: satprofi am 27 Mai 2025, 21:51:34Aber nur wenn du so einen Vertrag wählst
Du wirst mir nicht erzählen wollen, dass die EVU auf lange Sicht verschiedene zeitvariable Tarife anbieten werden?

LG

pah

tobi01001

Ich zeige mir daher die kommenden 12 Stunden an - finde ich eingängiger und ich kann schneller sehen was kommt. Was war interessiert mich da ohnehin nicht mehr. Ähnlich kann ich das dann auch viertelstündlich machen.

Du darfst diesen Dateianhang nicht ansehen.
Bitte das Denglisch zu entschuldigen ;)
FHEM@UbuntuServer on Lenovo ThinkCentre M900 [i5-6500T / 8GB RAM] MySQL-DbLog, Grafana, FTUI3 / HmIP incl. CCU3 / LGESS / Wärempumpe über TA CMI und CANoE / Shellies u.v.m.

Prof. Dr. Peter Henning

Hier habe ich gerade beschrieben, wie man solche Vorhersagewerte in einen FHEM-Plot einbauen kann.

https://wiki.fhem.de/wiki/LogFromArray

https://forum.fhem.de/index.php?topic=141763.msg1342440#msg134244

als Thread dazu.

LG

pah

Sailor

Hallo tobi

Zitat von: tobi01001 am 28 Mai 2025, 11:16:08Ich zeige mir daher die kommenden 12 Stunden an - finde ich eingängiger und ich kann schneller sehen was kommt. Was war interessiert mich da ohnehin nicht mehr. Ähnlich kann ich das dann auch viertelstündlich machen.

Kannst Du uns Bitte den Code für die Kachel "PV/Verbrauch" in dieses Forum posten?

Danke!

Gruss
    Sailor
******************************
Man wird immer besser...

tobi01001

Moin,

kann ich gerne tun:
<ftui-grid-tile row="8" col="2" height="8" width="4">
            <ftui-grid-header>PV / Verbrauch</ftui-grid-header>   
            <ftui-row align-items="center">
                <ftui-column align-items="right">
                    <ftui-label>Current price:&nbsp;</ftui-label>
                </ftui-column>
                <ftui-column>
                    <ftui-label
                        [text]="n_EVU_Tibber_2:tb_price_next_00 | append(' €/kWh')"
                        [color]="n_EVU_Tibber_2:tb_pLevel_next_00 | map('VERY_CHEAP:green, CHEAP:yellow, NORMAL:orange, EXPENSIVE|VERY_EXPENSIVE:red')"
                        [class-name]="n_EVU_Tibber_2:tb_pLevel_next_00 | map('VERY_CHEAP|EXPENSIVE:blink')"
                    >
                    </ftui-label>   
                </ftui-column>
                <ftui-column>
                    <ftui-label>&nbsp;with level&nbsp;</ftui-label>
                </ftui-column>
                <ftui-column>
                    <ftui-label
                        [text]="n_EVU_Tibber_2:tb_pLevel_next_00"
                        [color]="n_EVU_Tibber_2:tb_pLevel_next_00 | map('VERY_CHEAP:green, CHEAP:yellow, NORMAL:orange, EXPENSIVE|VERY_EXPENSIVE:red')"
                        [class-name]="n_EVU_Tibber_2:tb_pLevel_next_00 | map('VERY_CHEAP|EXPENSIVE:blink')"
                    >
                    </ftui-label>
                </ftui-column>
            </ftui-row>
            <ftui-row align-items="center">
                <ftui-column align-items="right">
                    <ftui-label>min:&nbsp;</ftui-label>
                </ftui-column>
                <ftui-column>
                    <ftui-label
                        [text]="n_EVU_Tibber_2:pMin_today | append(' €/kWh')"
                        color="green"
                    >
                    </ftui-label>
                </ftui-column>
                <ftui-column>               
                    <ftui-label>&nbsp;um&nbsp;</ftui-label>
                </ftui-column>
                <ftui-column>
                    <ftui-label
                        [text]="n_EVU_Tibber_2:pMin_time | append(':00')"
                    >
                    </ftui-label>
                </ftui-column>
            </ftui-row>
            <ftui-row align-items="center">
                <ftui-column align-items="right">
                    <ftui-label>trg low:&nbsp;</ftui-label>
                </ftui-column>
                <ftui-column>
                    <ftui-label
                        [text]="n_EVU_Tibber_2:pLower_today | append(' €/kWh')"
                        color="green"
                    >
                    </ftui-label>
                </ftui-column>
                <ftui-column>               
                    <ftui-label>&nbsp;trg high&nbsp;</ftui-label>
                </ftui-column>
                <ftui-column>
                    <ftui-label
                        [text]="n_EVU_Tibber_2:pUpper_today | append(' €/kWh')"
                        color="orange"
                    >
                    </ftui-label>
                </ftui-column>
            </ftui-row>
            <ftui-row align-items="center">
                <ftui-column align-items="right">
                    <ftui-label>max:&nbsp;</ftui-label>
                </ftui-column>
                <ftui-column>
                    <ftui-label
                        [text]="n_EVU_Tibber_2:pMax_today | append(' €/kWh')"
                        color="red"
                    >
                    </ftui-label>
                </ftui-column>
                <ftui-column>
                    <ftui-label>&nbsp;um&nbsp;</ftui-label>
                </ftui-column>
                <ftui-column>
                    <ftui-label
                        [text]="n_EVU_Tibber_2:pMax_time | append(':00')"
                    >
                    </ftui-label>
                </ftui-column>       
            </ftui-row>
            <ftui-row align-items="center">
                <ftui-column align-items="right">
                    <ftui-label>Backup Mode: </ftui-label>
                </ftui-column>
                <ftui-column>
                    <ftui-icon
                        [name]="myLGESS:/essinfo/common/BATT/backup_setting | map('off:toggle-off, on:toggle-on')"
                        [color]="myLGESS:/essinfo/common/BATT/backup_setting  | map('off:dark, on:yellow')"
                        height="1.8em"
                    >
                    </ftui-icon>
                </ftui-column>
                <ftui-column>
                    <ftui-label>WP Start:&nbsp;</ftui-label>
                </ftui-column>
                <ftui-column>
                    <ftui-icon
                        [name]="dmy_myLGESS_WP_PV_Start:state | map('0:power-off, 1:sun, 2:plug')"
                        [color]="dmy_myLGESS_WP_PV_Start:state | map('0:dark, 1:yellow, 2:green')"
                        height="1.8em"
                    >
                    </ftui-icon>
                    <!--
                    <ftui-label
                        [text]="dmy_myLGESS_WP_PV_Start:state | map('0:off, 1:PV, 2:plug')"
                        [color]="dmy_myLGESS_WP_PV_Start:state | map('0:grey, 1:yellow, 2:green')"
                    >
                    </ftui-label> -->
                </ftui-column>
            </ftui-row>
            <ftui-row align-items="center">
            <ftui-content align-items="center" [content]="mySolarForeCast:html" [refresh]="mySolarForeCast:nextCycletime"></ftui-content>
            </ftui-row>
        </ftui-grid-tile>

Current price - n_EVU_Tibber_2:tb_price_next_00
  • Reading mit dem Preis der aktuellen Stunde aus einem notify...(hätte noch mehr zur Auswahl)
with level - n_EVU_Tibber_2:tb_pLevel_next_00
  • zugehöriges Preisniveau als Text (ähnlich wie von tibber geliefert aber selbst berechnet)...
...
Backup Mode - myLGESS:/essinfo/common/BATT/backup_setting
  • Ich kann zwar nicht über Netz laden, aber das Entladen sperren indem der Backup mode aktiviert wird. Damit verbleiben <= 80% Batterie und es wird der günstige Strom bevorzugt...
WP Start - dmy_myLGESS_WP_PV_Start:state
  • Bei PV-Überschuss kann die WP den Pufferspeicher mehr aufheizen und so die überschüssige Energie in gespeicherte Wäreme umsetzen
  • Bei günstigen Strom aus dem Netz (und ohne PV-Überschuss) kann die WP den Pufferspeicher mehr aufheizen und so die günstige Energie in gespeicherte Wäreme umsetzen, sodass im Zeitraum von teuren Strom kein Netzbezug notwendig ist.

[content]="mySolarForeCast:html"Ist ein userreading im Solareforecast Device:
attr mySolarForeCast userReadings html:nextCycletime.* { FHEM::SolarForecast::pageAsHtml ('mySolarForeCast', '-', 'flow_noHead_noCons') }


Ich hoffe das hilft.

LG,
Tobi
FHEM@UbuntuServer on Lenovo ThinkCentre M900 [i5-6500T / 8GB RAM] MySQL-DbLog, Grafana, FTUI3 / HmIP incl. CCU3 / LGESS / Wärempumpe über TA CMI und CANoE / Shellies u.v.m.

Prof. Dr. Peter Henning

Vlt. als Anwengdungsbeispiel ins Wiki stellen.

LG

pah

satprofi

Hallo.
Danke für das script, aber den linken Teil , der mit den >Strompreisen kann ich nicht rausfiltern. Hast du Wink ?
Habe mir Start/Stopzeit meiner Wallbox implementiert, die will ich je nach Strompreis setzen.
LG
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,Zigbee,Shelly,
Tasmota,LD382A,Telegram