E-Mail senden wenn ein Sensor öffnet mit allen offnen Fenstern.

Begonnen von AK-868, 16 Juni 2013, 18:13:17

Vorheriges Thema - Nächstes Thema

AK-868

Hallo zusammen, ich hab schon hin und her versucht und leider fehlt mir noch einiges an wissen.

Edit meint ich sollte noch schreiben was ich überhaupt will und was das Problem ist :-D
Das Problem ist, es passiert schlicht nix. Kein Logeintrag, keine Fehler. Was läuft falsch?

Ich möcht gern eine Mail versenden wenn ein Fenster geöffnet wird. Das wird später noch abhängig von presence sein.
In dieser Mail sollen alle offenen Fenster aufgelistet werden.

Schön wäre es wenn mir jemand noch diese Variablen erklären könnte. Z.b was ist das $_ oder my ($hash) = @_ ??

Folgendes habe ich mir zusammenkopiert, bzw. versucht die zwei zusammenzuführen.
Quellen:

http://forum.fhem.de/index.php?t=msg&goto=60040&rid=0
http://www.fhemwiki.de/wiki/FHTTK:_Benachrichtigung_bei_offenem_Fenster

Erstmal habe ich ein neues attr in Global angelegt:

attr global userattr devStateIcon icon sortby webCmd alarm

Danach eine 99_myUtils.pm erstellt wo folgendes drin ist:

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

 use strict;
 use warnings;
 use POSIX;

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

 sub handlewindow_alarm {
 my @devicelist = devspec2array("alarm=yes");
 my @wopen = ();
 foreach(@devicelist) {
 my $sens_window = ReadingsVal($_, "state", "??");
 push (@wopen,$_) if ($sens_window eq "Open" );
 }
my $num_wopen = @wopen;
my $resultstring='';
if ( $num_wopen gt 0 ) {
      $resultstring="folgende Fenster sind noch offen:\n\n";
     foreach(@wopen) {
     $resultstring.="- ".$_."\n";
     Log 4, "handlewindow_alarm: ". $_. "noch offen";
     Log 1, "ACHTUNG Alarm ausgelöst";
     }
 }
else {
  $resultstring="alle Fenster sind derzeit geschlossen.";
 }
 return $resultstring;
 }
 1;



########################################################################


Folgendes steht in meiner fhem.cfg nur mit korrekter E-Mailadresse.

define SensorAlarm notify .*:(open) {\
 my $status = ReadingsVal("@", "state", "nn");;\
 my $deftype=$attr{@}{alarm};;\
 return if ($deftype ne "alarm");;\
 if ($defs{@}{PREVSTATE} ne $status) {\
  my $HandleWindow_Alarm=handlewindow_alarm;;\
  my $subject="FHEM: Fenster @ ".$status;;\
  fb_mail('XXXXX@@asdfasasfemail.com',$subject,$HandleWindow_Alarm);;\
  Log 3, "@: state ".$status;;\
  Log 1, "@: state ".$status;;\
 }\
}


Ich sag schonmal Danke an den jenigen der sich da Zeit für nimmt. ;)

Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


Puschel74

Hallo,

Fehlermeldungen im Logfile?

Das

ZitatHardware FHEM:
Fritzbox 7390
Rest folgt...
aus deiner Signatur ist etwas dürftig.

Fehler kann sein ...
Rest folgt

Grüße

P.S.: Bitte erst deine Signatur fertig stellen bevor du Hilfe erwartest.
FB7390 = ok
FHEM von wo?
AVM Labor oder fhem.de? (Nein, die Erstinstallation ist gemeint)
Also erst die Labor von AVM auf die FB gespielt dann bitte Anfrage an AVM stellen oder die Labor wieder entfernen und die fhem.de Version aufspielen.
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.

AK-868

Servus,

so, fhem erst die Laborversion danach von hier drueberkopiert. Hmlan fuer die Kommunikation.

Fhem wird als root ausgefuehrt.

Mails versenden generell funktioniert.  

