Seite 1 von 1

Klingel, Cam, Jpeg, Pushover in OH3 - Blackout

Verfasst: 16. Jul 2021 18:49
von Ruedixy
Hallo Forum,

ich habe eine Funkklingel in OH3 integriert, diese sendet, wenn geklingelt wird, erfolgreich eine Pushover-Nachricht. Eine Cam ist auch am Start, HLS URL, Image URL, MPG URL sind im Model, URLs werden im Browser angezeigt, OH3 läuft unter Docker auf Synology.

Nachdem was ich so alles gelesen habe, was die Verwirrtheit nur steigerte, vermute ich, dass das Bild der Cam lokal abgespeichert werden muss. In dem Cam-Thing habe ich als FFmpeg Output Folder /conf/html/cam1 eingetragen.

1. Der Pfad wird wohl so nicht stimmen, gerade wenn es auf Synology Docker läuft?
2. Wie wird das Jpeg abgespeichtert, durch eine Rule bei Auslösen der Klingel? Der http-Pfad da zu integrieren scheint dafür wohl nicht geeigent...
3. Wie könnte die Rule für Pushover aussehen? eMail würde auch gehen, das Binding funktioniert. Bin bis zu dem Punkt gekommen, wo mir die IMAGE-URL gesendet wird, natürlich nicht mit einem aktuellen JPEG. Die Doku hat mir - Anfänger - auch nicht viel gebracht und funktioniert nun auch nicht mehr nach so viel probieren.

Viele Beispiele beziehen sich auf OH2.x, einige geben an ein GIF wäre sehr gut, das GIF-Recording im Modell zeigt NULL an.
Sicherlich für euch simpel, aber ich bekomme es nicht gebacken, leider auch von der Logik her nicht. So weit gekommen und schaffe es nicht. :( Ein bisschen Hilfe wäre schön...
Will es mir nicht zu leicht machen, komme aber schlicht nicht weiter.

Wie kann ich also ein JPEG oder GIF von der CAM erstellen und es per Pushover an mich, wenn es klingel, versenden?

Re: Klingel, Cam, Jpeg, Pushover in OH3 - Blackout

Verfasst: 16. Jul 2021 19:46
von sihui
Ruedixy hat geschrieben: 16. Jul 2021 18:49 Wie kann ich also ein JPEG oder GIF von der CAM erstellen und es per Pushover an mich, wenn es klingel, versenden?
GIF finde ich persönlich besser, da ein animiertes GIF versendet werden kann mit definierter Länge, also praktisch ein Ministream.
Zu Docker kann ich nichts sagen, nutze ich nicht.
Beispiele zu openHAB2 funktionieren in openHAB3 ohne jegliche Anpassung (was das IPCamera Binding angeht)

Du nutzt das IPCamera Binding für die Anbindung an openHAB? Ich schreib mir sonst für lau die Finger wund ... :|

Zuerst musst du dein Thing ergänzen, falls noch nicht geschehen:

Code: Alles auswählen

gifPreroll=0,

Code: Alles auswählen

ffmpegOutput="/opt/openhab/conf/html/deineKamera/",
bestimmt den Speicherort für das GIF. In meinem Beispiel ein manuell installiertes openHAB3 auf Debian, wie das in Docker aussehen muss weiß ich nicht. Der Dateiname wird vom Binding vorgegeben und lautet ipcamera.gif.

Dann brauchst du ein Number Item für den recordingGif Channel:

Code: Alles auswählen

Number DeineKameraRecordGif "Record GIF" { channel="ipcamera:yxyxyx:ababababab:recordingGif" } 
Dieses Item wird vom Binding auf 0 runtergezählt sobald eine Action für das Erstellen des GIF ausgelöst worden ist. Diese Action muss augelöst werden wenn die Klingel gedrückt wird:

Code: Alles auswählen

getActions("ipcamera", "ipcamera:yxyxyx:ababababab").recordGIF("ipcamera",5) 
Die Länge des GIF wird durch den letzten Parameter bestimmt, in diesem Falle also 5 Sekunden.

Jetzt brauchst du eine Regel die auf das Item triggert wenn es 0 geworden ist und versendest damit das GIF per Pushover:

Code: Alles auswählen

rule "Snapshot GIF" 
when
    Item DeineKameraRecordGif changed to 0
then
    val actions = getActions("pushover", "pushover:pushover-account:pushover")
    actions.sendAttachmentMessage("Kamera Test", "openHAB", "/opt/openhab/conf/html/deineKamera/ipcamera.gif", "image/gif")
end
Das war es dann auch schon. Have fun.

Re: Klingel, Cam, Jpeg, Pushover in OH3 - Blackout

Verfasst: 16. Jul 2021 22:17
von Ruedixy
Hallo sihui, schön dass Du antwortest, hatte von Dir schon Beiträge dbzgl. gelesen. Ja, nutze das IPCam-Binding.
- gifPreroll=0, war schon eingetragen.
- ffmpegOutput="/opt/openhab/conf/html/deineKamera/", den Pfad bekomme ich schon noch raus
- Number Item für den recordingGif Channel - habe ich in Items mit + Add Items from Textual Definition erstellt und Deinen Code eingfügt und angepasst
- getActions - hier hänge ich nun schon. Lege ich eine Regel dafür an? Der Trigger ist klar, aber die Add Action (Item Action) kann ich übers Model nicht einfügen, da ich dort das Item nicht rein bekomme, daher als Script:

triggers:
- id: "2"
configuration:
itemName: SENSORKlingelRU
type: core.ItemStateChangeTrigger
conditions: []
actions:
- id: "1"
configuration:
type: application/vnd.openhab.dsl.rule
script: 'getActions("ipcamera",
"ipcamera:onvif:332fd923ab").recordGIF("ipcamera",5) '
type: script.ScriptAction

