Hallo zusammen,
ich nutze das KODI-Modul und möchte nun zwischen der Gesamtzeit eines Films und der aktuellen Filmzeit eine Zeitdifferenz berechnen. Hierfür werte ich per ReadingsVal die dafür zuständigen Readings aus:
my $zeitist=ReadingsVal("wz_KODI", "time", "");
my $zeitgesamt=ReadingsVal("wz_KODI", "totaltime", "");
Ich versuche nun, die so ermittelten Zeiten in zwei Timestamps umzuwandeln, aber dies gelingt mit
my $zeitistmk = mktime(substr($zeitist,6,2),substr($zeitist,3,2),substr($zeitist,0,2),1,1,2015);
my $zeitgesamtmk = mktime(substr($zeitgesamt,6,2),substr($zeitgesamt,3,2),substr($zeitgesamt,0,2),1,1,2015);
nicht. Die Variablen $zeitistmk und $zeitgesamtmk bleiben leer. Wo ist mein Denkfehler?
Viele Grüße
Michael
Hallo,
welchen Inhalt haben den die Variablen: $zeitdist, $zeitgesamt bzw, was geben die ReadingsVal zurück.
Grüße Jörg
Ich hab im XBMC Modul folgendes Userreading angelegt:
endcredits { join("",ReadingsVal($name,"time",0),ReadingsVal($name,"totaltime",0)) =~ /(\d\d):(\d\d):(\d\d).(\d\d\d)(\d\d):(\d\d):(\d\d).(\d\d\d)/; return defined($3) ? (($1*60*60 + $2*60 + $3) / ($5*60*60 + $6*60 + $7) > 0.92 ? 1 : 0) : 0 }
Das setzt endcredits auf 1, wenn die letzten 8% des Films laufen. Ist nicht ganz was Du suchst, aber vielleicht eine Anregung...
Zitat von: JoWiemann am 25 Januar 2016, 20:12:28
welchen Inhalt haben den die Variablen: $zeitdist, $zeitgesamt bzw, was geben die ReadingsVal zurück.
In den Readings ist die jeweilige Zeit im Format hh:mm:ss.sss hinterlegt. Die Readings kommen auch sauber rüber, werden durch substr auch erfolgreich zerlegt, allerdings hakt es dann bei mktime. Werden hier vielleicht statt eines Strings Zahlen erwartet und die Funktion mktime funktioniert deshalb nicht?
Zitat von: All-Ex am 25 Januar 2016, 21:41:39
Ich hab im XBMC Modul folgendes Userreading angelegt:
endcredits { join("",ReadingsVal($name,"time",0),ReadingsVal($name,"totaltime",0)) =~ /(\d\d):(\d\d):(\d\d).(\d\d\d)(\d\d):(\d\d):(\d\d).(\d\d\d)/; return defined($3) ? (($1*60*60 + $2*60 + $3) / ($5*60*60 + $6*60 + $7) > 0.92 ? 1 : 0) : 0 }
Das setzt endcredits auf 1, wenn die letzten 8% des Films laufen. Ist nicht ganz was Du suchst, aber vielleicht eine Anregung...
Oh...auch eine Variante. Statt der Division könnte man einfach eine Substraktion machen und hätte so die Differenz in Sekunden...