NEWS
Adapter Paketverfolgung DHL, Briefe, Amazon, DPD,GLS,UPS,17T
-
hat geklappt, hast du schon versucht dass an Telegram zu schicken zufällig?
-
also bei mir ging Variante 2, aber noch während die Pakete installiert worden, hatte ich per Zufall den Adapter schon neugestartet und auf einmal ging es.
Braucht man wirklich alle Pakete in Variante 2?
-
@olli_m said in Test Adapter Paketverfolgung DHL, Amazon, DPD, 17Track:
@djmarc75
hat geklappt, hast du schon versucht dass an Telegram zu schicken zufällig?Noch nicht, aber den Wert des Datenpunktes kann man nicht senden weil zu lang. Und "image_url" ist ein Link welcher aber, wenn man den dann in Telegram öffnet, ins Leere läuft.
-
@djmarc75
okay schade aber trotzdem ist der Adapter schon nice -
@olli_m ich habe nur die version 1 installiert - wie beschrieben in github - dann hat es funktioniert - mehr weiß ich leider nicht
-
@olli_m Kommt drauf an welchen Fehler du nach variante 1 bekommen hast
-
@tombox
da müsste ich mal im LogFile jetzt schauen , aber ich glaub ich lass es jetzt so wie es ist nachdem es gehtwollte nur etwas Ressourcen sparen
-
falls jmd eine "schnelle" tabelle für die letzten vier amazon lieferungen braucht
-
@olli_m Die fehlermeldung wäre hilfreich dann könnte ich die anleitung optimieren
-
@djmarc75 Ich habe mal eine Idee für Telegram in Beitrag #1 geschrieben aber da die Datenpunkte immer wieder gelöscht werden kann es sein das in jedem Interval die nachricht kommt, habe aber derzeit keine briefe zum testen
-
@tombox said in Test Adapter Paketverfolgung DHL, Amazon, DPD, 17Track:
@djmarc75 Ich habe mal eine Idee für Telegram in Beitrag #1 geschrieben aber da die Datenpunkte immer wieder gelöscht werden kann es sein das in jedem Interval die nachricht kommt, habe aber derzeit keine briefe zum testen
Das mit den gelöschten Datenpunkten könnte man per Blockly "umgehen". Ich habe z.B. einen eigenen Datenpunkt erstellt
"0_userdata.0.DHL.Briefe.Brief1" welcher sich mit dem Wert vom Datenpunkt "Advices01.image" befüllt. Natürlich nur wenn sich dieser ändert und nicht leer ist. -
Hier der Block
<block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="[r[D[:dmo^mZ|:+5T)#2" x="-187" y="-212"> <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="cd_~w+HXC:oN}GnG$o}T"> <field name="oid">parcel.0.dhl.briefe.currentAdvice.date</field> </shadow> <block type="get_value_var" id="wm#OlZ1PZAxoZ`etX5/%"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="YLc~8|ubcCak2hxLdT|A"> <field name="TEXT"></field> </shadow> <block type="text" id="ISBH/I#kRq,5t4EhLd`*"> <field name="TEXT">parcel.0.dhl.briefe.currentAdvice.image</field> </block> </value> </block> </value> <statement name="STATEMENT"> <block type="controls_if" id="Hgq8d#ta/@PPg}^2)kDF"> <value name="IF0"> <block type="logic_compare" id="ftq%31z~7+j-uo)_HmE="> <field name="OP">NEQ</field> <value name="A"> <block type="on_source" id="Iy)[C|;c`sKxJs2UEgJ|"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="1mE|q{-`z[o:-;pkiII7"> <field name="TEXT"></field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="9wxaA9mjU:S^_GPJ;J^l"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.DHL.Briefe.Brief1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="on_source" id="a2wjaWZk.c=dufyY}L4B"> <field name="ATTR">state.val</field> </block> </value> </block> </statement> </block> </statement> </block>
-
Oder besser noch, man überprüft per Blockly ob der jeweilige Datenpunkt existiert und befüllt den eigenen dann mit dem Wert von diesem...
-
@tombox said in Test Adapter Paketverfolgung DHL, Amazon, DPD, 17Track:
@djmarc75 Ich habe mal eine Idee für Telegram in Beitrag #1 geschrieben aber da die Datenpunkte immer wieder gelöscht werden kann es sein das in jedem Interval die nachricht kommt, habe aber derzeit keine briefe zum testen
Bekomme wenn das Skript ausgeführt wird im Log folgende Fehler:
javascript.0 2022-02-12 06:29:00.048 error at processImmediate (internal/timers.js:464:21) javascript.0 2022-02-12 06:29:00.048 error at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5902:56) javascript.0 2022-02-12 06:29:00.047 error at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:530:29) javascript.0 2022-02-12 06:29:00.047 error at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1082:38) javascript.0 2022-02-12 06:29:00.046 error at Object.<anonymous> (script.js.common.DHL.Telegram1:5:5) javascript.0 2022-02-12 06:29:00.046 error Error in callback: ReferenceError: fs is not defined
-
@Olli_M
@tombox
Habe den Code erweitert in Zeile 1 und 2 ... der Datenpunkt im Skript ist ein eigener welcher per Blockly vom Datenpunkt "parcel.0.dhl.briefe.currentAdvice.advices01" befüllt wird, den also anpassen ...// Define the `fs` at the beginning of the script const fs = require('fs'); on({id:"0_userdata.0.DHL.Briefe.Marc.Brief1", change: "ne"}, function(obj){ const base64Data = obj.state.val.split("base64,")[1] fs.writeFile("/tmp/snapshot1.jpg", base64Data, 'base64', function(err) { if (err) { console.error(err); } else { sendTo('telegram.0', '/tmp/snapshot1.jpg'); } }); });
das Skript selbst lasse ich nur von 0 Uhr bis 6 Uhr laufen, da in diesem Zeitraum die aktuellen Briefankündigungen stattfinden.
Hoffe dies hilft einigen. -
@djmarc75 Ich habe das skript mal angepasst das es generisch für alle bilder geht und man brauch auch kein zwischen state
-
@flexer Ich habe ein allgemeines Skript zum Telegram versenden hinzugefügt
-
@tombox said in Test Adapter Paketverfolgung DHL, Amazon, DPD, 17Track:
@djmarc75 Ich habe das skript mal angepasst das es generisch für alle bilder geht und man brauch auch kein zwischen state
Funktioniert soweit, nur werden zumindest beim Neustart des Skripts immer wieder auch die alten Briefe per Telegram gesendet. Für mich wäre es sinnvoll nur die aktuellen zu bekommen, da die von der Vergangenheit ja eh schon aus dem Briefkasten geholt und die Rechnungen darin erfolgreich ignoriert wurden
Ich probier mal im Skript den Ordner zu ändern....Zeile 3
on({id:/^parcel\.0\.dhl\.briefe.currentAdvice*image$/, change: "ne"}, async function(obj){
-
Hallo, kann man es konfigurierbar machen , ich möchte nur Amazon verwenden?
-
@sigi234 Geht doch, wenn ich mich nicht irre.
Zumindest 17Track kann ich an- und Abschalten wenn ich die Zugangsdaten rausnehme.