[Gelöst] update nur von Homematic Devices - oder 99_Utils.pm zum Laufen bringen

Begonnen von Phlox, 29 April 2017, 10:11:30

Vorheriges Thema - Nächstes Thema

Phlox

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

Phlox

#1
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

igami

99_Utils.pm wird beim update überschrieben. du solltest eine myUtils anlegen
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

Phlox

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;







franky08

Was steht denn im Log wenn du versuchst eine Mail zu versenden?

VG
Frank
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

Phlox

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

franky08

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
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

Phlox

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.

franky08

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)
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

Phlox

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

franky08

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
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

FranzB94

@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!  ???

dev0

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...