Hallo,
Über das Modul "IPCAM" speichere ich auf Anforderung 3 Bilder in einer Sequenz ab. Ich will davon das erste Bild anzeigen. Dieser Dateiname wird im Reading "snapshot2" gespeichert:
{ReadingsVal("IPCAM_Foscam", "snapshot2", "")}
.z.B.
IPCAM_Foscam_20190928_124436.jpg
Jetzt will ich dieses Bild darstellen. Das define wäre also z.B.
define Last_Pic weblink image fhem/images/webcam/IPCAM_Foscam_20190928_124436.jpg
...funktioniert soweit. Allerdings ändert sich der Dateiname zur Laufzeit.
Also will ich über defmod die Definition zur Laufzeit ändern. Und hier hänge ich:
defmod Last_Pic weblink image fhem/images/webcam/{ReadingsVal("IPCAM_Foscam", "snapshot2", "")}
...funktioniert nicht, da der Text 1:1 und nicht der Inhalt / das Ergebnis von {...} übernommen wird.
Habt ihr einen Tipp?
Ok, ich habs (kann aber die Frage hier im Forum nicht löschen).
Die Lösung war
{fhem "defmod Last_Pic weblink image fhem/images/webcam/".ReadingsVal("IPCAM_Foscam", "snapshot2", "")}
Hi,
ich denke flexibler (ohne Config Änderung) wäre es mit htmlcode
So wie hier?
https://forum.fhem.de/index.php?topic=72922.0
Gruß Otto
Super! So ist es wirklich eleganter und nach einigen Versuchen funktioniert es jetzt auch.
sub set_bell_filename($)
{
my $new_filename = $_[0];
$main::bell_html_actual = $main::bell_html_default;
$main::bell_html_actual =~ s/IPCAM_Foscam_snapshot.jpg/$new_filename/g;
return 1;
}
Danke