Hallo,
ich bin auf der Suche nach einer Möglichkeit wie ich Werte aus Fhem in eine Bild, also zum beispiel ein Webcam Bild einfügen kann.
Ich hab mir Vorgestellt in mein Webcam Bild die Temperatur, Wind und vielleicht die PV Leistung einzufügen...
Hat jemand sowas schon mal gemacht? Mir fehlt da bis jetzt komplett der Ansatz.
Gruß Zernima
Naja, es hängt davon ab, wo du das angereicherte Bild verwenden möchtest.
Bei Tablet-UI sollte es kein Problem darstellen, einen dynamischen Text vor einem Kamerabild darzustellen.
Ich habs hinbekommen :D
Wahr eigentlich gar nicht so schwer.....
sub webcambild()
{
# Bild
my $pic1 = Image::Magick->new();
my $image = $pic1->ReadImage('/opt/fhem/www/snapshots/Webcam.Wetter_snapshot.jpg');
my $temperatur= ReadingsVal( "KS300", "temperature", 2 );
$temperatur .= " °C";
$temperatur = "Temperatur: ".$temperatur;
my $wind= ReadingsVal( "KS300", "wind", 2 );
$wind .= " km/h";
$wind = "Wind: ".$wind;
my $humidity= ReadingsVal( "KS300", "humidity", 2 );
$humidity .= " %";
$humidity = "Luftfeuchte: ".$humidity;
my $Power= ReadingsVal('KeSolarEdge', 'AC-Power', '');
$Power .= " W";
$Power = "PV: ".$Power;
$pic1->Annotate(text => $temperatur,geometry => '+30+550',pen => 'white', font => 'helvetica',pointsize => 40);
$pic1->Annotate(text => $humidity,geometry => '+30+600',pen => 'blue', font => 'helvetica',pointsize => 40);
$pic1->Annotate(text => $wind,geometry => '+30+650',pen => 'white', font => 'helvetica',pointsize => 40);
$pic1->Annotate(text => $Power,geometry => '+30+700',pen => 'yellow', font => 'helvetica',pointsize => 40);
$pic1->Write('/opt/fhem/www/snapshots/Webcam.Wetter_snapshot_temp.jpg');
undef $image;
undef $pic1;
}
Einfach das Modul ImageMagic über "apt install libimage-magick-perl" i stallieren und damit das Bild verändern.
So jetzt wollte ich noch das Ergebnis präsentieren. Vielleicht kann es ja mal jemand brauchen. :)
hmmm
{webcambild()}
Can't locate object method "new" via package "Image::Magick" (perhaps you forgot to load "Image::Magick"?) at ./FHEM/99_myUtils.pm line 708.
Du must noch oben in der 99_myutils unter "package main;" die Bibiothek definieren..dazu einfach
use Image::Magick;
einfügen ;)
8)
Sehr cool :D