FHEM Forum

FHEM - Hausautomations-Systeme => SlowRF => Thema gestartet von: reacend am 30 Dezember 2012, 10:55:40

Titel: S300TH Warnung bei bestimmter LUftfeuchtigkeit
Beitrag von: reacend am 30 Dezember 2012, 10:55:40
Hi,
hat jemand für mich eventuell einen Codeschnipsel, der mir eine E-Mail sendet sobald ein Wert unter bzw. überschritten wird?

BG,
reacend
Titel: Aw: S300TH Warnung bei bestimmter LUftfeuchtigkeit
Beitrag von: Puschel74 am 30 Dezember 2012, 11:10:10
Hallo,

ein "Schnipsel" wird dafür etwas zu wenig werden ;-)

Aber im Wiki gibt es schon einige Beispiele die ne Mail versenden und auch
die Abfrage für die Luftfeuchte sollte sich mit dem Wiki dementsprechend umbauen
lassen.

Wenn dann Fehlermeldungen im Log auftauchen wäre noch interessant welche Plattform
du verwendest und welche Fehlermeldung auftaucht.

Grüße
Titel: Aw: S300TH Warnung bei bestimmter LUftfeuchtigkeit
Beitrag von: reacend am 30 Dezember 2012, 11:26:06
Hi,
also ich habe schon extreme Problem die Mail funktion zu implementieren...
ICh h abe eine Mini-ITX Rechner mit Ubuntu und fhem per Update auf den aktuellen stand gebracht.

die 99_myUtils.pm ist auch angelegt im FHEM ordner mit allen berechtigungen die es gibt 777.


