Seite 1 von 1

Pushover JPEG versenden

Verfasst: 27. Apr 2021 20:57
von Epicblue
Hallo ich möchte gerne über eine Rule ein Bild im JPEG Format versenden.
Das Pushover Thing ist online. Normale Nachrichten funktionieren. Nur Bilder eben nicht.

Hier meine Rule:

Code: Alles auswählen

    rule "Test10"
        when
	        Item Allgemein_Test10 changed 
        then 
                val actions = getActions("pushover", "pushover:pushover-account:account")
                    actions.sendAttachmentMessage("Openhab", "192.168.2.180/cgi-bin/snapshot.cgi.jpeg") 
    end
Fehlermeldung:

Code: Alles auswählen

2021-04-27 20:54:30.232 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'test-1' failed: An error occurred during the script execution: index=3, size=3 in test
Gruß Epicblue

Re: Pushover JPEG versenden

Verfasst: 27. Apr 2021 23:42
von udo1toni
Wenn ich die Doku richtig deute:

Code: Alles auswählen

sendAttachmentMessage(String message, @Nullable String title, String attachment, @Nullable String contentType)
Musst Du zwingend einen Titel angeben (oder alternativ zumindest einen null-String. Also

Code: Alles auswählen

actions.sendAttachmentMessage("Openhab",, "192.168.2.180/cgi-bin/snapshot.cgi.jpeg") 
könnte schon funktionieren. (zwei Kommata...)
Falls nicht, setze an zweiter Stelle einen String als Titel der Message.

Re: Pushover JPEG versenden

Verfasst: 28. Apr 2021 07:54
von sihui
Epicblue hat geschrieben: 27. Apr 2021 20:57 Hallo ich möchte gerne über eine Rule ein Bild im JPEG Format versenden.
Ein lokal abgelegtes gif versende ich wie folgt:

Code: Alles auswählen

actions.sendAttachmentMessage("Kamera Einfahrt", "openHAB", "/opt/openhab/conf/html/dahua/ipcamera.gif", "image/gif")

Re: Pushover JPEG versenden

Verfasst: 28. Apr 2021 15:01
von Epicblue
Danke für eure Hilfe. Leider bekomm ich immer noch einen Fehler. Mir ist aufgefallen das ich mich bei dem Link anmdelden muss. Habe die Datei wie folg umgebaut, funktioniert aber immer noch nicht. Habe es auch lokal versucht. Dort kommt die selbse Meldung.

Code: Alles auswählen

val actions = getActions("pushover", "pushover:pushover-account:account")
actions.sendAttachmentMessage("Kamera Einfahrt", "openHAB", "http://benutzername:passwort@192.168.2.180/cgi-bin/snapshot.cgi.jpeg", "image/jpeg")
Fehlermeldung:

Code: Alles auswählen

2021-04-28 15:01:05.080 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'test-1' failed: Skip sending the message as file 'http://benutzername:passwort@192.168.2.180/cgi-bin/snapshot.cgi.jpeg' does not exist. in test
Edit: Habe es gerade mit einem Bild bei Google versucht. Dort kommt die selbe Meldung

Re: Pushover JPEG versenden

Verfasst: 28. Apr 2021 17:50
von sihui
Epicblue hat geschrieben: 28. Apr 2021 15:01 Mir ist aufgefallen das ich mich bei dem Link anmdelden muss.
Ich würde erst einmal ein Bild lokal ablegen, dafür bietet sich der html Ordner für statische Inhalte an:

https://www.openhab.org/docs/installati ... -locations

Wenn der Versand von dort aus funktioniert würde ich mich mit der Authentisierung befassen. Bist du dir sicher das ein einfaches "username:password@" dort funktioniert? Das ist eine sehr alte Methode und wird eigentlich nicht mehr genutzt.

Wenn schon Basic Authenitication dann mit Base64 :
https://en.wikipedia.org/wiki/Basic_acc ... entication
https://www.base64encode.org/

Wie das in diesem speziellen Fall angewendet wird kann ich dir leider nicht sagen da ich es nirgendwo nutzen muss.

Re: Pushover JPEG versenden

Verfasst: 28. Apr 2021 19:05
von Epicblue
Danke Sihui für den Ansatz. Ich lege mir das Bild jetzt zuerst Lokal ab und dann schicke ich es via Pushover.
Hier meine Rule:

Code: Alles auswählen

    rule "Kamera Haustür Pushover"
        when
	        Item Allgemein_Test10 changed 
        then                    
                executeCommandLine("wget", "http://benutzer:passwort@192.168.2.180/cgi-bin/snapshot.cgi.jpeg", "-O",  "/tmp/" + "Haustuer.jpeg")

                (createTimer(now.plusSeconds(1)) [|
                val actions = getActions("pushover", "pushover:pushover-account:account")
                actions.sendAttachmentMessage("Kamera Haustür", "openHAB", "/tmp/Haustuer.jpeg", "") 
                ])
        end

Re: Pushover JPEG versenden

Verfasst: 28. Apr 2021 19:37
von sihui
Epicblue hat geschrieben: 28. Apr 2021 19:05 und dann schicke ich es via Pushover.
Und das funktioniert jetzt? Falls ja ersetze die lokale Datei durch deine URL und probiere die korrekte Autorisierung aus.

Edit: Achso, andere Vorgehensweise, und diese funktioniert. Musste erst 2 x Lesen um das zu verstehen. Ähnlich mache ich es auch: per IPCamera Binding das Bild der Haustür beim Drücken der Klingel lokal ablegen und anschl. per Pushover auf mein Smartphone senden.

2. Edit. falls du ein ähnliches Vorhaben realisieren möchtest: mit dem IPCamera Binding kann man animierte Gifs verschicken, ich bekomme beim Drücken der Klingel ein fünfsekündiges animiertes Gif geschickt :D

Re: Pushover JPEG versenden

Verfasst: 28. Apr 2021 19:55
von Epicblue
sihui hat geschrieben: 28. Apr 2021 19:37 2. Edit. falls du ein ähnliches Vorhaben realisieren möchtest: mit dem IPCamera Binding kann man animierte Gifs verschicken, ich bekomme beim Drücken der Klingel ein fünfsekündiges animiertes Gif geschickt :D
Danke für den Tipp. Werde ich ausprobieren. :D :D

Re: Pushover JPEG versenden

Verfasst: 15. Jul 2023 00:10
von neuling10
Hallo @sihiu,

klingt echt spannend mit dem Gif ;). Kannst du bitte kurz beschreiben, wie das genau funktioniert?

