FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: rischbiter123 am 12 Februar 2018, 20:53:39

Titel: Termine im Floorplan farbig darstellen
Beitrag von: rischbiter123 am 12 Februar 2018, 20:53:39
Mit diesem Code kann man die Termine in der Readingsgroup pro Kalender in verschiedenen Farben darstellen. Voraussetzung ist, daß in der entsprechenden CALVIEW das Atribut Sourcecolor gesetzt ist. Meine Readingsgroup hat pro Termin 2 Zeilen.

KalenderAndi:t_001_bdate,t_001_btime,t_001_etime,
KalenderAndi:t_001_summary,t_001_location,t_001_source


Dies gehört in die myUtils:

sub Kalenderfarbe() {
my $cal = "KalenderAndi";
my $j = 1;
my $k = 0;
my $Farben = "";
for (my $i =1; $i <=8; $i++)
{
my $Tag = "t_"."00".$i;
my $F1 = $Tag."_sourcecolor";
my $F2 = (ReadingsVal($cal,$F1,0));
$k = $j+1;
my $Farbe = "'r:$j' => 'style=color:$F2','r:$k' => 'style=color:$F2',";
$Farben = $Farben.$Farbe;
$j = $j+2;
};
my $Farb = "{ ".$Farben." }";
fhem( "attr kalenderTermine cellStyle { $Farb }" );
}



Aufgerufen wird es per notify:

define KalenderFarbe notify KalenderAndi:.* {Kalenderfarbe()}


Ist nicht das Gelbe vom Ei, da das Atribut jedes Mal neu gesetzt wird und, rein Theoretisch, ein save nötig wäre. Aber es funktioniert. Vielleicht kann es ja jemand als Denkanstoß nutzen und es verbessern.