NEWS
Test Adapter ioBroker.imap latest/stable
-
@lucky_esa sagte in Test Adapter ioBroker.imap latest/stable:
Aber natürlich geht das. Wie das geht steht in der Anleitung unter Beispiele oder hier im Thread ca. 10 Post zurück. Auch mit Blockly Beispiel.
Ich hatte es über die Forumssuche probiert und dann grob die erste Hälfte vom Thread überflogen. Dachte nicht, dass so weit unten eine Lösung kommt....
Asche auf mein Haupt.@falke69 sagte in Test Adapter ioBroker.imap latest/stable:
Perfekt!
Funktioniert wunderbar.
Jetzt bekomme ich wieder meine Nachrichten von der Fritzbox per Telegram.Ich wünsche Dir noch ein schönes Wochenende.
Kannst du mir das Blockly mal zeigen?
-
ich habe das noch etwas nach meinen Bedürfnissen angepasst
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="z0O6x85%yoa7-}v~#.Bf">meta</variable> <variable id="s[uS~^6MKkVuzwj4r1=4">filename</variable> <variable id="+Tu=%xGC).)IE/9zIpah">i</variable> <variable id="jFVfezXGqV9MqVXz9=.m">result</variable> <variable id="{l3Cxl$Exrh(JtP4mb,_">j</variable> </variables> <block type="procedures_defcustomnoreturn" id="Nxa%U~h/LNlazXSdwCcy" x="-37" y="-862"> <mutation statements="false"> <arg name="meta" varid="z0O6x85%yoa7-}v~#.Bf"></arg> <arg name="filename" varid="s[uS~^6MKkVuzwj4r1=4"></arg> </mutation> <field name="NAME">deleteFile</field> <field name="SCRIPT">Y29uc29sZS5sb2coIlRFU1QiKTsNCmRlbEZpbGUobWV0YSwgZmlsZW5hbWUsIGZ1bmN0aW9uIChlcnJvcikgew0KICAgIGlmICghZXJyb3IpIHsNCiAvLyAgICAgICBjb25zb2xlLmxvZygnRGF0ZWkgJyArIGZpbGVuYW1lICsgJyBnZWzDtnNjaHQnKTsNCiAgICB9IGVsc2Ugew0KIC8vICAgICAgIGNvbnNvbGUubG9nKCdGZWhsZXIgYmVpbSBsw7ZzY2hlbjogJyArIGVycm9yKTsNCiAgICB9DQp9KTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="on_ext" id="FI8H=9bXf-oF?79]E,G+" x="-37" y="-812"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="zY)BkjkQ85tW{|i#*v-e"> <field name="oid">0_userdata.0.Telefon.Anrufbeantworter.Wir.Nachricht_vorhanden</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="5zdRAx,OtqY4a|6D+ib9"> <value name="IF0"> <block type="logic_compare" id="RUxMpUZ_q||I-Ek?q-0E"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="ixzX]j?n_fyrcqIoCb#N"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Telefon.Anrufbeantworter.Wir.Nachricht_vorhanden</field> </block> </value> <value name="B"> <block type="logic_boolean" id="-f6rdwt8F,u+HlyIoDLh"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="imap_request" id="xQ)3}$)x;VR+7~XjRplw"> <field name="INSTANCE">.0</field> <field name="IMAPNAME">rene@familie-herrn.de</field> <field name="MAILPARSER">TRUE</field> <field name="LOG"></field> <value name="SEARCH"> <shadow type="text" id="!T]w@eqhQ9}^EV5w-Lb@"> <field name="TEXT">["ALL"]</field> </shadow> </value> <value name="FETCH"> <shadow type="text" id="fI(^g5m;:g@I+2%Z,d?Y"> <field name="TEXT">{"fetch": false, "uid": [1780]}</field> </shadow> </value> <value name="BODIES"> <shadow type="text" id="3(s4RwI(z[N|{OP7g@%L"> <field name="TEXT">{bodies: "", markSeen: false}</field> </shadow> </value> <value name="MAX"> <shadow type="math_number" id="Av8.]xQus`A|:V`G]@0,"> <field name="NUM">1</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_forEach" id=";5`S)VG*GMh(Xrc7hbc:"> <field name="VAR" id="+Tu=%xGC).)IE/9zIpah">i</field> <value name="LIST"> <block type="variables_get" id="!W|@W97vZFm4[:1.X##+"> <field name="VAR" id="jFVfezXGqV9MqVXz9=.m">result</field> </block> </value> <statement name="DO"> <block type="controls_forEach" id="Su`KfJr:^P,c:J)u**Ho"> <field name="VAR" id="{l3Cxl$Exrh(JtP4mb,_">j</field> <value name="LIST"> <block type="get_attr" id="09_6JP~5I]x(eX)jP4UY"> <value name="PATH"> <shadow type="text" id="mpeh{~Hx(V4_}iRulQ4q"> <field name="TEXT">body.attachments</field> </shadow> </value> <value name="OBJECT"> <shadow type="get_object" id="JN0k1$$B(}[z;mZ2f6Cy"> <field name="OID">Object ID</field> </shadow> <block type="variables_get" id="%{HYF_q*Gci7qQZ5$tYX"> <field name="VAR" id="+Tu=%xGC).)IE/9zIpah">i</field> </block> </value> </block> </value> <statement name="DO"> <block type="file_write" id="h$277P5?poe51:5Zd:h|"> <value name="OID"> <shadow type="field_oid_meta" id="69dxJ]n,Pi96lc[4?;Xx"> <field name="oid">0_userdata.0</field> </shadow> <block type="field_oid_meta" id="2|EntCIt_@;Qk#c|,c{?"> <field name="oid">0_userdata.0</field> </block> </value> <value name="FILE"> <shadow type="text" id="-JCw*w*{KMGA(GRL*4hz"> <field name="TEXT">message.wav</field> </shadow> </value> <value name="DATA"> <block type="get_attr" id=")W+8NuW6rNE9yk_p!$r7"> <value name="PATH"> <shadow type="text" id="yDK`(Sby-62509_o{iQ7"> <field name="TEXT">content</field> </shadow> </value> <value name="OBJECT"> <shadow type="get_object" id="JN0k1$$B(}[z;mZ2f6Cy"> <field name="OID">Object ID</field> </shadow> <block type="variables_get" id="%E!H$v~@+#4[t}o}sueY"> <field name="VAR" id="{l3Cxl$Exrh(JtP4mb,_">j</field> </block> </value> </block> </value> <next> <block type="telegram" id="gVgR|GQGaSRB,IK)5+1("> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="cDew.TH@B*rf[!BAfURr"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="4WJW){4Eq55)G,%-yju*"> <mutation items="7"></mutation> <value name="ADD0"> <block type="text" id="$J{_|i6@fZ?;vZz}+s[7"> <field name="TEXT">Der Anrufer</field> </block> </value> <value name="ADD1"> <block type="text_newline" id="^$/E=8;sgM#H%|kq|Pun"> <field name="Type">\n</field> </block> </value> <value name="ADD2"> <block type="get_value" id="z8$x0{=,bOapN=k[MwRP"> <field name="ATTR">val</field> <field name="OID">tr-064.0.callmonitor.lastCall.callerName</field> </block> </value> <value name="ADD3"> <block type="text_newline" id=":tSj{c3qsM}7=Pov1~Mc"> <field name="Type">\n</field> </block> </value> <value name="ADD4"> <block type="text" id="EBOT~bIL8%2a+~$DwS$O"> <field name="TEXT"> hat eine Nachricht hinterlassen</field> </block> </value> <value name="ADD5"> <block type="text_newline" id="19[D,:A4A^,f1JiFG?Jg"> <field name="Type">\n</field> </block> </value> <value name="ADD6"> <block type="text" id="x?J_D!#R8Wvtu{H^4(RH" disabled="true"> <field name="TEXT">/opt/iobroker/iobroker-data/files/0_userdata.0/</field> </block> </value> </block> </value> <value name="USERNAME"> <block type="text" id="4`AAPKNU?1@1+8L_:#^;"> <field name="TEXT">falke69</field> </block> </value> <next> <block type="timeouts_wait" id="6r(V!)w]{@}~[)3qg+k@"> <field name="DELAY">3000</field> <field name="UNIT">ms</field> <next> <block type="procedures_callcustomnoreturn" id="3C-Luk:GC8%HCs5)*3c."> <mutation name="deleteFile"> <arg name="meta"></arg> <arg name="filename"></arg> </mutation> <value name="ARG0"> <block type="field_oid_meta" id="U~U1,%5j=8j-fidf,]nn"> <field name="oid">0_userdata.0</field> </block> </value> <value name="ARG1"> <block type="text" id="Udfnz^/b!@YnG:o!~SgI"> <field name="TEXT">message.wav</field> </block> </value> <next> <block type="timeouts_wait" id="uWrjEbeZ%j`C/6AvXgf~"> <field name="DELAY">3000</field> <field name="UNIT">ms</field> <next> <block type="control" id="ivo{.8g-#Q3+$FR^I@tl"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Telefon.Anrufbeantworter.Wir.Nachricht_vorhanden</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="@vx~C[!/c@RxgfZdsIX`"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="timeouts_wait" id="y}qC/,6@mLlz/61(-6`r" disabled="true"> <field name="DELAY">5</field> <field name="UNIT">min</field> <next> <block type="comment" id="keX_mctxGqcY3wp!xYj3"> <field name="COMMENT">Nachricht auf AB löschen</field> <next> <block type="control" id="u3Nh8wW3;0qU_7T,S{RL"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Telefon.Anrufbeantworter.Nachricht_loeschen</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="0NvDQJ!u^FGR!vPT?%@t"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="IRc5jojMEm%V}t])YK^l"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Json</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="P[?=qmX1hB=1z`C=KY?c"> <field name="TEXT">{ "service": "urn:dslforum-org:service:X_AVM-DE_TAM:1", "action": "DeleteMessage", "params": { "NewIndex ": "0" "NewMessageIndex ": "0" } }</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> </statement> </block> </statement> </block> </xml>
-
Vielen Dank.
Da sehe ich mal wie es umgesetzt ist.Ka ob es jetzt offtopic ist, ist jedoch ja im Zusammenhang mit dem Adapter.
Ich müsste die Datei auf die Festplatte schreiben.
Ich drucke das PDF über einen exec Baustein wo ich den absoluten Pfad angeben muss. -
bei dem Drucken kann ich Dir leider nicht helfen.
Du kannst Dir aber auch das Script von @lucky_esa anschauen.
Ich brauchte halt nur einen Denkanstoß die Datei zu speichern und der Datei einen eindeutigen Namen zu vergeben. -
Ich glaube ich mache da einen extra Thread auf.
Ist hier zu offtopic.
Verlinke aber die Lösung. -
@david-g sagte in Test Adapter ioBroker.imap latest/stable:
Vielen Dank.
Da sehe ich mal wie es umgesetzt ist.Ka ob es jetzt offtopic ist, ist jedoch ja im Zusammenhang mit dem Adapter.
Ich müsste die Datei auf die Festplatte schreiben.
Ich drucke das PDF über einen exec Baustein wo ich den absoluten Pfad angeben muss.Den kannst du dir doch suchen. Wenn du die Blocklys hier nutzt dann siehst du die Dateien unter "Benutzerdaten" und dort ist auch der Pfad.
-
Tatsache.
Ich dachte die Dateien wären von außen nicht zu erreichen.....Liegt unter
https://192.168.99.33:8081/files/0_userdata.0/test.pdf
/opt/iobroker/iobroker-data/files/0_userdata.0/test.pdf
-
Hi there,
ich habe da mal eine etwas spezielle Frage.
Ich möchte automatisiert Antworten rausschicken AI generiert. Die Anworten zu generieren dauert schnell mal 30 - 60 Sek. In dieser Zeit können aber wieder e-Mails reinkommen und damit ändert sich dann die Reihenfolge in den Objekten. Wenn ich nun ein seen oder answered flag schreibe würde ich in das falsche Objekt schreiben. Ich würde nun gerne den Adapter anweisen während dieser Zeit keine Mails abzuholen (also auf hold zu setzen) und sobald der AI task abgearbeitet ist soll er dann wieder mails abholen.
Klar kann ich das über die UID abfangen aber dennoch besser wäre es einfach während dieser Zeit keine Änderung zu haben. Macht alles einfacher. Ich kann natürlich den gesamten Adapter anhalten, aber das macht eigentlich auch keinen Sinn, besser wäre so eine on hold Lösung. Ist so etwas möglich ?Andreas
-
@randyandy Das macht keinen Sinn. Arbeite mit await und arbeite dann alle eMails die eingehen ab. Trigger z. Bsp. auf die uid.
Inhalt der Funktion:
await wait(60 * 1000); // Deine Chatgpt Abfrage console.log(seq) // Das ist deine uid um die Mail als gelesen zu markieren sendTo('email', 'send', { text: 'chatgpt Text', to: 'user@domain.tld', subject: '', }); sendTo('imap.0', 'getFlags', { flag: 'setFlags', uid: seq, flagtype: 'Seen', name: 'all', });
-
@d3ltoroxp Hast du mal mit dem eMail Adapter versucht über das Schulkonto Mails zu versenden?
-
@lucky_esa sagte in Test Adapter ioBroker.imap latest/stable:
flag
Das mit dem flag ist eine Lösung, vielen Dank. Ich könnte es als "answered" markieren und darauf dann überprüfen.
Nur mal so als Frage. Kann man im IMAP eigentlich auch individuelle flags verwenden ?Andreas
-
@randyandy sagte in Test Adapter ioBroker.imap latest/stable:
@lucky_esa sagte in Test Adapter ioBroker.imap latest/stable:
flag
Das mit dem flag ist eine Lösung, vielen Dank. Ich könnte es als "answered" markieren und darauf dann überprüfen.
Nur mal so als Frage. Kann man im IMAP eigentlich auch individuelle flags verwenden ?Andreas
Vielleicht mit key arbeiten. Zuerst addKeywords und dann setKeywords.
-
@lucky_esa sagte in Test Adapter ioBroker.imap latest/stable:
@randyandy sagte in Test Adapter ioBroker.imap latest/stable:
@lucky_esa sagte in Test Adapter ioBroker.imap latest/stable:
flag
Das mit dem flag ist eine Lösung, vielen Dank. Ich könnte es als "answered" markieren und darauf dann überprüfen.
Nur mal so als Frage. Kann man im IMAP eigentlich auch individuelle flags verwenden ?Andreas
Vielleicht mit key arbeiten. Zuerst addKeywords und dann setKeywords.
Probiere ich mal aus, MElde mich dann ob es funktioniert hat.
-
hat leider nicht funktioniert. Das kann aber aber durchaus auch am IMAP Server liegen.
Laut Bescheibung wird das nicht von allen Servern unterstützt.Andreas
-
@randyandy sagte in Test Adapter ioBroker.imap latest/stable:
hat leider nicht funktioniert. Das kann aber aber durchaus auch am IMAP Server liegen.
Laut Bescheibung wird das nicht von allen Servern unterstützt.Andreas
Bekommst du denn Fehlermeldungen ins Log geschrieben? Und ja, muss natürlich vom Server unterstützt werden. Das Bsp. von oben ist mein eigener Server.
-
ich habe mal ein ticket aufgemacht ob das mein provider unterstützt.
Logs habe ich nicht angesehen, das kann ich noch machen. -
ich bekomme von meine System immer wieder mal die Meldung dass der IMAP Adapter deaktiviert wurde, weil er zu oft wieder gestartet werden musste. Ich habe dazu mal die logs ausgelesen und zum betreffenden Zeitraum kommt lediglich eine Warnungsmeldung, die ja eigentlich nicht zu einem Neustart führen sollte.
2025-04-27 13:00:33.692 - warn: admin.0 (18600) imap has an invalid jsonConfig: [{"instancePath":"/items/tab2/items/icons/items/1","schemaPath":"#/items/allOf/11/then/allOf/1/additionalProperties","keyword":"additionalProperties","params":{"additionalProperty":"base64"},"message":"must NOT have additional properties"},{"instancePath":"/items/tab2/items/icons","schemaPath":"#/patternProperties/%5E.%2B/allOf/27/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"},{"instancePath":"/items/tab2","schemaPath":"#/properties/items/patternProperties/%5E.%2B/allOf/9/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"},{"instancePath":"","schemaPath":"#/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"}]
Könnte das damit zu tun haben ?
Oder ist da bei der Installation etwas schiefgelaufen, soll es ja geben ?
Andreas
-
@randyandy
Die Warning von jsonConfig kannst du mal ignorieren. Das löste definitiv keinen Restart aus.Wenn du die Meldung bekommst dass das Adapter zu oft restartet wurde aber kein Restart im Log zu sehen ist, dann stimmt was gröber nicht.
Zeig mal den Logout im Bereich der Meldung dass der Adapter deaktiviert wurde und den vorgehenden Bereich.
Zeig zusätzlich mal den Otput von
iob diag
in der LANGfassung um den Gesammtzustand des Systems besser beurteilen zu können -
@randyandy Diese Warnmeldung ist von mir so gewollt. In der Instanz Einstellungen verwende ich ein Attribut was ich nicht darf. Da gibt es 3 Möglichkeiten.
- Ich erstelle ein Feature Request (derzeit keine Lust eine Diskussion deswegen zu führen)
- Die Icon der Provider als base64 in den TAB Imap erstellen und den TAB Symbole erstellen löschen.
- Wir leben mit dieser Fehlermeldung. Diese kommt nur wenn der Adapter neu gestartet wird
Mein Favorit ist Punkt 1.
Zu dein Problem:
In der Instanz Einstellung kannst du auswählen, dass der Adapter bei einem gewissen Schwellwert neu startet. Hier den Schwellwert ändern oder eine andere Variante auswählen.Bei den Imaps Einstellungen eventuell bei Att. (Attachments laden) den Haken entfernen. Bitte immer daran denken, dass enorm viele Daten kommen und bei Anhängen sogar extrem viele. Hier kann es kurzfristig zu einem Ram Verbrauch von 500-1000 MB kommen.
Steht aber auch alles in der Anleitung.Gruß//Lucky
-
@lucky_esa said in Test Adapter ioBroker.imap latest/stable:
Diese Warnmeldung ist von mir so gewollt. In der Instanz Einstellungen verwende ich ein Attribut was ich nicht darf.
Da gibt es 3 Möglichkeiten.
- Ich erstelle ein Feature Request (derzeit keine Lust eine Diskussion deswegen zu führen)
- Die Icon der Provider als base64 in den TAB Imap erstellen und den TAB Symbole erstellen löschen.
- Wir leben mit dieser Fehlermeldung. Diese kommt nur wenn der Adapter neu gestartet wird
Mein Favorit ist Punkt 1.
Hallo Luucky,
Diese Aussage von einem erfahren Entwickler zu hören verwundert mich ein wenig. Ein nicht unterstütztes Attribut hätte ja auch kein Wirkung :-).Wenn ich es richtig sehe geht es um das Attribut "base64". Daher würde ich dir eine e-te Option als beste Variante vorschlagen: Erstell doch bitte ein Issue (= Bug Issue) für das Prüfschema. Das Attribut "base64" gibts natürlich, es funktioniert na anscheinend auch und es ist auch explizit im Beispiel der Komponente angeführt. Es ist also "nur" das Prüfschema falsch und muss korrigiert werden.
-> https://github.com/ioBroker/ioBroker.admin/issues -> Typ SChmea - jsonConfig.
User sollten keine vermeidbaren Warnings im Log vorfinden.
Danke für deine Hilfe und den Support deiner Adapter.