Folgenden Fehler bekomme ich:
fhem> DebianMail('email@@email.domain' (@@email.domain'),'Subject','Text');
Unknown command debianmail('email@@email.domain' (@@email.domain'),'subject','text'), try help
fhem> DebianMail('email@email.domain' ('email@email.domain'),'Subject','Text');  
Unknown command debianmail('email@email.domain' ('email@email.domain'),'subject','text'), try help
fhem>


den notify habe ich auch eingebunden:
define Sonstiges at *01:00:00 {\
  DebianMail('email@email.domain' ('email@email.domain'),'Subject','Text');;\
}

wenn ich ihn mit trigger starte kommt leider garnix, auch im log steht kein fehler.





So sieht meine 99_myUtils.pm aus:

root@mini-itx:/opt/fhem# cat FHEM/99_myUtils.pm
######## DebianMail   Mail auf dem RPi versenden  ############
package main;

use strict;
use warnings;
use POSIX;

sub
DebianMail
{
  my $rcpt = shift;
  my $subject = shift;
  my $text = shift;
  my $ret = "";
  my $sender = "fhem\@mail.de";
  my $konto = "User";
  my $passwrd = "Passwort";
  my $provider = "www.maiilserver.de";

  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=no);

  $ret =~ s,[\r\n]*,,g;        # remove CR from return-string

  Log 1, "sendEmail returned: $ret";
}

1;
root@mini-itx:/opt/fhem#
Titel: Aw: S300TH Warnung bei bestimmter LUftfeuchtigkeit
Beitrag von: reacend am 30 Dezember 2012, 11:26:59
ganz vergessen, das sendEmail paket wurde auch installiert.
Titel: Aw: S300TH Warnung bei bestimmter LUftfeuchtigkeit
Beitrag von: Puschel74 am 30 Dezember 2012, 11:44:39
Hallo,

erstmal muss die Mailfunktion funktionieren.
Ubuntu -- da sind die Linux-Cracks gefragt.
Sry da bin ich ersmtal raus.

Was mir aber auffällt ist das du DebianMail mit 3 Argumenten aufrufst:
DebianMail('email@email.domain (email@email.domain)','Subject','Text')
In deiner Routine aber kein Argument erwartet wird:
DebianMail

Kannst du DebainMail den dazu veranlassen dir überhaupt ne Mail zu schicken?
Also ohne FHEM sondern direkt über Ubuntu?
Erst wenn das klappt macht es Sinn zu schauen wo der Fehler liegt (denke ich mal).

Grüße
Titel: Aw: S300TH Warnung bei bestimmter LUftfeuchtigkeit
Beitrag von: Puschel74 am 30 Dezember 2012, 11:46:19
Nicht DebianMail (so heisst die Routine in FHEM)
sondern sendEmail meinte ich.
Titel: Aw: S300TH Warnung bei bestimmter LUftfeuchtigkeit
Beitrag von: reacend am 30 Dezember 2012, 12:08:56
Dec 30 12:07:26 mini-itx sendEmail[29804]: Email was sent successfully!

Hi das klappt...

irgendwie ist im wiki da der wurm drinne....

Was mich halt wudnert, er kennt die DebianMail funktion garnicht also das FHEM...

BG
Titel: Aw: S300TH Warnung bei bestimmter LUftfeuchtigkeit
Beitrag von: Puschel74 am 30 Dezember 2012, 12:23:25
Hallo,

schon ein reload 99_MyUtils.pm durchgeführt?
evtl. ein shutdown restart nachschieben.
Was passiert nun?

Grüße
Titel: Aw: S300TH Warnung bei bestimmter LUftfeuchtigkeit
Beitrag von: reacend am 30 Dezember 2012, 12:29:43
fhem> reload 99_myUtils.pm    
Subroutine myUtils_Initialize redefined at ./FHEM/99_myUtils.pm line 10.
Subroutine DebianMail redefined at ./FHEM/99_myUtils.pm line 16.
fhem> DebianMail
Unknown command debianmail, try help


Ist doch bullshit :(
Titel: Aw: S300TH Warnung bei bestimmter LUftfeuchtigkeit
Beitrag von: Markus am 30 Dezember 2012, 13:19:46
meine 99_emailUtils.pm


vieleicht hilft es dir ja, ich hab aber ein fritz box.


##############################################
# $Id: 99_myUtils.pm $
package main;

use strict;
use warnings;
use POSIX;


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

sub fb_mail {
my $rcpt = $_[0];
my $subject = $_[1];
my $text = $_[2];
system("echo \"$text\" > fhem_nachricht.txt");
system("mailer send -i 'fhem_nachricht.txt' -s \"$subject\" -t \"$rcpt\"");
system("rm fhem_nachricht.txt");
}

1;


Gruß Markus
Titel: Aw: S300TH Warnung bei bestimmter LUftfeuchtigkeit
Beitrag von: Martin Fischer am 30 Dezember 2012, 16:17:22
versuch es doch mal über den von mir beschriebenen weg (//www.fischer-net.de/hausautomation/fhem/24-fhem-benachrichtigt-bei-event.html)..

Titel: Aw: S300TH Warnung bei bestimmter LUftfeuchtigkeit
Beitrag von: reacend am 30 Dezember 2012, 18:05:50
Hi Markus,
also ich verstehe es nicht, auch wenn ich dein Modul in den FHEM ordner packe und nen shutfdown mache und fhem manuell neustarte geht die fb_mail funktion nicht in telnet... Ist eventuell grad ein BUG irgendwo?

Bitte helfen, will doch einfach nur mails versenden.

BG

Zitat von: Markus schrieb am So, 30 Dezember 2012 13:19meine 99_emailUtils.pm


vieleicht hilft es dir ja, ich hab aber ein fritz box.


##############################################
# $Id: 99_myUtils.pm $
package main;

use strict;
use warnings;
use POSIX;


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

sub fb_mail {
my $rcpt = $_[0];
my $subject = $_[1];
my $text = $_[2];
system("echo \"$text\" > fhem_nachricht.txt");
system("mailer send -i 'fhem_nachricht.txt' -s \"$subject\" -t \"$rcpt\"");
system("rm fhem_nachricht.txt");
}

1;


Gruß Markus
Titel: Aw: S300TH Warnung bei bestimmter LUftfeuchtigkeit
Beitrag von: Puschel74 am 30 Dezember 2012, 18:38:17
Hallo,

Achtung! Markus setzt seine Mail-Routine auf seiner FritzBox ein.
Das kannst du nicht so ohne weiteres auf dein Ubuntu übertragen (vermute ich mal).

Was ist den mit dem, von Martin, beschriebenen Weg?
Er benennt in dem angegebenen Link explizit sendEmail für sein System.
Evtl. hast du ja damit mehr Glück.

Grüße
Titel: Aw: S300TH Warnung bei bestimmter LUftfeuchtigkeit
Beitrag von: reacend am 31 Dezember 2012, 02:04:42
Hi,
naja der weg gefällt mir nicht ich möchte nciht extra noch ein bash script einsetzten... Aber eventuell nutzte ich seine system("") Methode...

Ich warte aber erstmal ab eventuell ist ja ein BUG im FHEM und beim nächsten update ist er weg..


BG,
reacend
Titel: Aw: S300TH Warnung bei bestimmter LUftfeuchtigkeit
Beitrag von: Puschel74 am 31 Dezember 2012, 10:07:59
Hallo,

naja. An einen Bug in FHEM glaube ich fast nicht da der Mailversand bei
mehreren einwandfrei funktioniert.
Egal ob über FB oder Linux (oder auch Win??).

Grüße
Titel: Aw: S300TH Warnung bei bestimmter LUftfeuchtigkeit
Beitrag von: reacend am 03 Januar 2013, 02:46:04
Hi,
der Mailversand klappt nun:
jetzt eine Frage ich habe folgendes notify eingerichtet:


define rlf_chk notify S300TH:H.* { if("%" > "65"|"%" < "75") {\
{DebianMail('mail@@domain.de' (@@domain.de'),' RLF nicht OK ','@ %')};;\
    Log 3, "@: RLF zu niedrig %";;\
    }\
}


-Aber- Das problem ist, das er ja auch nachkomma stellen im Log schreibt und mein notify damit nicht zurecht kommt:

2013-01-03_02:44:43 S300TH T: 14.7  H: 60.6

wie kriege ich ihn dazu das er auch die nachkomma stellen berechnet?

BG
Titel: Aw: S300TH Warnung bei bestimmter LUftfeuchtigkeit
Beitrag von: reacend am 03 Januar 2013, 03:00:57
sorry ich nochmal, also das problem scheint nicht die nachkomma stelle zu sein...
bei einem: trigger S300TH H: 64.1 schickt er auch ne mail raus...

nur so wenn ich den Sensor in eine umgebung mit mehr als 75% oder weniger als 65 stelle meldet er sich
Titel: Aw: S300TH Warnung bei bestimmter LUftfeuchtigkeit
Beitrag von: reacend am 03 Januar 2013, 04:26:48
Hi, also das ist echt mist.. Wir brauchen die Bearbeitungsfunktion....


Hier ein Update von meinem Code:


define humidor_chk notify Humidor:hum.* { if ("%" < 65 || "%" > 75) {\
{DebianMail('info@@nicolas-it.de' (@@nicolas-it.de'),'Humidor RLF nicht OK ','@ %')};;\
    Log 3, "@: RLF zu niedrig %";;\
    }\
}

jetzt reagiert er wenigstens beim senden der werte vom S300TH aber er schickt sie nun immer auch wenn er im soll wert ist :(
Titel: Aw: S300TH Warnung bei bestimmter LUftfeuchtigkeit
Beitrag von: reacend am 03 Januar 2013, 23:16:55
Habs hinbekommen:


define S300TH_chk notify S300TH:hum.* { if ((floor(SplitVar("%"," ",1))) < 65 || (floor(SplitVar("%"," ",1))) > 75) {\
{DebianMail('mail@mail.de' ('mail@mail.de'),'S300TH RLF nicht OK ','%')};;\
    Log 3, "@: RLF zu niedrig %";;\
    }\
}