Ein JPEG kann ich mir, wie hier beschrieben, an Pushover erfolgreich senden lassen. Hierzu nutze ich den "Image URL" Channel meiner ONVIF IP Camera (Reolink E1 Outdoor) und lege mir das JPEG in Tmp-Ordner ab. Welchen Channel benötige ich aus dem IP Camera Thing? Oder läuft das bei dir gänzlich über eine Rule? Im IP Camera Thing habe ich nur Channels zu "GIF Recording", "GIF History" und "GIF History Length" gefunden...

Grüße
neuling10

Re: Pushover JPEG versenden

Verfasst: 23. Jul 2023 19:21
von neuling10
neuling10 hat geschrieben: 15. Jul 2023 00:10 Hallo @sihiu,

klingt echt spannend mit dem Gif ;). Kannst du bitte kurz beschreiben, wie das genau funktioniert?

Ein JPEG kann ich mir, wie hier beschrieben, an Pushover erfolgreich senden lassen. Hierzu nutze ich den "Image URL" Channel meiner ONVIF IP Camera (Reolink E1 Outdoor) und lege mir das JPEG in Tmp-Ordner ab. Welchen Channel benötige ich aus dem IP Camera Thing? Oder läuft das bei dir gänzlich über eine Rule? Im IP Camera Thing habe ich nur Channels zu "GIF Recording", "GIF History" und "GIF History Length" gefunden...

Grüße
neuling10
Die Frage hat sich erledigt dank viewtopic.php?t=5500&start=17

Grüße
neuling10