einfache Emailbenachrichtigung über FritzBox einrichten

Begonnen von Sonic, 05 Januar 2013, 00:19:45

Vorheriges Thema - Nächstes Thema

Sonic

Hallo Uli,

vielen Dank für deine Nachricht.
Anbei mein Logfile.
Interessant ist, unter der Zeile 99-myUtils deactivated: ist eine Leerzeile.
Ich verstehe nicht was da falsch ist.

Deinen Code habe ich eingegeben.
define Tempalarm_WZ notify thermostat:measured-temp.* { \
if (ReadingsVal("thermostat","measured-temp",20) < 25) { \
FB_mail('mail@@online.de' (@@online.de'),'Subject','text 123');\
}

fehlt hier nicht noch ein Klammer ? Ich zähle nur 3.
Sehe ich das falsch ?

vielen Dank
für deine Hilfe
gruss
KLAUS



2013.01.07 21:56:36 1: reload: Error:Modul 99_myUtils deactivated:
 
2013.01.07 21:56:36 3: telnetPort: port 7072 opened
2013.01.07 21:56:38 3: WEB: port 8083 opened
2013.01.07 21:56:38 3: WEBphone: port 8084 opened
2013.01.07 21:56:38 3: WEBtablet: port 8085 opened
2013.01.07 21:56:38 3: Opening CUL_0 device /dev/ttyACM0
2013.01.07 21:56:39 3: Setting CUL_0 baudrate to 9600
2013.01.07 21:56:39 3: CUL_0 device opened
2013.01.07 21:56:39 3: CUL_0: Possible commands: BCFiAZEGMRTVWXefmltux
2013.01.07 21:56:42 1: Including ./log/fhem.save
2013.01.07 21:56:42 3: initialUsbCheck return value: Unknown command usb, try help
2013.01.07 21:56:42 2: SecurityCheck:  WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute.  Restart fhem for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2013.01.07 21:56:42 0: Server started (version Fhem 5.3 (DEVELOPMENT), $Id: fhem.pl 2405 2013-01-03 12:50:16Z rudolfkoenig $, pid 607)

Sonic


ERFOLG ERFOLG ERFOLG

Das war die Lösung:

define Tempalarm_WZ notify thermostat:measured-temp.* { \
if (ReadingsVal("thermostat","measured-temp",20) < 19) { \
FB_mail('mail@@online.de' (@@online.de'),'Temperaturalarm','text 123')}}

die doppelte Klammer am Schluss hat gefehlt.

SUPER, ich freu mich.


Darf ich noch zwei letzte Fragen stellen ?

Welchen Code muss ich ergänzen, das die Mail nur einmal am Tag verschickt wird und nicht ständig ?

Wie muss ich den Code umbauen, das eine Temperatur kleiner 19 und höher 25 überwacht wird ?


Im Logfile steht zwar noch immer
2013.01.07 22:21:18 1: Including fhem.cfg
reload: Error:Modul 99_myUtils deactivated:
 
2013.01.07 22:21:19 3: telnetPort: port 7072 opened
2013.01.07 22:21:20 3: WEB: port 8083 opened
2013.01.07 22:21:20 3: WEBphone: port 8084 opened


Aber die Email kommt trodzdem an.
Verstehe diese Fehlermeldung mit leerer Zeile auch nicht.


danke und schönen Abend
KLAUS  

Puschel74

Hallo,

die Temperaturprüfung würde, in etwa, so aussehen:

if (ReadingsVal("thermostat","measured-temp",20) < 19) || (ReadingsVal("thermostat","measured-temp",20) > 25){ \

und für die Anzahl der Mails, hmmm.
Würde ich mir evtl. einen Dummy setzen der um 00:01 wieder zurück gesetzt wird und beim
Mailversand prüfen ob der Dummy on ist bzw. die Mail nur schicken lassen wenn der Dummy von
off auf on gesetzt wird.
Ist mit Sicherhheit zu kompliziert und wird auch einfacher gehen aber das wäre mal mein Ansatz.
So nach dem Motto:
Wenn Temp<19 oder Temp>25 setze Temp_ausserhalb on
define Mail_abschicken notify Temp_ausserhalb:on.* {
Code zum Mailschicken
}
und noch ein
define Temp_ausserhalb_rück at *00:01 set Temp_ausserhalb off
damit am nächsten Tag wieder ne Mail geschickt werden kann.

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.

Sonic

Hallo Uli,

vielen Dank. Ich werde das nach deiner Idee mal aufbauen und tesen.

Wegen der Temperaturüberwachung hätte ich folgende Idee.
Ich setze zwei mal notify. Einmal für Temperatur oben und einmal unten

define Tempalarm_low18WZ notify thermostat:measured-temp.* { \
if (ReadingsVal("thermostat","measured-temp",20) < 18) { \
FB_mail('mail@@online.de' (@@online.de'),'Temperaturalarm','text 123')}}


define Tempalarm_high23WZ notify thermostat:measured-temp.* { \
if (ReadingsVal("thermostat","measured-temp",20) < 23) { \
FB_mail('mail@@online.de' (@@online.de'),'Temperaturalarm','text 123')}}


Ist das schlecht oder spricht da etwas dagegen ?


vielen Dank
gruss
KLAUS


Puschel74

Hallo,

schlecht nicht aber
17 °C sind <18 und <23
d.h. dir werden beide notifys auslösen.
Sollte das zweite nicht eher auf >23 prüfen?

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.

Sonic

Ohh du hast Recht.
Ich habe es wiefolgt abgeändert.

define Tempalarm_low18WZ notify thermostat:measured-temp.* { \
if (ReadingsVal("thermostat","measured-temp",20) < 18) { \
FB_mail('meil@@online.de' (@@online.de'),'Temperaturalarm','text 123')}}


define Tempalarm_high22WZ notify thermostat:measured-temp.* { \
if (ReadingsVal("thermostat","measured-temp",20) > 22) { \
FB_mail('mail@@online.de' (@@online.de'),'Temperaturalarmhigh','text 123')}}

Ich bin sehr gespannt, ob thermostat 2 notifys auslösen kann.

gruss

Sonic

Hallo,
vielen Dank für den Input.
Die Temperaturmessungen klappen jetzt wunderbar.
Ich bekomme nun Emails beim Unter- bzw. Überschreiten meiner eingestellten Referenztemperatur.

Hast du vielleicht noch einen Tip wie ich es anstellen könnte,

Nach dem Versand der Email, soll x Stunden keine weitere solche Email kommen ?
Also, quasi einen Timer ?
Damit nicht ständig Mails in Serie kommen.

gruss
Klaus

UliM

Hi,
es gibt die perl-Variable time (ohne dollarzeichen). Hat eine seltsame Darstellung, nämlich vergangene Sekunden seit dem 01.01.1970.

Du könntest bei jedem mailversand den aktuellen zeitstempel wegschreiben, zB auf das Attribut 'comment' auf einem device, also zB
{fhem("attr <devicename> comment ".time)}

Und vor dem Versand der nächsten Mail checkst Du, ob zB schon mehr als eine Stunde (3600 Sekunden) vergangen ist:

if (...   && (time - ReadingsVal("<devicename>","comment",time)) > 3600) {#mail senden}

Vielleicht geht's ja damit.

Gruß,
Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Sonic

Hallo Uli,

danke.
Ich werde es heut Abend probieren.

gruss

GoinAway

Hallo allerseits,
erster Postversuch, interessantes Forum hier.

Trotz intensiven Lesens habe ich leider nicht alles ganz verstanden,
auch dies nicht:

Habe mir die Beschreibung von
http://www.fhemwiki.de/wiki/FHTTK:_Benachrichtigung_bei_offenem_Fenster
so eingerichtet und erhalte im Log die Fehlermeldung

n_Fenster return value: Undefined subroutine &main::fb_mail called at (eval 16) line 1.

Leider raffe ich nicht was ich nun tun muss.

Möchte mir bitte jemand helfen ?

Puschel74

In dem Codeschnipsel hast du diese zeile drin stehen

fb_mail('xxx@@xxx.de',$subject,$fhttk_status);;\

und an der verschluckt sich fhem da du in der 99_MyUtils.pm kein
sub fb_mail hast - vermute 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.

UliM

Hi,.
auch steht im Wiki-Artikel zu Mailversand aus FB7390, dass die Routine
 FB_mail
heisst. Gross7Kleinschreibung beachten, dann könnte es schon gehen.

Wichtig ist, dass Du fhem von fhem.de installiert hast. Mit der Version von AVM.de geht Mailversand nicht.

Sonst noch mal hier prüfen:
http://www.fhemwiki.de/wiki/E-Mail_senden#FB_7390_.28non-chroot.29

Gruß + viel Erfolg,
Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

GoinAway

Danke an Puschel und UliM,
in der Tat, das FB statt fb wars *grummelmitmirselber*.
Nun tut's.
Merci vielmol.

GoinAway

Hallo allerseits,
vielen Dank für die bisherigen Antworten,
ich muss aber leider nochmal fragen.

In
http://www.fhemwiki.de/wiki/FHTTK:_Benachrichtigung_bei_offenem_Fenster
werden ja alle TFK abgefragt und gemeldet.

Grundsätzlich möchte ich das schon, aber ein einziger TFK soll davon ausgenommen sein,
weil dieser genau andersherum funktionieren soll.

Da brauche ich die Meldung, wenn er schliesst unabhängig von den anderen mit anderem Text.

Ich habe nämlich herausgefunden,
dass man den TFK auch als Wassermelder mißbrauchen kann,
indem man über eine kurze Leitung 2 5ct-Stücke dicht nebeneinander anschliesst.

Könnte mir bitte nochmal jemand mit einem "Kochrezept" weiterhelfen ?

korbinian

Hi,

mach das nächste mal bitte einen eigenen Thread auf, sonst wirds unübersichtlich.

Aber um auf deine Frage einzugehen:
Undefined subroutine &main::fb_mail called at (eval 16) line 1.

Dein Fhem kennt die fb_mail funktion nicht, wahrscheinlich hast du das Script nicht hinterlegt.
In dem Wiki Eintrag, den du gepostet hast, ist ein Link zum einrichten hinterlegt: http://www.fhemwiki.de/wiki/E-Mail_senden

Dann sollte es klappen.

Grüße