Termine im Floorplan farbig darstellen

Begonnen von rischbiter123, 12 Februar 2018, 20:53:39

Vorheriges Thema - Nächstes Thema

rischbiter123

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.
4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2