{"id":4375,"date":"2014-10-13T02:22:39","date_gmt":"2014-10-13T00:22:39","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=4375"},"modified":"2021-11-22T17:15:13","modified_gmt":"2021-11-22T16:15:13","slug":"raspberry-pi-karotz-liest-ueber-fhem-das-betreff-eintreffende-e-mails-imap-vor","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=4375","title":{"rendered":"Raspberry Pi: Karotz liest \u00fcber Fhem das Betreff eintreffende E-Mails (IMAP) vor"},"content":{"rendered":"<p>Es w\u00e4hre doch toll, wenn man bei eintreffender E-Mail benachrichtigt w\u00fcrde oder? <\/p>\n<p>So braucht man nicht immer die <a href=\"https:\/\/de.wikipedia.org\/wiki\/Nur_noch_kurz_die_Welt_retten\" title=\"148\" target=\"_blank\" rel=\"noopener noreferrer\">148<\/a> Mails checken, und kann die Welt retten.<\/p>\n<p>In diesem Projekt, beschreibe ich wie das Betreff jeder eintreffende E-Mail per Sprachausgabe ausgegeben wird. Dazu wird der <a href=\"http:\/\/blog.wenzlaff.de\/?s=karotz\" title=\"karotz\" target=\"_blank\" rel=\"noopener noreferrer\">Karotz<\/a> benutzt, der nicht nur f\u00fcr Sprachausgabe n\u00fctzlich ist.<\/p>\n<p>Zuerst das System aktuallisieren und die n\u00f6tigen <a href=\"https:\/\/www.cpan.org\/\" title=\"cpan\" target=\"_blank\" rel=\"noopener noreferrer\">cpan<\/a> Packages installieren:<\/p>\n<pre class=\"lang:default decode:true \" >sudo apt-get update\r\nsudo apt-get upgrade\r\nsudo cpan install Mail::IMAPClient\r\n# bei Nachfrage mit ja antworten:\r\n# yes \r\n# bei der n\u00e4chsten Nachfage mit return best\u00e4tigen\r\n# local::lib\r\n# ... Stunden sp\u00e4ter ...\r\nsudo cpan install IO::Socket::SSL\r\nsudo cpan install IO::Socket::INET\r\n# und optional damit Umlaute auch dargestellt werden\r\nsudo cpan install MIME::Parser\r\n# und optional GnuPG wenn nur signierte E-Mails gelesen werden sollen\r\nsudo cpan install Mail::GnuPG \r\n<\/pre>\n<p>Folgende Zeile in der Datei <code>fhem.cfg<\/code> erg\u00e4nzen:<\/p>\n<pre class=\"lang:default decode:true \" >define name mailcheck host user password<\/pre>\n<p>z.B. der IMAP von Strato:<\/p>\n<p><code>define mailcheck mailcheck imap.strato.de e-mail-von@wenzlaff.de passwort<\/code><\/p>\n<p>Nach einem restart von Fhem steht die letzte Betreffzeilen der E-Mails als Reading bereit. So sieht es dann in Fhem aus:<br \/>\n<a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2014\/10\/Bildschirmfoto-2014-10-12-um-15.46.32.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2014\/10\/Bildschirmfoto-2014-10-12-um-15.46.32-1024x827.png\" alt=\"Bildschirmfoto 2014-10-12 um 15.46.32\" width=\"640\" height=\"516\" class=\"aligncenter size-large wp-image-4383\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2014\/10\/Bildschirmfoto-2014-10-12-um-15.46.32-1024x827.png 1024w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2014\/10\/Bildschirmfoto-2014-10-12-um-15.46.32-300x242.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2014\/10\/Bildschirmfoto-2014-10-12-um-15.46.32-900x727.png 900w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2014\/10\/Bildschirmfoto-2014-10-12-um-15.46.32.png 1344w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Jetzt fehlt noch den Subject als userReadings zu setze und eine notify Funktion in der fhem.cfg die das Subject liest und an eine Funktion \u00fcbergibt. Diese Funktion macht die Sprachausgabe des Karotz und wurde an anderer stelle hier im Blog beschrieben.<\/p>\n<pre class=\"lang:sh decode:true \" >\r\n# Folgende events werden generiert\r\n#\r\n# 2014-10-11 19:13:02 mailcheck mailcheck Subject: Ohne Umlaute\r\n#\r\ndefine mailcheckAnsage notify mailcheck:Subject.* {\\\r\n   my $betreff=ReadingsVal(\"mailcheck\", \"Subject\", \"E-Mail ohne Betreff\");;\\\r\n   Set_Karotz_Nachricht('karotz-token',\"$betreff\");;\\\r\n}\r\n<\/pre>\n<p>Nach einem reread von Fhem, wird jetzt jedesmal das Betreff von <a href=\"http:\/\/blog.wenzlaff.de\/?s=karotz\" title=\"karotz\">Karotz<\/a> angesagt.<\/p>\n<p>M\u00f6gliche Fehler:<\/p>\n<p>1. Wenn dieser Fehler im Log steht, wurden die obigen cpan Packages nicht oder nicht richtig installiert:<\/p>\n<pre class=\"lang:default decode:true \" >\r\n2014.10.11 15:58:46 1: reload: Error:Modul 32_mailcheck deactivated:\r\n Can't locate Mail\/IMAPClient.pm in @INC (@INC contains: \/etc\/perl \/usr\/local\/lib\/perl\/5.14.2 \/usr\/local\/share\/perl\/5.14.2 \/usr\/lib\/perl5 \/usr\/share\/perl5 \/usr\/lib\/perl\/5.14 \/usr\/share\/perl\/5.14 \/usr\/local\/lib\/site_perl . .\/FHEM .\/FHEM\/lib) at .\/FHEM\/32_mailcheck.pm line 11, &lt;&gt; line 85.\r\nBEGIN failed--compilation aborted at .\/FHEM\/32_mailcheck.pm line 11, &lt;&gt; line 85.\r\n\r\n2014.10.11 15:58:46 0: Can't locate Mail\/IMAPClient.pm in @INC (@INC contains: \/etc\/perl \/usr\/local\/lib\/perl\/5.14.2 \/usr\/local\/share\/perl\/5.14.2 \/usr\/lib\/perl5 \/usr\/share\/perl5 \/usr\/lib\/perl\/5.14 \/usr\/share\/perl\/5.14 \/usr\/local\/lib\/site_perl . .\/FHEM .\/FHEM\/lib) at .\/FHEM\/32_mailcheck.pm line 11, &lt;&gt; line 85.\r\nBEGIN failed--compilation aborted at .\/FHEM\/32_mailcheck.pm line 11, &lt;&gt; line 85.<\/pre>\n<p>2. Wenn der MIME::Parser nicht installiert ist, wird aus diesem Betreff:<\/p>\n<p><code>mit \u00fc\u00fc\u00fc\u00fc\u00e4\u00e4\u00e4\u00e4<\/code> dann<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2014\/10\/Bildschirmfoto-2014-10-11-um-19.02.27.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2014\/10\/Bildschirmfoto-2014-10-11-um-19.02.27-1024x81.png\" alt=\"Bildschirmfoto 2014-10-11 um 19.02.27\" width=\"640\" height=\"50\" class=\"aligncenter size-large wp-image-4378\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2014\/10\/Bildschirmfoto-2014-10-11-um-19.02.27-1024x81.png 1024w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2014\/10\/Bildschirmfoto-2014-10-11-um-19.02.27-300x23.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2014\/10\/Bildschirmfoto-2014-10-11-um-19.02.27-900x71.png 900w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2014\/10\/Bildschirmfoto-2014-10-11-um-19.02.27.png 1378w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Wenn der MIME Parser aber installiert wurde, und Fhem restartet wurde, klappt es auch mit den Umlauten:<br \/>\n<a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2014\/10\/Bildschirmfoto-2014-10-11-um-20.22.32.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2014\/10\/Bildschirmfoto-2014-10-11-um-20.22.32-1024x69.png\" alt=\"Bildschirmfoto 2014-10-11 um 20.22.32\" width=\"640\" height=\"43\" class=\"aligncenter size-large wp-image-4380\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2014\/10\/Bildschirmfoto-2014-10-11-um-20.22.32-1024x69.png 1024w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2014\/10\/Bildschirmfoto-2014-10-11-um-20.22.32-300x20.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2014\/10\/Bildschirmfoto-2014-10-11-um-20.22.32-900x61.png 900w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2014\/10\/Bildschirmfoto-2014-10-11-um-20.22.32.png 1175w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a> <\/p>\n<p>3. Fhem aktualisieren.<br \/>\nHabe festgestellt, das Fhem mit einem <code>update<\/code> nicht mehr die Scripte autom. aktualisiert. Mit einem <code>update force<\/code> hat es nach ein paar Fehlermeldungen wieder geklappt. Es waren an einigen Dateien nicht mehr die n\u00f6tigen Userrechte gesetzt.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Es w\u00e4hre doch toll, wenn man bei eintreffender E-Mail benachrichtigt w\u00fcrde oder? So braucht man nicht immer die 148 Mails checken, und kann die Welt retten. In diesem Projekt, beschreibe ich wie das Betreff jeder eintreffende E-Mail per Sprachausgabe ausgegeben wird. Dazu wird der Karotz benutzt, der nicht nur f\u00fcr Sprachausgabe n\u00fctzlich ist. Zuerst das &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=4375\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eRaspberry Pi: Karotz liest \u00fcber Fhem das Betreff eintreffende E-Mails (IMAP) vor\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[220,852,290,79,1023],"tags":[1217,1736,372,373,693,1735,1737,1738,898],"class_list":["post-4375","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-heimautomatisierung","category-karotz","category-programmierung","category-raspberry-pi","tag-abfragen","tag-cpan","tag-e-mail","tag-email","tag-fhem","tag-imap","tag-installiren","tag-mailcheck","tag-notify"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/4375","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4375"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/4375\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4375"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4375"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4375"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}