Ist das bis dahin richtig? Ich habe schon öfters gelesen dass Regeln von OH2 in OH3 übernommen werden können, der Aufbau ist aber doch anders, zumidest sehe ich es nicht. Deine Rule kann ich so nicht übernehmen und mit Design bekomme ich das Item nicht ins Model.
Ja, es fehlt an den einfachsten Basics wie Du siehst... Trotzdem vielen Dank, ich versuche es weiter.

Re: Klingel, Cam, Jpeg, Pushover in OH3 - Blackout

Verfasst: 17. Jul 2021 08:27
von sihui
Ruedixy hat geschrieben: 16. Jul 2021 22:17 Ist das bis dahin richtig?
Kann ich dir nicht sagen, ich nutze die MainUI nicht für Regeln.

Re: Klingel, Cam, Jpeg, Pushover in OH3 - Blackout

Verfasst: 12. Mai 2022 17:30
von Ruedixy
Habe es endlich geschafft, vielen Dank sihui, nun kann ich ein GIF mit Pushover versenden, bin happy.
Würde das GIF aber auch gerne per eMail versenden, das funktioniert nicht:

Code: Alles auswählen

 rule "Klingel_eMail_Anhang"
        when
	       Item CAMTur_GIFRecording changed to 0
        then                    
              val actions = getActions("mail", "mail:smtp:nummer")
              mailActions.sendMail("mail-Adresse", "Jemand hat geklingelt", "Im Anhang sind die Fotos.", "/etc/openhab/html/cam/ipcamera.gif", "image/gif")
        end     
Der Pfad zum GIF ist identisch mit der Pushover-Rule.
Es kommt dieser Fehler:

Code: Alles auswählen

2022-05-12 17:21:36.384 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'Klingel-GIF-eMailRU-1' failed: The name 'mailActions' cannot be resolved to an item or type; line 6, column 15, length 11 in Klingel-GIF-eMailRU
Kann nicht viel sein, hänge nun aber... Hilfe.

Re: Klingel, Cam, Jpeg, Pushover in OH3 - Blackout

Verfasst: 12. Mai 2022 20:35
von sihui
Ruedixy hat geschrieben: 12. Mai 2022 17:30 Hilfe.
https://community.openhab.org/t/ipcamer ... 42771/1323

Re: Klingel, Cam, Jpeg, Pushover in OH3 - Blackout

Verfasst: 12. Mai 2022 20:35
von udo1toni
Du musst die Attachments als ArrayList übergeben. Schau mal in die Doku: https://www.openhab.org/addons/bindings ... ule-action

Re: Klingel, Cam, Jpeg, Pushover in OH3 - Blackout

Verfasst: 14. Mai 2022 09:54
von Ruedixy
Hallo shihui und udo1toni, das waren die richtigen Hinweise, es funktioniert nun, bin begeistert, vielen lieben Dank dafür!!!
Echt super, dass ihr Anfängern wie mir immer wieder hilfreich zur Seite steht, das ist nicht selbstverständlich.