FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Automatik-Willi am 13 Juli 2015, 11:43:41

Titel: Gebäudeüberwachung mit Presence
Beitrag von: Automatik-Willi am 13 Juli 2015, 11:43:41
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
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: Hollo am 13 Juli 2015, 12:44:39
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...
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: Automatik-Willi am 13 Juli 2015, 12:57:36
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
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: marvin78 am 13 Juli 2015, 13:11:13
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!?
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: Automatik-Willi am 13 Juli 2015, 13:37:15
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');;}


Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: JoWiemann am 13 Juli 2015, 13:42:20
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
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: marvin78 am 13 Juli 2015, 13:49:12
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.
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: Automatik-Willi am 13 Juli 2015, 13:59:44
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
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: CoolTux am 13 Juli 2015, 14:03:52
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?
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: marvin78 am 13 Juli 2015, 14:04:39
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.
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: Automatik-Willi am 13 Juli 2015, 14:42:39
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
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: JoWiemann am 13 Juli 2015, 14:45:08
In der Command Line brauchst Du auch nicht maskieren, beim notify ohne entsprechenden featurelevel schon.

Grüße Jörg
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: Automatik-Willi am 13 Juli 2015, 14:56:39
@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  ???
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: marvin78 am 13 Juli 2015, 15:05:38
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?
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: JoWiemann am 13 Juli 2015, 15:07:30
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
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: Automatik-Willi am 13 Juli 2015, 15:09:32
Das ist die DEF von HandyHome

HandyStatus:1 set Handy present;{DebianMail('name@@vodafone.de','Info vom FHEM System','Handy anwesend','');}
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: marvin78 am 13 Juli 2015, 15:11:15
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','');
}
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: Automatik-Willi am 13 Juli 2015, 15:26:19
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=&timestamp=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.
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: marvin78 am 13 Juli 2015, 15:31:04
Ist denn dein EVENT korrekt? Die events von PRESENCE heißen ja üblicherweise "present" und "absent".
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: Automatik-Willi am 13 Juli 2015, 15:38:05
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
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: marvin78 am 13 Juli 2015, 15:40:56
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.
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: Automatik-Willi am 13 Juli 2015, 18:54:58
Besten Dank für die Hilfe, habe das ganze mit watchdog gelöst bekommen, warum auch immer meine Unfähigkeit das hinbekommen hat  8)
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: JoWiemann am 13 Juli 2015, 19:02:00
Nur aus Neugierde. Wie hast Du den WatchDog definiert.

Grüße Jörg
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: Automatik-Willi am 13 Juli 2015, 19:08:03
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......
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: marvin78 am 13 Juli 2015, 19:10:21
Nun. Jetzt sind es wieder andere Events und auch ein anderes Device. Wie soll man da durchsteigen?
Titel: Antw:Gebäudeüberwachung mit Presence
Beitrag von: Automatik-Willi am 13 Juli 2015, 19:14:48
Es ist ja jetzt auch ein "anderer" Ansatz........