S300TH Warnung bei bestimmter LUftfeuchtigkeit

Begonnen von reacend, 30 Dezember 2012, 10:55:40

Vorheriges Thema - Nächstes Thema

reacend

Hi,
hat jemand für mich eventuell einen Codeschnipsel, der mir eine E-Mail sendet sobald ein Wert unter bzw. überschritten wird?

BG,
reacend

Puschel74

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

reacend

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#

reacend

ganz vergessen, das sendEmail paket wurde auch installiert.

Puschel74

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

Puschel74

Nicht DebianMail (so heisst die Routine in FHEM)
sondern sendEmail meinte ich.
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.

reacend

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

Puschel74

Hallo,

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

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.

reacend

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 :(

Markus

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
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

Martin Fischer

--
Admin, Developer, Gründungsmitglied des FHEM e.V.

reacend

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

Puschel74

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

reacend

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

Puschel74

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

reacend

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

reacend

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

reacend

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 :(

reacend

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 %";;\
    }\
}