Hallo zusammen,
ich beschäftige mich seit gestern mit fhem und möchte zunächst einmal prüfen, ob ich überhaupt da bin :-)
Eine Mail von der Commandline wird versendet, ich bekomme es aber nicht hin daß ich eine Statusmail bekomme. Bei jeder Änderung soll eine Mail versendet werden. Hier mein Code
define HandyStatus PRESENCE function {RemoteFritzBoxWeb("11:22:33:66:DB:3D")} 60 60
define Handy dummy
attr Handy setList anwesend abwesend
define HandyHome notify HandyStatus:1 set Handy anwesend;;{ DebianMail('<name@vodafone.de>','Info vom FHEM System','Handy anwesend');;}
define HandyAway notify HandyStatus:0 set Handy abwesend;;{ DebianMail('<name@vodafone.de>','Info vom FHEM System','Handy abwesend');;}
Hat jemand eine Ahnung warum nichts passiert oder so etwas schon realisiert ?
danke Gruß Willi
Ohne Dir zu nahe treten zu wollen...
- hast Du das Einsteiger.pdf gelesen?
- hast Du die entsprechenden Wiki-Beiträge gelesen?
- hast Du mal ein bisschen im Forum gestöbert?
Von Deinem Code her würde ich von NEIN ausgehen.
Es bringt nichts, wenn Du sofort einen neuen Beitrag startest.
Zu diesem Thema gibt es schon reichlich Beiträge mit unterschiedlichen Varianten.
Presence-Konfiguration checken, DebianMail-Konfiguration checken, wozu der zusätzliche Dummy;
die Antwort auf Deine Frage steht in Deinem LOG...
So etwas in der Art war mir irgendwie klar,
Zitat- hast Du das Einsteiger.pdf gelesen?
JA
Zitat- hast Du die entsprechenden Wiki-Beiträge gelesen?
JA
Zitat- hast Du mal ein bisschen im Forum gestöbert?
AUCH JA
Es fehlt anscheinend eine Anleitung für Dummies.
Danke
Die Anleitung für Dummys ist das Einsteiger-PDF. Falls das zu hoch für dich sein sollte, wie deine Aussage nahe legt, dann hast du ein Problem, das wir nicht lösen können.
Warum schaust du nicht einmal in dein Log? Dort solltest du sehen, welchen Fehler du gemacht hast. Das wäre auch eine gute Übung zur Fehlernalyse.
Du hast auch die hilfreichen Beiträge für Anfänger hier im Forum nicht gelesen, sonst wüsstest du, dass man nichts damit anfangen kann, wenn jemand schreibst "es geht nicht". Uns fehlen die Informationen, was genau nicht geht!?
Dummerweise steht in meinem Log nicht daß KEINE Mail versendet wurde. Das bringt mich jetzt also nicht weiter.
Also nochmal von vorn:
Wenn ich das hier in die fhem.cfg schreibe, dann erkennt fhem ob mein Handy eingebucht ist oder nicht.
define HandyStatus PRESENCE function {RemoteFritzBoxWeb("11:22:33:66:DB:3D")} 120 120
define Handy dummy
attr Handy setList anwesend abwesend
define HandyHome notify HandyStatus:1 set Handy anwesend
define HandyAway notify HandyStatus:0 set Handy abwesend
Sobald das notify eine Mail versenden soll, wird diese aber nicht gesendet und es wird kein Event mehr angezeigt ob Handy an-/abwesend.
define HandyStatus PRESENCE function {RemoteFritzBoxWeb("11:22:33:66:DB:3D")} 120 120
define Handy dummy
attr Handy setList anwesend abwesend
define HandyHome notify HandyStatus:1 set Handy anwesend;;{ DebianMail('<name@vodafone.de>','Info vom FHEM System','Handy anwesend');;}
define HandyAway notify HandyStatus:0 set Handy abwesend;;{ DebianMail('<name@vodafone.de>','Info vom FHEM System','Handy abwesend');;}
Hallo,
Du solltest schon etwas im Log finden. Bei der E-Mail-Adresse musst Du das @ maskieren. Also empfaenger@@name.domain
Siehe auch: http://www.fhemwiki.de/wiki/E-Mail_senden#Raspberry_Pi
Grüße Jörg
Und du willst es partout nicht alleine herausfinden?
Dein Ausführungscode ist übrigens nicht wirklich falsch.
Deine Email sollte aber vermutlich nicht <name@vodafone.de>, sondern name@vodafone.de sein. Ich weiß aber leider nicht, wie deine DebianMail-Funktion aussieht.
BTW: Das mit dem Maskieren ist nicht nötig, wenn du einen entsprechenden featurelevel von FHEM verwendest.
Marvin, was denkst du was ich den ganzen Tag mache ? >:( :( :o ::)
In meinem Log sehe ich NIX - NICHTS - NOTHING was Mail betrifft, ich versteh es nicht
Versuche mal von hinten das ganze zu prüfen.
Funktioniert Dein DebianMailsystem den generell. Kannst Du eine Mail auf der Konsole versenden und sie kommt auch da an wo sie soll?
Wenn das geht.
{ DebianMail('<name@vodafone.de>','Info vom FHEM System','Handy anwesend');;}
{ DebianMail('<n.....
ist eine Sub. Hast Du diese Sub eingerichtet? 99_myUtilsblabla?
Hast du es denn mit meinen und JoWiemanns wirklich sehr hilfreichen Tipps versucht? Außerdem habe ich in meinem Beitrag beschrieben, was uns zum Helfen evtl. noch fehlt.
Mailcode in der Commandline des fhem abgeschickt, alles ist fein (JA, die Mail kommt sogar an)
2015.07.13 14:35:19 5: Cmd: >{DebianMail('name@vodafone.de','Info vom FHEM System','Handy abwesend','');}<
2015.07.13 14:35:19 1: sendEmail RCP: name@vodafone.de
2015.07.13 14:35:19 1: sendEmail Subject: Info vom FHEM System
2015.07.13 14:35:19 1: sendEmail Text: Handy abwesend
2015.07.13 14:35:19 1: sendEmail Anhang:
2015.07.13 14:35:20 1: sendEmail returned: Jul 13 14:35:20 raspberrypi sendEmail[2444]: Email was sent successfully!
Im fhem-eventmonitor sehe ich daß die Abfrage zur Fritzbox wohl auch funzt :
Events:
2015-07-13 14:38:14 PRESENCE HandyStatus present
2015-07-13 14:39:18 PRESENCE HandyStatus present
2015-07-13 14:40:21 PRESENCE HandyStatus absent
Logfile :
2015.07.13 14:38:14 5: Cmd: >{PRESENCE_ProcessLocalScan('HandyStatus|0|present')}<
2015.07.13 14:38:14 5: PRESENCE (HandyStatus) - blocking scan result: HandyStatus|0|present
2015.07.13 14:38:14 5: Triggering HandyStatus (1 changes)
2015.07.13 14:38:14 5: Notify loop for HandyStatus present
2015.07.13 14:38:14 4: eventTypes: PRESENCE HandyStatus present -> present
2015.07.13 14:38:14 4: eventTypes: PRESENCE HandyStatus state: present -> state: present
2015.07.13 14:38:14 4: PRESENCE (HandyStatus) - rescheduling next check in 60 seconds
In der Command Line brauchst Du auch nicht maskieren, beim notify ohne entsprechenden featurelevel schon.
Grüße Jörg
@Jörg
in der fhem.cfg sieht das so aus :
define HandyStatus PRESENCE function {RemoteFritzBoxWeb("11:22:33:66:DB:3D")}
60 60
define Handy dummy
attr Handy setList anwesend abwesend
define HandyHome notify HandyStatus:1 set Handy anwesend;;
{DebianMail('name@@vodafone.de','Info vom FHEM System','Handy
abwesend','');;}
define HandyAway notify HandyStatus:0 set Handy abwesend;;
{DebianMail('name@@vodafone.de','Info vom FHEM System','Handy
abwesend','');;}
im Log ist NULL von Mail zu sehen ???
Sind das tatsächlich Zeilenvorschübe? Das wird so nicht funktionieren. Aber da ich keine Hilfe für die .cfg gebe... Wie sieht denn der Code im DEF Bereich des notify aus?
Probier mal folgendes:
{
fhem("set Handy anwesend");
DebianMail('name@@vodafone.de','Info vom FHEM System','Handy abwesend','');
}
Bitte so im Def des notify eingeben. Wenn Du direkt in der fhem.cfg arbeitest musst Du den Zeilenumbruch und das ; maskieren.
Grüße Jörg
Das ist die DEF von HandyHome
HandyStatus:1 set Handy present;{DebianMail('name@@vodafone.de','Info vom FHEM System','Handy anwesend','');}
Auch wenn es einige nicht gerne lesen: Bitte die Config nicht direkt editieren, sondern den DEF Bereich der Devices verwenden. Das erspart uns hier das aus der Nase ziehen.
HandyStatus:1 {
fhem("set Handy present");
DebianMail('name@@vodafone.de','Info vom FHEM System','Handy anwesend','');
}
Habe das jetzt so im DEF eingetragen, allerdings wird nicht einmal versucht eine Mail loszulassen:
LOG :
2015.07.13 15:21:23 4: eventTypes: PRESENCE HandyStatus absent -> absent
2015.07.13 15:21:23 4: eventTypes: PRESENCE HandyStatus state: absent -> state: absent
2015.07.13 15:21:23 4: PRESENCE (HandyStatus) - rescheduling next check in 60 seconds
2015.07.13 15:22:02 4: Connection closed for FHEMWEB:192.168.168.140:1651
2015.07.13 15:22:02 4: HTTP FHEMWEB:192.168.168.140:1649 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2015-07.log
2015.07.13 15:22:02 4: HTTP FHEMWEB:192.168.168.140:1649 GET /fhem/pgm2/style.css
2015.07.13 15:22:02 4: HTTP FHEMWEB:192.168.168.140:1649 GET /fhem/pgm2/svg.js
2015.07.13 15:22:02 4: HTTP FHEMWEB:192.168.168.140:1654 GET /fhem/pgm2/fhemweb_multiple.js
2015.07.13 15:22:02 4: HTTP FHEMWEB:192.168.168.140:1653 GET /fhem/pgm2/fhemweb.js
2015.07.13 15:22:02 4: HTTP FHEMWEB:192.168.168.140:1646 GET /fhem/pgm2/fhemweb_colorpicker.js
2015.07.13 15:22:02 4: HTTP FHEMWEB:192.168.168.140:1645 GET /fhem/pgm2/fhemweb_noArg.js
2015.07.13 15:22:02 4: HTTP FHEMWEB:192.168.168.140:1654 GET /fhem/pgm2/fhemweb_svg.js
2015.07.13 15:22:02 4: HTTP FHEMWEB:192.168.168.140:1649 GET /fhem/pgm2/fhemweb_readingsHistory.js
2015.07.13 15:22:02 4: Connection accepted from FHEMWEB:192.168.168.140:1662
2015.07.13 15:22:02 4: HTTP FHEMWEB:192.168.168.140:1653 GET /fhem/pgm2/fhemweb_textField.js
2015.07.13 15:22:02 4: HTTP FHEMWEB:192.168.168.140:1646 GET /fhem/pgm2/fhemweb_time.js
2015.07.13 15:22:02 4: HTTP FHEMWEB:192.168.168.140:1645 GET /fhem/pgm2/defaultCommon.css
2015.07.13 15:22:02 4: HTTP FHEMWEB:192.168.168.140:1662 GET /fhem/pgm2/fhemweb_slider.js
2015.07.13 15:22:02 4: HTTP FHEMWEB:192.168.168.140:1649 GET /fhem/pgm2/dashboard_style.css
2015.07.13 15:22:02 4: HTTP FHEMWEB:192.168.168.140:1649 GET /fhem/images/default/icoEverything.png
2015.07.13 15:22:02 4: HTTP FHEMWEB:192.168.168.140:1649 GET /fhem/images/default/fhemicon.png
2015.07.13 15:22:02 4: HTTP FHEMWEB:192.168.168.140:1649 GET /fhem/FileLog_logWrapper?XHR=1&inform=type=status;filter=×tamp=1436793715013
2015.07.13 15:22:23 4: BlockingCall created child (2516), uses telnetForBlockingFn to connect back
2015.07.13 15:22:23 4: Connection accepted from telnet:127.0.0.1:41178
2015.07.13 15:22:27 4: Connection accepted from telnet:127.0.0.1:41180
2015.07.13 15:22:27 4: eventTypes: PRESENCE HandyStatus present -> present
2015.07.13 15:22:27 4: eventTypes: PRESENCE HandyStatus state: present -> state: present
2015.07.13 15:22:27 4: PRESENCE (HandyStatus) - rescheduling next check in 60 seconds
2015.07.13 15:23:07 4: Closing connection FHEMWEB:192.168.168.140:1662
2015.07.13 15:23:07 4: Closing connection FHEMWEB:192.168.168.140:1653
2015.07.13 15:23:07 4: Closing connection FHEMWEB:192.168.168.140:1654
2015.07.13 15:23:07 4: Closing connection FHEMWEB:192.168.168.140:1646
2015.07.13 15:23:07 4: Closing connection FHEMWEB:192.168.168.140:1645
2015.07.13 15:23:27 4: BlockingCall created child (2517), uses telnetForBlockingFn to connect back
2015.07.13 15:23:27 4: Connection accepted from telnet:127.0.0.1:41181
2015.07.13 15:23:31 4: Connection accepted from telnet:127.0.0.1:41183
2015.07.13 15:23:31 4: eventTypes: PRESENCE HandyStatus present -> present
2015.07.13 15:23:31 4: eventTypes: PRESENCE HandyStatus state: present -> state: present
2015.07.13 15:23:31 4: PRESENCE (HandyStatus) - rescheduling next check in 60 seconds
Nachgedacht : Ich brauche die Mail ja nur, wenn der Status sich ändert! Das klappt so denke ich ja garnicht.
Ist denn dein EVENT korrekt? Die events von PRESENCE heißen ja üblicherweise "present" und "absent".
marvin,
das habe ich geändert von anwesend auf present bzw. abwesend auf absent
Aber ich glaube ich bin da bei einem "watchdog" eher am Ziel, kann das sein ? Ich würde ja sonst alle x sekunden die gleiche Mail bekommen.
Hier die fhem-events, sollte also passen
Events:
2015-07-13 15:33:05 PRESENCE HandyStatus present
2015-07-13 15:34:09 PRESENCE HandyStatus present
2015-07-13 15:35:13 PRESENCE HandyStatus present
2015-07-13 15:36:17 PRESENCE HandyStatus present
2015-07-13 15:37:21 PRESENCE HandyStatus present
2015-07-13 15:38:24 PRESENCE HandyStatus absent
2015-07-13 15:39:28 PRESENCE HandyStatus absent
Nein. Das verhinderst du mit dem Attribut event-on-change-reading im PRESENCE Device.
Du checkst auf das Event 1.
Sorry, aber ich bin hier gleich raus. Dir fehlen die Grundlagen und ich ziehe dir nicht noch mehr aus der Nase.
Besten Dank für die Hilfe, habe das ganze mit watchdog gelöst bekommen, warum auch immer meine Unfähigkeit das hinbekommen hat 8)
Nur aus Neugierde. Wie hast Du den WatchDog definiert.
Grüße Jörg
Hallo Jo, hier eine Kopie des "DEF" :
Handy:absent 00:00:10 Handy:present set Bewohner off;{DebianMail('name@vodafone.de','AutoHomer Bewohner abwesend am '. FmtDateTime(time()).'','Bewohner abwesend am '. FmtDateTime(time()).'','')};
Wie gesagt, ich beschäftige mich erst seit gestern mit dem Thema fhem, es wird schon werden......
Nun. Jetzt sind es wieder andere Events und auch ein anderes Device. Wie soll man da durchsteigen?
Es ist ja jetzt auch ein "anderer" Ansatz........