Hallo,
ich würde gerne ein Device mit einem Link auf seine Admin-Seite assoziieren.
Also z.B. hab ich ein PRESENCE Device, sagen wir zu einer Webcam. Wie kann ich den Link auf die Admin-Seite der Webcam in die Anzeige ihres Presence-Devices einbauen?
Weblink ist mir bekannt, aber solche Links kann ich bisher nur Räumen zuordnen, keinen Devices.
So ähnlich
attr <PRESENCE-Name> stateFormat {"<html><a target='_blank' href='".ReadingsVal('rss_tagesschau100','Link','none')."'>Tagesschau in 100s</a></html>"}
Danke für deine Hilfe. Ich habe es jetzt über readingsGroup realisiert. Damit kann ich Präsenz-Info und Administrationslink voneinander trennen. So sieht meine Lösung aus:
define rg_presence readingsGroup TYPE=PRESENCE:+ADDRESS,presence:sec,state
attr rg_presence alias Administration und Präsenz
attr rg_presence valueFormat { ADDRESS => '<a href="http://$VALUE">$VALUE</a>', presence => see_sec($VALUE) }
attr rg_presence valueIcon { state => '%devStateIcon' }
Und in 99_myUtils.pm definiere ich noch see_sec($). Damit wird die Zeitangabe vereinfacht.
##################################################################
# Relative, lesbare Zeitangabe
#
# { see_sec(10)} >> "10 sek"
# { see_sec(100)} >> "1 min"
# { see_sec(1000)} >> "16 min"
# { see_sec(10000)} >> "2 std"
# {see_sec(1000000)} >> "11 Tage"
sub see_sec($){
my ($xxx) = @_;
my $orig = $xxx;
my $ss = $xxx % 60;
$xxx /=60;
my $mm = $xxx % 60;
$xxx /=60;
my $hh = $xxx % 24;
$xxx /=24;
my $dd = $xxx;
if ($orig < 60) {
return sprintf("%d sek", $ss);
}
if ($orig < 60 * 60) {
return sprintf("%d min", $mm);
}
if ($orig < 60 * 60 * 24) {
return sprintf("%d std", $hh);
}
return sprintf("%d Tage", $dd);
#return sprintf("%02d:%02d:%02d",$hh,$mm,$ss);
}