Hallo,
nach dem fhem update stimmen bei mir gewisse Berechnungen mit Datum nicht mehr, Debian Mail funktioniert auch nicht mehr....nach Rücksicherung der floorplanstyle.css und der 99_Utils.pm, stimmen zwar einige Formate wieder, aber die Berechnungen mit Datum gibt nur kaudawelsch aus....jetzt möchte ich nur die Homematic-Komponenten, insbesondere den 8-Kanal-Funksender updaten, weil mit der alten fhem-Version wird der 8-Kanal-Funksender nicht erkannt, bzw. nicht richtig....
Gibt es eine Möglichkeit nur die Homematic-Komponenten upzudaten?
Danke
Oder kann mir jemand dabei helfen die 99_Utils.pm zum Laufen zu bringen?
Obwohl ich den Text von der alten 99_Utils.pm 1:1 in die neue kopiert habe geht keine email raus und die Berechnungen laufen auch nicht. Hat sich da in der Syntax was geändert?
package main;
use strict;
use warnings;
use POSIX;
sub
Utils_Initialize($$)
{
my ($hash) = @_;
}
sub
time_str2num($)
{
my ($str) = @_;
my @a;
if($str ne "") {
@a = split("[- :]", $str);
return mktime($a[5],$a[4],$a[3],$a[2],$a[1]-1,$a[0]-1900,0,0,-1);
} else {
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
return mktime($sec, $min, $hour, $mday, $mon, $year, 0, 0, -1);
}
}
######## DebianMail Mail auf dem RPi versenden ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $ret = "";
my $sender = "xxx\@gmx.de";
my $konto = "xxx\@gmx.de";
my $passwrd = "yyyyyyyyyy";
my $provider = "mail.gmx.net:587";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";
$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=auto -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g; # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}
####DebianMail aus ##############
1;
Mit fhem 5.5 läuft alles, außer der 8-Kanal-Funksender, der benötigt fhem 5.8
99_Utils.pm wird beim update überschrieben. du solltest eine myUtils anlegen
die 99_myUtils.pm funktioniert aber genau so wenig:
package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
sub
time_str2num($)
{
my ($str) = @_;
my @a;
if($str ne "") {
@a = split("[- :]", $str);
return mktime($a[5],$a[4],$a[3],$a[2],$a[1]-1,$a[0]-1900,0,0,-1);
} else {
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
return mktime($sec, $min, $hour, $mday, $mon, $year, 0, 0, -1);
}
}
######## DebianMail Mail auf dem RPi versenden ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $ret = "";
my $sender = "xxx\@gmx.de";
my $konto = "xxx\@gmx.de";
my $passwrd = "yyyyyyyyyy";
my $provider = "mail.gmx.net:587";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";
$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=auto -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g; # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}
####DebianMail aus ##############
1;
Was steht denn im Log wenn du versuchst eine Mail zu versenden?
VG
Frank
Habe wieder fhem 5.5 drauf, wenn ich die Tage wieder auf 5.8 update, dann schau ich ins log....soweit ich mich erinnere irgendwas als würde er debianmail nicht finden....wie wenn er di 99_Utils.pm gar nicht abarbeiten würde...deswegen sind ja die Zeitberechnungen auch alle nicht berrechnet...
Bei den sprintf-Anweisungen z.B "sprintf("%%.2f",$kwproa);; my $vareur= ReadingsVal("Verbrauchsmessung","po" wird auf dem floorplan nur %%2f angezeigt....
Jetzt fällt mir noch was ein, muss die 99_Utils.pm besondere Rechte haben? Die bei 5.5 noch nicht benötigt wurden?
Weil sonst ist es ja dieselbe Datei, mit 5.5 funktionierts mit 5.8 nicht.
Danke
ZitatBei den sprintf-Anweisungen z.B "sprintf("%%.2f",$kwproa);; my $vareur= ReadingsVal("Verbrauchsmessung","po" wird auf dem floorplan nur %%2f angezeigt....
Jetzt fällt mir noch was ein, muss die 99_Utils.pm besondere Rechte haben? Die bei 5.5 noch nicht benötigt wurden?
Oben das rot markierte über FHEM 5.8 mal lesen!! %% funktioniert schon lange nicht mehr.ZitatJetzt fällt mir noch was ein, muss die 99_Utils.pm besondere Rechte haben?
Nein
Ist das %% in der fhem.cfg auch nicht mehr gültig?
Kann ich das einfach mit % ersetzen?
Beim Versenden musste man damals auch DebianMail('xxxx@@gmx.de',.......... schreiben, evtl liegt der Fehler beim Versenden dann auch an dem doppelten @ ?
Auf jeden Fall Danke, ich werde es die nächsten Tage ausprobieren
Nachtrag:
Es funktioniert.....
Das Problem lag also nicht in der 99_Utils.pm sondern beim Versenden in der fhem.cfg
Jetzt darf man keine %% und keine @@ verwenden, früher hat es mich schon gefuchst weil man damals eben diese immer doppelt brauchte.
Jetzt nur noch jeweils ein % und ein @
Danke vielmals an franky08
kann auf gelöst gesetzt werden, danke.
Zitat von Rudi:
ZitatIch habe gerade fhem 5.7 als Paket auf fhem.de hochgeladen, und in fhem.pl featurelevel auf 5.7 gesetzt.
Ersteres ist nur fuer Erstinstallierer relevant: sie muessen damit nach der Installation nicht 90% der Daten per update nochmal herunterladen.
Letzteres wird all die treffen, die die set etwa zwei Jahren in der Doku erwaehnten "unerwuenscht/deprecated" Hinweise nicht ernst genommen haben. Im Einzelnen:
- @ und % im notify/etc gibts nicht mehr, genauso wie %NAME, %EVENT. Bitte stattdessen $NAME, $EVENT verwenden. Das ist uniform in fhem-Befehlen, perl-Einzeiler {}, und im shell-Aufruf "" moeglich. Damit faellt auch die Notwendigkeit von @@/%% weg. Fuer Details siehe den (seit lange unveraenderten) commandref Eintrag fuer notify.
- $value{def} gibts nicht mehr, bitte Value("def") verwenden
- lastinclude gibts nicht mehr, bitte "define XX notify global:INITIALIZED include YYY" verwenden
Um den Uebergang nicht so hart zu gestalten, kann man "attr global featurelevel 5.6" setzen und damit die "alten Zoepfe" wieder aktivieren, allerdings wird diese Moeglichkeit auch irgendwannmal entfernt.
Damit man das testen kann, steht "5.7" ab sofort per update zur Verfuegung.
« Letzte Änderung: 15 November 2015, 13:03:01 von rudolfkoenig »
ZitatLetzte Änderung: 15 November 2015, 13:03:01 von rudolfkoenig
Das ist also seit Version 5.7 schon so ;)
VG
Frank
P.S. gelöst kannst du selber davor setzen (in deinem ersten Post oben im Betreff)
Ich hatte ja noch 5.5.......aber jetzt bin ich uptodate mit 5.8
Jetzt wärs noch cool wenn man das Gardena Smart System in fhem einbinden könnte....aber das wird noch dauern
Danke nochmal
Du bist die 5.7 übersprungen und hast das somit nicht mitbekommen denn in der Ankündigung zur 5.8 steht das natürlich nicht mehr drin :) :)
VG
Frank
@franky08
Zitat von: franky08 am 30 April 2017, 21:47:39
Du bist die 5.7 übersprungen...
Da ist aber auch mal wieder ein Update angesagt! ???
Zitat von: FranzB94 am 01 Mai 2017, 08:33:23
Da ist aber auch mal wieder ein Update angesagt! ???
Wenn Du schon fachlich nichts beizutragen hast, dann erspare uns zukünftig auch bitte Deine Kommentare bzgl. Rechtschreibung. Das nervt langsam...