Die Signatur aktualisieren, puh. Mittlerweile  einige Aktoren. Sensoren.  Rauchmelder.

Mit keine Logs mein ich was das hier angeht. Generell.

Vllt. ist irgendwo nen Syntaxfehler?



MfG




Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


Puschel74

Hallo,

das
Zitatso, fhem erst die Laborversion danach von hier drueberkopiert.
impliziert das du die AVM-Labor als Grundinstallation auf deiner FB hast.

Was macht dich da
ZitatFhem wird als root ausgefuehrt.
so sicher?

Wie Rudi schonmal in einem Beitrag geschrieben hat

Zitat aus dem Kopf:
Das Update spielt die neuesten Dateien ein - die Restriktionen der AVM-Labor können! aber dennoch vorhanden sein
Zitat aus dem Kopf Ende:

Das heisst für mich das deine FHEM-Version immer noch als chroot läuft und nicht als root (sonst wäre es ja keine Labor).

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.

AK-868

In der prozessliste steht root. Ergo wird das fuer mich auch als root ausgefuehrt. Oder denke ich zu Windows?

Mit chroot kann man mit FB_Mail keine Mails versenden. Das laueft ja auch.

Warum deiner Meinung nach, soll das nicht laufen? Welcher Berechtigungsfehler koennte vorliegen, warum was nicht geht?

mfg
Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


Puschel74

Hallo,

naja

ZitatDas Problem ist, es passiert schlicht nix. Kein Logeintrag, keine Fehler. Was läuft falsch?

Ich möcht gern eine Mail versenden wenn ein Fenster geöffnet wird. Das wird später noch abhängig von presence sein.

Dazu gibt es schon genug Beiträge hier - und evtl. auch im Wiki.

Das

ZitatIn der prozessliste steht root.

kann sein - die Einschränkungen der Labor können! nach wie vor greifen (chroot - kein Zugriff auf alle Funktionen).

Das
ZitatHardware FHEM:
Fritzbox 7390
Rest folgt...
ermuntert nicht unbedingt zur (Mit)Hilfe - nach wie vor nicht.

Also nochmal:
Bitte die Labor sauber entfernen und die fhem.de-Version einspielen (fhem.cfg bitte vorher sichern und danach einfach wieder einspielen).

Grüße

P.S.: Es gibt sogar einen eigenen Beitrag im Anfängerbereich wie man FHEM sauber auf einer 7390 installiert.
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.

Icebear

Hi,

als tip du könntest einen Structure (damit was anspricht egal welches fenster aufgeht) mit einer Watchdog (damit die Meldung nur einmal bei einer Statusänderung von Zu nach Offen kommt) kombinieren.

Auf die Art hast du die Problematik erschlagen das offene Fenster abzufangen. Wie du jetz die Liste der fenster in eine Mail bekommst kann ich dir leider nicht sagen da ich (noch) kein Perl kann.

Warum wurd das ganze auch nicht in pascal geschrieben <fg>
Raspberry PI mod B (Wheezy), Fhem 5.4, CUL868, CUL433 , RfxTrx, HM-USB-CFG2, Wlan, HomeEasy, IT, FS20, TFA, HomeMatic, Oregon Scientific, HMLand auf Fritzbox
Raspberry PI mod B (RaspBMC)

AK-868

Hallo,

einfache Version, war aber nicht mein Ziel:

define notify_Fenster_open notify sens.*open.* {\
  FB_mail ('mailadresse@@keinedomain.com','Fenster geöffnet','Der Sensor @ ist offen!!');;\
}


Da wird nur für den offenen Sensor eine Mail generiert.


sens_GaesteWC z.B. würde dann z.B. erfasst.

Am Wochenende mach ich dann FHEM neu drauf.

Das mit dem Watchdog muß ich dann wohl noch erst verstehen. ;)


@puschel74

Ich hab gestern vom Tablet aus geschrieben, da motiviert es einen nicht die Signatur zu aktualisieren ;)



Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder