FHEM Forum

FHEM => Sonstiges => Thema gestartet von: ChrisW am 15 Dezember 2016, 10:20:21

Titel: Fhem Ordner auf neues Bild Ueberwachen + Push ?
Beitrag von: ChrisW am 15 Dezember 2016, 10:20:21
Hallo,
ist es möglich das Fhem einen Ordner Überwacht und bei veränderung ipcamalarm.jpg mir dieses bild zuschickt z.b per Pushbullet ?
Ich möchte nicht über das ipcam Modul gehen da ich eine größere Software unter Windows nutze "Blueiris"

Titel: Antw:Fhem Ordner auf neues Bild Ueberwachen + Push ?
Beitrag von: JoWiemann am 15 Dezember 2016, 10:59:28
Sofern Du einen Linuxrechner hast könnte Dir das weiter helfen: http://www.linux-magazin.de/Ausgaben/2007/03/Unter-der-Lupe

Grüße Jörg


Gesendet von iPad mit Tapatalk
Titel: Antw:Fhem Ordner auf neues Bild Ueberwachen + Push ?
Beitrag von: ChrisW am 15 Dezember 2016, 11:28:35
ja hab einen PI im Netzwerk. Ich könnte wahlweise das Bild auf dem WIN speichern oder auf dem IP das ist egal.

Wie bekomme ich das den in FHEM dann ?
Titel: Antw:Fhem Ordner auf neues Bild Ueberwachen + Push ?
Beitrag von: JoWiemann am 15 Dezember 2016, 14:17:09
Was möchtest Du in Fhem den haben / sehen?


Gesendet von iPhone mit Tapatalk
Titel: Antw:Fhem Ordner auf neues Bild Ueberwachen + Push ?
Beitrag von: ChrisW am 15 Dezember 2016, 19:38:57
hi, hat sich erledigt hab nun was gebastelt mit pop3 Anhang abhohlung und push mit iwatch überwachung zimliches gebastel aber es klappt.
Nun habe ich bei Pushbullet jedes Push gestapelt einzeln als Benachrichtigung
Titel: Antw:Fhem Ordner auf neues Bild Ueberwachen + Push ?
Beitrag von: igami am 15 Dezember 2016, 20:52:32
teilst du deine Lösung auch?
Titel: Antw:Fhem Ordner auf neues Bild Ueberwachen + Push ?
Beitrag von: ChrisW am 24 Dezember 2016, 10:00:06
klar wenn es eine dauerhafte Lösung wäre. Nun kommt auf einmal ein Pusbullet Limit von 500 API Zugriffen / Monat !
Bin sicher auch bereit etwa szu zahlen aber sowas so krass zu verstecken schon krass. Ohne E-Mail oder Warnung .. wundere mich wieso es nicht mehr klappt.
Ich werde mir nun etwas eigenes basteln um Push Mini Bilder anzuzeigen. Kann ja nicht so schwer sein :D
Titel: Antw:Fhem Ordner auf neues Bild Ueberwachen + Push ?
Beitrag von: igami am 24 Dezember 2016, 10:04:34
Zitat von: ChrisW am 24 Dezember 2016, 10:00:06
klar wenn es eine dauerhafte Lösung wäre.
Es geht mir vorrangig um das Überwachen des Ordners ;)
Titel: Antw:Fhem Ordner auf neues Bild Ueberwachen + Push ?
Beitrag von: ChrisW am 24 Dezember 2016, 10:43:52
Abhohlen der Mails per Pop + Speichern der Anhänge und Löschen der Mail:
#!/usr/bin/env python

import poplib
import email
import os
import sys
import string

#
# attsave.py
# Check emails at PROVIDER for attachments and save them to SAVEDIR.
#
#

PROVIDER = "pop.1und1.de"
USER = "xxxxxxx"
PASSWORD = "xxxxxxxxxx"

SAVEDIR = "/opt/ipcampop"


def saveAttachment(mstring):

    filenames = []
    attachedcontents = []

    msg = email.message_from_string(mstring)

    for part in msg.walk():

        fn = part.get_filename()

        if fn <> None:
            filenames.append(fn)
            attachedcontents.append(part.get_payload(decode = True))

    for i in range(len(filenames)):
        fp = file(SAVEDIR + "/" + filenames[i], "wb")
        fp.write(attachedcontents[i])
        print 'Found and saved attachment "' + filenames[i] + '".'
        fp.close()

try:
    client = poplib.POP3_SSL(PROVIDER)
except:
    print "Error: Provider not found."
    sys.exit(1)

client.user(USER)
client.pass_(PASSWORD)

anzahl_mails = len(client.list()[1])

for i in range(anzahl_mails):
    lines = client.retr(i + 1)[1]
    mailstring = string.join(lines, "\n")
    saveAttachment(mailstring)
    client.dele(i + 1)

client.quit()


Dann überwachung des Ordners + Push :
#!/bin/bash
iwatch -t ".jpg" -c "/opt/push.py %f" -e close_write "/opt/ipcampop"


Code für Pushbullet:

#!/bin/bash

APIKEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

FILENAME=$(basename ${1})
FILEDIR=$(dirname ${1})
CUDIR=$(pwd)
FILETYPE=$(file -bi ${1} | cut -d';' -f1)

echo File: ${1}, Type: ${FILETYPE}

cd ${FILEDIR}

echo Getting permission...

eval $(curl -s -u ${APIKEY}: https://api.pushbullet.com/v2/upload-request -d \
                             file_name=${FILENAME} -d file_type=${FILETYPE} | python -m json.tool | \
                             sed 's/": /=/g' | tr -d ' ' | sed 's/,$//g' | sed 's/^"//g' | \
                             tr -d '}' | tr -d '{' | sed 's/data=//g' | sed '/^$/d' | \
                             sed 's/^/export /g'  | sed 's/content-type/content_type/g')

echo Uploading file ...

curl  --progress-bar -i ${upload_url} \
  -F awsaccesskeyid=${awsaccesskeyid} \
  -F acl=${acl} \
  -F key=${key} \
  -F signature=${signature} \
  -F policy=${policy} \
  -F content-type=${content_type} \
  -F file=@${FILENAME} \

echo Sending Notification ...
curl -u ${APIKEY}: https://api.pushbullet.com/v2/pushes -d type=file -d file_name=${FILENAME} -d file_type=${FILETYPE} -d file_url=${file_url}
echo
rm ${FILENAME}
cd ${CURDIR}