Problem mit DebianMail und 99_myUtils.pm

Begonnen von grappa24, 22 September 2014, 19:43:08

Vorheriges Thema - Nächstes Thema

grappa24

Hallo Gemeinde,

anlässlich der Implementierung von DebianMail nach den Anleitungen hier hab ich erstmalig auch eine 99_myUtils angelegt. Beim Start geht aber wohl etwas schief: "2014.09.22 19:31:22 1: reload: Error:Modul 99_myUtils deactivated:"

Beim Aufruf von "DebianMail" in der FHEM Kommandozeile kommt dann auch "Unknown Command DebianMail" ...

Ich füge mal meine 99_myUtils bei und hoffe, Ihr könnt mir helfen; unsicher bin ich mir auch wegen des HTML-Codes in der 99_myUtils.pm


=pod
=begin html

<a name="Utils"></a>
<h3>Utils</h3>
<ul>
<br/>
This is a collection of functions that can be used module-independant in all your own development<br/>
</br>
<pre>

<br/>
<code>
# start-of-template
package main;

use strict;
use warnings;
use POSIX;

sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

######## DebianMail  Mail auf dem RPi versenden ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $ret = "";
my $sender = "xx\@yyy.de";
my $konto = "xx\@yyy.de";
my $passwrd = "password";
my $provider = "smtp.strato.de:465";
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";
}


1;

</code>
</pre>

</br>
  <b>Defined functions</b><br/><br/>
  <ul>
    <li><b>abstime2rel("HH:MM:SS")</b><br>tells you the difference as HH:MM:SS
      between now and the argument</li><br/>

    <li><b>ltrim("string")</b><br>returns string without leading
      spaces</li><br/>

    <li><b>max(str1, str2, ...)</b><br>returns the highest value from a given
      list (sorted alphanumeric)</li><br/>

    <li><b>maxNum(num1, num2, ...)</b><br>returns the highest value from a
      given list (sorted numeric)</li><br/>

    <li><b>min(str1, str2, ...)</b><br>returns the lowest value from a given
      list (sorted alphanumeric)</li><br/>

    <li><b>minNum(num1, num2, ...)</b><br>returns the lowest value from a given
      list (sorted numeric)</li><br/>

    <li><b>rtrim("string")</b><br>returns string without trailing
      spaces</li><br/>

    <li><b>time_str2num("YYYY-MM-DD HH:MM:SS")</b><br>convert a time string to
      number of seconds since 1970</li><br/>

    <li><b>trim("string")</b><br>returns string without leading and without
      trailing spaces</li><br/>

    <li><b>UntoggleDirect("deviceName")</b><br>For devices paired directly,
       converts state 'toggle' into 'on' or 'off'</li><br/>

    <li><b>UntoggleIndirect()</b><br>For devices paired indirectly, switches
      the target device 'on' or 'off', also when a 'toggle' was sent from the
      source device</li><br/>

    <li><b>defInfo("devspec", "internal")</b><br>return an array with the
      internal values of all devices found with devspec, e.g.
      defInfo("TYPE=SVG", "GPLOTFILE").</li><br/>

    <li><b>SVG_time_to_sec("YYYY-MM-DD_HH:MM:SS")</b><br>converts the argument
      to the number of seconds since 1970. Optimized for repeated use of similar
      timestamps.</li></br>

    <li><b>fhemNc("host:port", "textToSend", waitForReturn)</b><br>
      sends textToSend to host:port, and if waitForReturn is set, then read
      the answer (wait up to 5 seconds) and return it. Intended as small
      nc replacement.
      </li></br>

  </ul>
</ul>
=end html
=cut
Gebäudesicherheit/-komfort, PV-Prognose/Verbrauchssteuerung, Heizungssteuerung, Multimedia, ...
KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200, Netatmo, Nuki, SolarForecast, HEOS, Alexa-FHEM, ...
FHEM 6.4, 2 x RasPi 3B+, Debian Bullseye

franky08

#1
In deiner Utils steht jede Menge Zeugs, was da nichts zu suchen hat, desshalb wird das Modul auch nicht geladen. Ab package main bis zur 1; ist OK, den Rest lösch besser mal raus.

package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
######## DebianMail  Mail auf dem RPi versenden ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $ret = "";
my $sender = "xx\@yyy.de";
my $konto = "xx\@yyy.de";
my $passwrd = "password";
my $provider = "smtp.strato.de:465";
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";
}


1;


VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

grappa24

#2
Danke franky, ich hatte mich auch schon über den HTML-Code in der .pm Datei gewundert.

Gebäudesicherheit/-komfort, PV-Prognose/Verbrauchssteuerung, Heizungssteuerung, Multimedia, ...
KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200, Netatmo, Nuki, SolarForecast, HEOS, Alexa-FHEM, ...
FHEM 6.4, 2 x RasPi 3B+, Debian Bullseye

JoWiemann

Hallo,

HTML in einem FHEM-Modul ist grundsätzlich in Ordnung, da hierüber die commandref generiert wird. Wichtig ist nur, dass das HTML korrekt eingeleitet und beendet wird.

Nach

1;


=pod
=begin html

...

=end html
=cut



Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

grappa24

Gebäudesicherheit/-komfort, PV-Prognose/Verbrauchssteuerung, Heizungssteuerung, Multimedia, ...
KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200, Netatmo, Nuki, SolarForecast, HEOS, Alexa-FHEM, ...
FHEM 6.4, 2 x RasPi 3B+, Debian Bullseye

Puschel74

Moin,

nur mal für mich zur Info.

Ist an diesem Wiki-Eintrag http://www.fhemwiki.de/wiki/99_myUtils_anlegen etwas fehlerhaft oder unverständlich?

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

grappa24

@Puschel74:
Der Wiki-Eintrag ist schon sehr hilfreich, danach bin ich auch vorgegangen ;) und zwar durch "Kopieren-und-Verändern" der 99_Utils.pm. Dann hat mich allerdings der HTML-Code verwirrt und ich hab ihn dringelassen, aber wohl nicht "sauber". Vielleicht könnte man Jörgs Hinweis hier aus dem thread noch in den Wiki-Eintrag aufnehmen ...
Gebäudesicherheit/-komfort, PV-Prognose/Verbrauchssteuerung, Heizungssteuerung, Multimedia, ...
KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200, Netatmo, Nuki, SolarForecast, HEOS, Alexa-FHEM, ...
FHEM 6.4, 2 x RasPi 3B+, Debian Bullseye