NEWS
Pushover sendet Bild nicht (unexpected Token)
-
Hi Leute.
Ich versuche gerade, eine Bild per Pushover zu versenden. Nur leider schlägt es fehl und keine Nachricht kommt an. Ursprünglich wollte ich damit ein Kamerabild versenden, welches ich vorher gespeichert habe mit wget. Speichern funktioniert auch, für Tests habe ich mir hier einen vereinfachten Aufbau gemacht.
und hier der generierte JS codeschedule("*/10 * * * * *", async function () { console.log('Running Pushover Test with file'); sendTo("pushover", "send", { message: 'Test', sound: "", file: '/opt/iobroker/iobroker-data/tmp/FrontSnapshot.jpg' }); console.log("pushover: " + 'Test'); });
Bei der Ausführung bekomme ich immer den Fehler
Error from Pushover: SyntaxError: Unexpected token < in JSON at position 0
Nehme ich die Datei raus, funktioniert alles wunderbar, füge ich es wieder hinzu, schlägt es wieder fehl.
Die Datei existiert unter der Adresse, und Zugriffsrechte sind auch für alle user gegeben.Ideen woran es liegen kann, oder wie man es lösen kann?
-
@tableautin sagte in Pushover sendet Bild nicht (unexpected Token):
Ideen woran es liegen kann
wahrscheinlich an
@tableautin sagte in Pushover sendet Bild nicht (unexpected Token):
welches ich vorher gespeichert habe mit wget
-
@crunchip Leider verstehe ich deine Antwort nicht.
Das eine ist die ursprüngliche Ausgangslage (woher komme ich), hat aber nichts mit diesem Script zu tun, da ich es für die Tests verienfacht habe.Wie ich bereits geschrieben habe, existiert die Datei, ist lesbar und der Zugriff sollte auch richtig sein. WGET habe ich ausgeschaltet, um zu vermeiden, dass während der Tests die Datei noch geblockt ist (da noch nicht heruntergeladen) und arbeite mit einem statischen Bild.
WGET kann daher nicht der Fehler sein
-
@tableautin
Test mal mit einer JPG-Datei welche nicht so groß ist, z.B. vorher auf 800x600 Pixel reduzieren.
Ich mache den Versand über Pushover im Prinzip genauso wie Du (Bild von Webcam mittels wget holen,, mit "exec mogrify ..." auf 800x600 reduzieren, dann mit Pushover versenden). Klappt.Prüfe bitte auch ob wirklich nur ein "Auftrag" an Pushover rausgeht. Wenn Dein Skript Pushover mit mehreren Anfragen gleichzeitig "bombardiert" kann dieser Fehler wohl ebenfalls auftreten.
-
Bei einer reduzierten Größe kommt das Bild nun an Das bedeutet erst einmal, dass wir die Ursache gefunden haben.
@rug1024 sagte in Pushover sendet Bild nicht (unexpected Token):
exec mogrify
Kannst du vielleicht deinen Befehl bzw. die Einbindung in Blockly etwas genauer ausführen? Mein iobroker läuft in einem Docker-Container, dort ist kein Magick installiert (mogrify ist soweit ich mit meinen Basis Linux Kenntnissen Bestandteil von Magick). Hast du das Paket bei dir installiert oder gibt es einen anderen Trick?
-
@tableautin
Imagemagick habe ich nachinstalliert, extra für diesen Zweck. Das Paket ist nicht gerade klein, aber ich habe nur diese Lösung gefunden. Vorteile sind Zeitersparnis im Upload und auf dem Handy, welches die Bilder empfängt, reicht 800x600 zum sehen was auf der Cam passiert ist.
Das Hochladen eines hochauflösenden Bildes dauert wahrscheinlich zu lange, so das Pushover Dir einen Timeout beschert.
Anbei mein Blockly:
-
@rug1024 wenn du den Haken setzt "mit Ergebnissen" kannst du dir die Pause bzw timeout sparen
-
@rug1024 Danke für die Info. Wie hast du es nachinstalliert? Hast du einem Paketmanager verwendet oder es direkt aus den Sourcen gebaut?
Ich verwende ioBroker ja in einem Docker Container, und dort würde ich es gerne nachinstallieren.
apt-get install imagemagick
Bei mir ist Imagemagick nicht in den integrierten Sources vorhanden ("Package 'Imagemagic' has no installation candidate"). Nun fehlen mir leider die tiefergehenden Linux Kenntnisse, um diese zu ändern oder es komplett aus den Quellen neu zu erstellen.
-
@tableautin
Ich betreibe ioBroker auf Ubuntu im Proxmox-Container, dort konnte ich es mittels "apt install" einfach holen.
Du musst entweder via "add-apt-repository" ein entsprechendes PPA eintragen (leider weiß ich nicht welches ImageMagick enthält) oder der Screenshot könnte Dir weiterhelfen (leider weiß ich aber auch nicht wie man mit AppImage-Files umgeht:
-
sudo apt install imagemagick imagemagick-doc
-
@rug1024 Leider gibt es den Befehl add-apt-repository nicht Hast du den Link zu dem Thread, aus dem der Screenshot stammt?
@DJMarc75 Wie oben bereits beschrieben scheint imagemagick nicht in den SOurcen des offiziellen iobroker Dokcer Containers enthalten zu sein, und neue Sourcen kann ich nicht hinzufügen, add-apt-reposiotry nicht als Befehl verfügbar ist.
-
@tableautin
https://trendoceans.com/install-imagemagick-on-debian/
Vorgehensweise wie unter "Method 2" beschrieben, also AppImage. Musste halt testen.Weitere möglicherweise hilfreiche Links:
https://imagemagick.org/script/download.php#linux
https://github.com/ImageMagick/ImageMagick/releasesMehr kann ich leider dazu nicht beitragen, möchte Dir aber für die Zukunft mal die Idee einpflanzen auf Proxmox zu gehen. Ist echt praktisch.