Kamerabild an FritzFon senden

  • Moin,


    ich bin aus dem FHEM-Forum rübergeflutscht, weil ich mal eine spezielle Frage zu DoorPi habe. Meine Türsprechstelle mit FHEM-Anbindung funktioniert auch schon soweit, nun will ich das geschossene Kamerabild an mein FritzFon senden. Das funktioniert prinzipiell auch, aber das FritzFon kann nicht mit den unterschiedlichen DoorPi-Dateinamen, die aus Timestamps bestehen, umgehen. Der Fritzmann braucht einen konkreten Dateinamen im Format "image.jpg". Ist ja kein Problem, dachte ich mir. Die Definition der erzeugten Dateinamen findet sich in "take_snapshot.py" in Zeile 42. Ich wollte die Definition erweitern, so dass sowohl ein Bild mit Timestamp-Dateiname und eins mit dem festen Namen "haustuer.jpg" erzeugt wird.


    Im wesentlichen müsste der Code dann so aussehen, so funktioniert es aber nicht. Mir fehlen irgendwo Klammern, Trenner oder was auch immer, bin trotz durchackern von Python-Tutorials nicht drauf gekommen...


    Kann mir dabei jemand helfen?


    Danke und Gruß
    Uwe



    Code
    return os.path.join(
            snapshot_path,
           datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")+".jpg"
           datetime.datetime.now().strftime("haustuer")+".jpg"
    
    
        )
  • Ich nutze dem mjpg_streamer und das funzt in der Fritzbox ohne Probleme.


    Einstellung DoorPi in der Fritzbox :


    Live-Bild HTTP:// doorpi:9000/?action=snapshot.jpg
    Wenn die Türsprechanlage über eine Kamera verfügt, geben Sie hier die Internetadresse der Kamera ein. Die Internetadresse der Kamera entnehmen Sie der Dokumentation Ihrer Kamera bzw. Türsprechanlage.

  • Danke, aber dafür muss ich den mjpg_streamer laufen haben, das ist nicht, was ich möchte. Das vorhandene Script erzeugt ja schon eine Imagedatei, nur mit fortlaufendem Timestamp-Namen. Das gleiche Script kann auch eine Datei mit festem Namen erzeugen, ich kenne nur nicht die genaue Syntax.

  • Danke für die Antwort und den Link, aber das ist auch nicht das, was ich brauche. Vielleicht drücke ich mich auch falsch aus...Das schon existierende und schon ein Bild von der Kamera holende Script "take_snapshot.py" soll mir nicht nur ein, sondern gleich zwei Bilddateien speichern, einmal mit dem Timstamp im Namen (das macht es jetzt bereits schon) und einmal mit einem festen Dateinamen ("blabla.jpg").


    Mittlerweile bin ich auch weitergekommen und weiß, dass mit dieser Funktion


    Python
    from time import sleep
    from picamera import PiCamera
    
    
    camera = PiCamera()
    camera.resolution = (1024, 768)
    camera.start_preview()
    # Camera warm-up time
    sleep(2)
    camera.capture('foo.jpg')

    ein Bild erstellt wird. Dieser Code findet sich auch so in etwa im "take_snapshot.py" wieder. Wenn ich als Python-Laie das anpasse und zusammenschreibe, macht das Script nicht, was es soll. Mit fehlen die tieferen Kenntnisse, um das zum Laufen zu bringen... :(


    Gruß
    Uwe

  • Hallo,


    das ist komplette Script, liegt unter "/usr/local/lib/python2.7/dist-packages/doorpi/action/SingleActions/"



    Gruß
    Uwe

  • Hallo Uwe,


    ohne jetzt der Profi zu sein, würde ich versuchen, die Funktion "get_snapshot_from_picam(snapshot_path)", die ab Zeile 47 beginnt, zu erweitern:


    So sollte eine zweites Bild im snapshot_path aus der INI Datei mit dem Name "haustuer.jpg" erzeugt werden.
    Der Code ist übrigends nicht getestet!


    Gruß
    Volker

  • Hallo Volker,


    perfekt, das funktioniert. Nur die Semikolons müssen durch Hochkommas ersetzt werden.
    Somit wird nun tatsächlich ein und dasselbe Bild einmal mit festem Dateinamen gespeichert und einmal mit dynamischem Namen. Super.


    Vielen Dank.


    Gruß
    Uwe