Fhem Ordner auf neues Bild Ueberwachen + Push ?

Begonnen von ChrisW, 15 Dezember 2016, 10:20:21

Vorheriges Thema - Nächstes Thema

ChrisW

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"

Raspberry PI3 mit allem möglichen.

JoWiemann

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
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

ChrisW

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 ?
Raspberry PI3 mit allem möglichen.

JoWiemann

Was möchtest Du in Fhem den haben / sehen?


Gesendet von iPhone mit Tapatalk
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

ChrisW

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
Raspberry PI3 mit allem möglichen.

igami

Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

ChrisW

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
Raspberry PI3 mit allem möglichen.

igami

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 ;)
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

ChrisW

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}


Raspberry PI3 mit allem möglichen.