Hallo,
meine Wetterstation kann mir z.b. bei Unterschreitung einer Temperatur eine E-Mail schicken.
Meine Frage, gibt es eine Möglichkeit eine E-Mail, mit einen bestimmten Text, z.b. "ALARM987" auszuwerten, um dann in der Homematic ein Gerät zu schalten?
Danke schon einmal für die Hilfe.
E-Mail auswerten
Moderator: Co-Administratoren
-
- Beiträge: 234
- Registriert: 15.01.2011, 14:40
- System: CCU und Access Point
- Wohnort: Waldheim / Sachsen
- Hat sich bedankt: 25 Mal
E-Mail auswerten
Zentrale: Charly RaspberryMatic (Pi4), Gateway: Raspberry Pi3 HM-MOD-RPI-PCB, 3 Stück Funk-Schaltaktor, 4-fach, 2 Stück Funk-Rollladenaktor für Markenschalter, 1 Stück 8-Kanal-Sendemodul, 1 Stück E-Paper-Display, 2 Stück Funk-Tür-/Fensterkontakt, WinMatic, 2 Stück Heizkörperthermostat HmIP-eTRV-2, Wandthermostat HmIP-WTH-2, weiterer Ausbau nach und nach geplant.
-
- Beiträge: 12943
- Registriert: 16.01.2009, 18:48
- Wohnort: Steingaden
- Hat sich bedankt: 1619 Mal
- Danksagung erhalten: 222 Mal
Re: E-Mail auswerten
mit geeignetem prg und geigneter empfangshardware sollte da was zu machen sein aber nicht auto off the box..... insgesamt ist da email nicht das mittel der wahl !
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso !!!
wer schreibfehler findet darf sie behalten.
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso !!!
wer schreibfehler findet darf sie behalten.
-
- Beiträge: 6829
- Registriert: 22.05.2012, 08:40
- System: CCU
- Hat sich bedankt: 25 Mal
- Danksagung erhalten: 499 Mal
Re: E-Mail auswerten
Du brauchst halt eine IMAP oder POP3 Instanz, aus der Du die Daten auslesen kannst, ob so was mit den Mitteln von einer CCU alleine geht, weis ich persönlich nicht.
Ich nutzte für so was seit Jahren IP-Symcon mit einer IMAP Instanz.
Das Skript, was dann auf ein Betreff prüfen würde, sehe dann beispielsweise so aus
Code: Alles auswählen
<?php
declare(strict_types=1);
$scriptName = IPS_GetName($_IPS['SELF']) . '(' . $_IPS['SELF'] . ')';
$scriptInfo = IPS_GetName(IPS_GetParent($_IPS['SELF'])) . '\\' . IPS_GetName($_IPS['SELF']);
$imap_id = 26458; // ID IMAP Instance
$inbox = IMAP_GetCachedMails($imap_id);
foreach ($inbox as $item) {
$subject = $item['Subject'];
$uid = $item['UID'];
$date = date('d.m.Y H:i:s', $item['Date']);
IPS_LogMessage($scriptName, $scriptInfo . ': Mail #' . $uid . ' von ' . $date . ': "' . $subject . '"');
if($subject === "ALARM")
{
RequestAction(40018, true); // ID Instance Homematic IP
}
}
Nur auf den Betreff so einfach zu prüfen ist aber eher zu wenig bzw. zu ungenau. Da müsstest Du wohl eher eine regular expression nutzten, um das genau abzufragen.
Wahrscheinlich ist es auch sinnvoll je nach Aufbau der Email noch in den Text der Email zu schauen und diesen zu prüfen, wenn der Betreff alleine nicht aussagekräftig ist.
Bei IP-Symcon würde man den Inhalt so auslesen
Code: Alles auswählen
$msg = IMAP_GetMailEx($imap_id, $uid);
$text = $msg['Text'];
$lines = explode("
", $text);
$n = 0;
$goodcount = 0;
$failcount = 0;
foreach ($lines as $line) {
$r = preg_replace('/^- [^,]*, ([0-9\.]*) EXAMPLEEXPRESSION ([A-Za-z]*).*$/', '$1;$2', $line);
if ($r != $line) {
$vals = explode(';', $r);
switch (strtolower($vals[1])) {
case 'ALARM':
$oid = 40018;
break;
default:
$oid = '';
break;
}
if ($oid) {
$ts = intval(strtotime($vals[0]));
RequestAction($oid, $ts);
IPS_LogMessage($scriptName, $scriptInfo . ': ... decoded line #' . $n . ' "' . $line . '"');
$goodcount++;
} else {
echo 'unable to decoded line #' . $n . ' "' . $line . '"' . "
";
$failcount++;
}
}
$n++;
}
Wenn Du Dir sicher bist, dass die regular expression funktioniert und Du die Email richtig identifiziert hast, kannst Du diese dann auch gleich vom IMAP Server löschen
Code: Alles auswählen
if ($goodcount && !$failcount) {
IMAP_DeleteMail($imap_id,$uid);
}
- Black
- Beiträge: 5534
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 432 Mal
- Danksagung erhalten: 1094 Mal
- Kontaktdaten:
Re: E-Mail auswerten
Dies über email zu lösen ist da eher 2. Wenn nicht sogar 3. Wahl. Dauerndes polling auf eine vllt eingehende Email. Kann man machen. Würd ich nicht tun
Auch betrachtet auf eine wirtschaftliche umsetzung ergibt sich folgendes Gedankengang.
Hat man Fonzos beworbenen Lösung schon gekauft, ist das in dem Fall kostenneutral und kann eingesetzt werden.
Hat man es nicht kann man für eine 2. Oder 3. Wahl Lösung ein paar 100 Euro auf den Tisch legen und dies so umsetzen und sich zurechtbasteln
Oder man überlegt, brauch ich die aktualdaten der Station oder reicht das auslesen einer wetterseite.
Wenn ja, ccu script = keine Hardware oder softwarekosten
Wenn nein, kaufe ich für ein paar 100 Euro zusatzhardware und Software? Wenn nein, ,möchte ich für 50euro den hmip aussensensor kaufen und hab die Daten direkt in der CCU?
Wenn ich wirklich die Email auswerten will, will ich neben einer Hardware, auf der dann eine middleware laufen muss, auch noch für ein paar hundert Euro Software kaufen oder setz ich eine Hardware mit Open Source Software ein und löse das Problem so:
https://forum.iobroker.net/topic/18501/emails-empfangen
Mehrere Ansätze deren funktionale und monitären Einsatz du nun abwägen und dann entscheiden kannst.
Black
Auch betrachtet auf eine wirtschaftliche umsetzung ergibt sich folgendes Gedankengang.
Hat man Fonzos beworbenen Lösung schon gekauft, ist das in dem Fall kostenneutral und kann eingesetzt werden.
Hat man es nicht kann man für eine 2. Oder 3. Wahl Lösung ein paar 100 Euro auf den Tisch legen und dies so umsetzen und sich zurechtbasteln
Oder man überlegt, brauch ich die aktualdaten der Station oder reicht das auslesen einer wetterseite.
Wenn ja, ccu script = keine Hardware oder softwarekosten
Wenn nein, kaufe ich für ein paar 100 Euro zusatzhardware und Software? Wenn nein, ,möchte ich für 50euro den hmip aussensensor kaufen und hab die Daten direkt in der CCU?
Wenn ich wirklich die Email auswerten will, will ich neben einer Hardware, auf der dann eine middleware laufen muss, auch noch für ein paar hundert Euro Software kaufen oder setz ich eine Hardware mit Open Source Software ein und löse das Problem so:
https://forum.iobroker.net/topic/18501/emails-empfangen
Mehrere Ansätze deren funktionale und monitären Einsatz du nun abwägen und dann entscheiden kannst.
Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
-
- Beiträge: 6829
- Registriert: 22.05.2012, 08:40
- System: CCU
- Hat sich bedankt: 25 Mal
- Danksagung erhalten: 499 Mal
Re: E-Mail auswerten
Das hängt ausschließlich vom Email Server ab, wenn dieser IMAP IDLE unterstützt, muss auch nicht ständig abgefragt werden. Selbst wenn dieser das nicht unterstützten sollte, fragen viele Email Clients einen IMAP Server so ab.
-
- Beiträge: 234
- Registriert: 15.01.2011, 14:40
- System: CCU und Access Point
- Wohnort: Waldheim / Sachsen
- Hat sich bedankt: 25 Mal
Re: E-Mail auswerten
Erst einmal allen vielen Dank für die Tipp´s und Ratschläge.
Fonzo, leider habe ich von Programmierung keine Ahnung.
Ich bekomme es zwar hin einen Script in die Homematic zu kopieren, dann bin ich aber auch schon am Ende.
Dann wird das wohl mit meinen Vorhaben nichts werden.
Fonzo, leider habe ich von Programmierung keine Ahnung.
Ich bekomme es zwar hin einen Script in die Homematic zu kopieren, dann bin ich aber auch schon am Ende.
Dann wird das wohl mit meinen Vorhaben nichts werden.
Zentrale: Charly RaspberryMatic (Pi4), Gateway: Raspberry Pi3 HM-MOD-RPI-PCB, 3 Stück Funk-Schaltaktor, 4-fach, 2 Stück Funk-Rollladenaktor für Markenschalter, 1 Stück 8-Kanal-Sendemodul, 1 Stück E-Paper-Display, 2 Stück Funk-Tür-/Fensterkontakt, WinMatic, 2 Stück Heizkörperthermostat HmIP-eTRV-2, Wandthermostat HmIP-WTH-2, weiterer Ausbau nach und nach geplant.
-
- Beiträge: 6829
- Registriert: 22.05.2012, 08:40
- System: CCU
- Hat sich bedankt: 25 Mal
- Danksagung erhalten: 499 Mal
Re: E-Mail auswerten
So ein Ansatz lohnt sich an sich auch nur dann, wenn Du generell Emails auswerten willst und damit eine Automation starten willst. So könntest Du z.B. die Beleuchtung kurz in der Farbe ändern, wenn eine wichtige Email von einem bestimmten Absender eingehen sollte.
Je mehr Du im Detail auswerten willst, wirst Du nicht umhin kommen Dich ein wenig mit Funktionen auseinander zu setzten. Für so einen einfachen Fall wie nur auf den Betreff Alarm zu reagieren, reicht da aber auch meist Copy & Paste mit ein paar Anpassungen aus.
Wenn es Dir lediglich und ausschließlich darum geht ein Unterschreiten einer Temperatur auszuwerten, kannst Du das ja auch deutlich einfacher haben bzw. realisieren. Dazu brauchst Du ja lediglich einen Sensor von Homematic IP und kannst dann mit einem normalen Programm auf der CCU arbeiten.
Ein Ansatz Emails auszuwerten lohnt sich eigentlich nur dann, wenn Du das umfangreich noch zu anderen Zwecken nutzt, nur um ausschließlich auf eine Temperatur Änderung zu reagieren, ist das ein wenig wie mit Kanonen auf Spatzen zu schießen.