Ich habe in meinem Beispiel 4 Dummys angelegt, den einen Wert x zugewiesen wird. Bei mir sind es die Tage bis zur nächsten Abfallentsorgung. Jeder Dummy bekommt auch diesen Wert sauber und kann weiterverarbeitet werden.
Sobald dieser aber zweistellig ist, werden die Werte in der Gruppe (Abfall Countdown) als viertel Kreis bzw. überhaupt nicht angezeigt. Der Readings (state) ist aber vorhanden und sichtbar sobald man einen einzeln auswählt.
Worin liegt der Fehler in der Darstellung?
Bild liegt bei.
was genau heisst zweiteilig?
zeig mal ein list auf alle beteiligten devices.
gruss
andre
Hier mal die List einer der Dummys. Zweistellig meine ich wenn der Wert >9 wird. Hier ist er 27
Internals:
NAME Glascontainer
NR 85
STATE 27
TYPE dummy
Readings:
2016-01-08 10:49:25 state 27
Attributes:
group Abfall Countdown
room Kalender
Und hier der sub aus der 99_myUtils.pm
# Abfall Entsorgung
# Log(3, $dtPapier);
sub
Abfalltermine ($)
{
my ($Ereignis) = @_;
my @Ereignisarray = split(/.*:\s/,$Ereignis);
my $Ereignisteil1 = $Ereignisarray[1];
my @uids=split(/;/,$Ereignisteil1);
my $t = time;
my $dtPapier = '';
my $dtWertstofftonne = '';
my $dtRest = '';
my $dtBiomuell = '';
my $dtGlascontainer = '';
foreach my $uid (@uids) {
my $Kalendertext = fhem("get Abfall summary $uid");
if ($Kalendertext =~ /Papier/) {
my $dt = fhem("get Abfall start $uid");
my @SplitDt = split(/ /,$dt);
my @SplitDate = split(/\./,$SplitDt[0]);
my $eventDate = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);
if ($dtPapier eq '' || ($eventDate < $dtPapier && $eventDate > $t))
{
$dtPapier = $eventDate;
}
};
if ($Kalendertext =~ /Gelbe Tonne/) {
my $dt = fhem("get Abfall start $uid");
my @SplitDt = split(/ /,$dt);
my @SplitDate = split(/\./,$SplitDt[0]);
my $eventDate = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);
if ($dtWertstofftonne eq '' || ($eventDate < $dtWertstofftonne && $eventDate > $t))
{
$dtWertstofftonne = $eventDate;
}
};
if ($Kalendertext =~ /Restmüll/) {
my $dt = fhem("get Abfall start $uid");
my @SplitDt = split(/ /,$dt);
my @SplitDate = split(/\./,$SplitDt[0]);
my $eventDate = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);
if ($dtRest eq '' || ($eventDate < $dtRest && $eventDate > $t))
{
$dtRest = $eventDate;
}
};
if ($Kalendertext =~ /Bioabfall/) {
my $dt = fhem("get Abfall start $uid");
my @SplitDt = split(/ /,$dt);
my @SplitDate = split(/\./,$SplitDt[0]);
my $eventDate = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);
if ($dtBiomuell eq '' || ($eventDate < $dtBiomuell && $eventDate > $t))
{
$dtBiomuell = $eventDate;
}
};
if ($Kalendertext =~ /Glascontainer/) {
my $dt = fhem("get Abfall start $uid");
my @SplitDt = split(/ /,$dt);
my @SplitDate = split(/\./,$SplitDt[0]);
my $eventDate = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);
if ($dtGlascontainer eq '' || ($eventDate < $dtGlascontainer && $eventDate > $t))
{
$dtGlascontainer = $eventDate;
}
};
my $dayDiff = floor(($dtPapier - $t) / 60 / 60 / 24 + 1);
if ($dayDiff >= 0) {
fhem("set Papiertonne $dayDiff");
}
my $dayDiff = floor(($dtWertstofftonne - $t) / 60 / 60 / 24 + 1);
if ($dayDiff >= 0) {
fhem("set Wertstofftonne $dayDiff");
}
my $dayDiff = floor(($dtRest - $t) / 60 / 60 / 24 + 1);
if ($dayDiff >= 0) {
fhem("set Restmuell $dayDiff");
}
my $dayDiff = floor(($dtBiomuell - $t) / 60 / 60 / 24 + 1);
if ($dayDiff >= 0) {
fhem("set Biomuell $dayDiff");
}
my $dayDiff = floor(($dtGlascontainer - $t) / 60 / 60 / 24 + 1);
if ($dayDiff >= 0) {
fhem("set Glascontainer $dayDiff");
}
}
}
und wie ist die readingsGroup definiert ?
gruss
andre
Es sind einfach nur Dummys in eine Gruppe gesetzt.
define Papiertonne dummy
attr Papiertonne group Abfall Countdown
attr Papiertonne room Kalender
define Restmuell dummy
attr Restmuell group Abfall Countdown
attr Restmuell room Kalender
define Wertstofftonne dummy
attr Wertstofftonne group Abfall Countdown
attr Wertstofftonne room Kalender
define Biomuell dummy
attr Biomuell group Abfall Countdown
attr Biomuell room Kalender
define Glascontainer dummy
attr Glascontainer group Abfall Countdown
attr Glascontainer room Kalender
Da ist aber noch nicht das "define" der readingsGroup dabei, um das Andre gebeten hatte (am besten wahrscheinlich als Ausgabe des Befehls "list deinReadingsGroupName").
Peter
ZitatDa ist aber noch nicht das "define" der readingsGroup dabei, um das Andre gebeten hatte (am besten wahrscheinlich als Ausgabe des Befehls "list deinReadingsGroupName").
Es gibt keine definierte readingsGroup Nur halt eine group die ich definiert habe. Selbst wenn ich diese entferne werden die Readings (jetzt in der Type group Dummy) mit dem oben gezeigten Symbol dargestellt.
Oder verstehe ich da etwas falsch?
sorry. ich/wir waren davon ausgegangen das es um eine readingsGroup geht.
wenn icons angezeigt werden dann gibt es ein icon das genau so heisst wie der aktuelle STATE. das kannst du mit attr <device> devStateIcon .*:noIcon
verhindern.
gruss
andre