Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Blink Camera System

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Blink Camera System

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      Dette @Dr. Bakterius last edited by

      Leider ist es mir nicht gelungen das Skript mit exec (JS oder Blockly) wegen fehlender Berechtigung aufzurufen. Ich habe das dann mit dem Linux-Control Adapter gelöst.

      Daran bin ich auch fast gestorben, denn auch mit dem Linux-Control klappt es bei mir nicht.

      Die einfache Lösung:
      Man muss blinkpy mit dem user "iobroker" installieren:

      sudo -H -u iobroker pip install blinkpy
      

      Danach kann man das Python Skript normal via exec aufrufen.

      B 1 Reply Last reply Reply Quote 1
      • B
        Brekkis @Dette last edited by Brekkis

        Howto Blink in IoBroker einbinden

        WICHTIG: Diese Anleitung ist noch ein Entwurf, ich brauche hier vermutlich noch Input von den Profis hier im Forum, aber Ziel ist es, eine für jeden nachvollziehbare Anleitung als Basis für die Einbindung der Blink-Kameras in IoBroker zu erhalten! edit 2025-03-28: es scheint zu funktionieren.

        Basis dieses How-To sind die Informationen zusammengefasst aus diesem Thread und dem GitHub-Projekt: https://github.com/fronzbot/blinkpy

        Ich habe mal hier aus dem Thread die Informationen, Codezeilen und Scripte übernommen, damit ein ordentliches How-To für Neulinge nachvollziehbar dokumentiert ist.... Gerne könnt ihr mir helfen, das How-To zu vervollständigen, zu berichtigen, und lauffähig zu machen, damit alle ihre Blink-Kameras in Iobroker einbinden können)
        Will vorher noch anmerken, dass ich nicht der Coding-Spezialist bin und mit dem "Try and Error-Prizip" arbeite.


        Start des HOWTO (Stand 2025-03-28)
        Ich werde den Stand (nach Korrekturen) dann immer updaten

        Welche Funktionen erwarten euch nach erfolgreicher Durchführung:

        • Blink Kameras sind in IoBroker eingebunden
        • Zugriff auf das letzte gespeicherte Bild der Kameras
        • Zugriff auf das letzte gespeicherte Video der Kameras
        • Anzeige des Bilds in der Visu
        • Anzeige des Videos in der Visu
        • Scharfschalten und Deaktivieren via Datenpunkt

        Grundlagen:
        (bei mir läuft das ganze in einer Proxmox Installation auf Debian 11.3.0 in einem Container, sollte aber auch auf einem PI funktionieren)

        • funktionierende IoBroker-Installation
        • funktionierende Homebridge-Installation (läuft bei mir in der V.1.85, ebenfalls in einer VM auf Proxmox)
        • mindestens eine in der Blink-App funktionierende Kamera
        • NodeJS und NPM (über Konsolenbefehl
        nodejs -v
        

        und

        npm -v
        

        abrufbar)
        edit: (ich habe aktuell die Versionen NodeJS 22.14.0 und NPM10.9.2 installiert)

        zusätzlich installierte Adapter Ioboker:

        • HAM (Homebridge Zubehör-Manager V5.3.1)
          Im Homebridge-Adapter muss ersten Tab unter "zusätzliche NPM Module installieren" noch "homebridge-blink-for-home@3.7.6" eingetragen werden und der Haken "beim nächsten Start die Homebridge Plugins von NPM installieren" gesetzt sein! Im Tab Konfigurationsdatei muss folgender Code eingetragen werden:
        "platforms" : [
          {
            "name"     : "Blink",
            "username" : "<your blink email address>",
            "password" : "<your blink password>",
            "pin"      : "<pin>",
            "platform" : "Blink"
          }
        ]
        
        

        Die Daten in den <> Klammern durch die eigenen Anmeldedaten ersetzen.

        • Javascript Adapter und Grundverständnis für die Anwendung des scripens

        Über die Konsole installiert: (via Putty oder wie bei mir über die Proxmox-eigene Konsole)

        • Python, Ich habe V 3.11.2 installiert. Installation kann man überprüfen mit
        python --version
        Python 3.11.2
        

        Falls Python und Pip nicht installiert sind, geht man wie folgt vor:
        Konsolenbefehle:
        Version abfragen

        python3 --version
        pip3 --version
        sudo apt update
        sudo apt install python3
        sudo apt install python3-pip
        
        
        • Blinkpy:
          Installation als User "iobroker" siehe Beitrag von @Dr-Bakterius
          sudo -H -u iobroker pip install blinkpy
        sudo -H -u iobroker pipx install blinkpy
        

        (edit: 27.03.2025, Hinweis @Thomas-Braun)
        ich habe pip3 installiert und mit folgendem Befehl blinkpy installiert:

        sudo -H -u iobroker pip3 install blinkpy
        

        Danach werden 2 Scripte angelegt
        Script 1: "anmelden.py" (erstellen im Ordner: /home/iobroker)
        erstellt wird das Script mit

        cd /home/iobroker
        
        nano anmelden.py
        

        Inhalt des Scripts:

        import asyncio
        from aiohttp import ClientSession
        from blinkpy.blinkpy import Blink
        from blinkpy.auth import Auth
         
        async def start():
            blink = Blink(session=ClientSession())
            # Can set no_prompt when initializing auth handler
            auth = Auth({"username": <your username>, "password": <your password>}, no_prompt=True)
            blink.auth = auth
            await blink.start()
            await blink.save("/opt/iobroker/blink_auth.json")
            return blink
         
        blink = asyncio.run(start())
        
        

        <your username>
        <your password>

        müssen mit den Anmeldedaten aus der Blink-Anmeldung (in der App) ersetzt werden.

        mit Strg + x beenden, speichern, Name bestätigen
        mit

        python3.11 anmelden.py
        

        das Script ausführen

        (Bei mir kam eine Fehlermeldung bzgl fehlendem aiohttp-Addon, das habe ich dann nochmal nachinstalliert)

        pip3 install aiohttp
        

        Danach sollte man/wird man nach seinen Anmeldedaten gefragt und erhält dann den 2FA Code welchen man angibt. Anschließend wird in /opt/iobroker die Datei blink_auth.json erstellt. Diese enthält die Anmeldedaten für künftige Abfragen. Den Pin auch in der Instanz des Homebridge Zubehör Adapter unter Konfigurationsdatei "PIN" eintragen.
        Danach kann man das Skript wenn man möchte wieder löschen. (ich habe es nicht gelöscht)

        Um jetzt ein Bild abzufragen braucht man folgendes Skript:
        erstellt wird das Script mit

        cd /opt/iobroker/bild.py
        
        nano bild.py
        

        Name kann frei gewählt werden.

        Zugriffsrechte anpassen /opt/iobroker/bild.py
        mit den Rechten 674 (ich habe die Rechte auf 655 gesetzt)

        cd /opt/ibroker
        chmod 755 bild.py
        
        import asyncio
        from aiohttp import ClientSession
        from blinkpy.blinkpy import Blink
        from blinkpy.auth import Auth
        from blinkpy.helpers.util import json_load
         
        async def start():
            blink = Blink()
            auth = Auth(await json_load("/opt/iobroker/blink_auth.json"))   # Anmeldeinformationen laden
            blink.auth = auth   # Anmeldeinformationen senden
            await blink.start()   # Verbindung starten
            camera = blink.cameras['<Kameraname>']   # Kameraname angeben
            await camera.snap_picture()   # Bild aufnehmen
            await blink.refresh()   # Daten vom Blink-Server abfragen
            await camera.image_to_file('/opt/iobroker/blink.jpg')   # Bild speichern
            return blink
         
        blink = asyncio.run(start())
        
        

        <Kameraname>
        muss mit dem Namen der Blink-Kamera in der App übereinstimmen!

        mit Strg + x beenden, speichern, Name bestätigen
        mit

        python3.11 bild.py
        

        das Script ausführen

        Der Aufruf des Bildes wird dann über den Javascript-Adapter gemacht:
        Hierzu ein Blockly erstellen und u.a. diese Zeile (von @Dr-Bakterius ) eingeben:
        (Trigger z.b. Cronjob, Tastendruck eines Button-Widgets fehlt hier noch, oder ggf. Datenpunkt "Bewegung" als Trigger)
        Werde dann hier später noch ein komplettes Blockly-Script einfügen

        1742543677513-screenshot-2025-03-21-085159.png

        Das Bild liegt dann hier ab:
        /opt/iobroker/blink.jpg

        Über ein "Image-Widget" kann dann das Bild in die Visu eingebunden werden:
        Ein Beispiel ergänze ich dann, wenn es bei mir funktioniert! 🙂

        Ergänzung für Abfrage des Videos und Kamera "ARM" und "DISARM" wird später noch ergänzt.


        Ende des HowTos.
        Ich hoffe hier um aktive Hilfestellung, damit wir eine verständliche Anleitung für jedermann hinbekommen.

        Bis demnächst, Gruß Brekkis

        Thomas Braun 1 Reply Last reply Reply Quote 0
        • Thomas Braun
          Thomas Braun Most Active @Brekkis last edited by

          @brekkis sagte in Blink Camera System:

          sudo -H -u iobroker pip install blinkpy

          Besser:

          sudo -H -u iobroker pipx install blinkpy
          

          pip sollte auf modernen Python-Installationen nicht mehr verwendet werden.

          B 1 Reply Last reply Reply Quote 0
          • B
            Brekkis @Thomas Braun last edited by

            @thomas-braun Ok, habe deinen Hinweis im HowTo eingearbeitet. Danke dir. Ist dir sonst noch was aufgefallen, was falsch oder nicht so schön ist....?

            Thomas Braun 1 Reply Last reply Reply Quote 0
            • Thomas Braun
              Thomas Braun Most Active @Brekkis last edited by Thomas Braun

              @brekkis

              Da ich die Hardware nicht habe kann ich auch nichts aus eigener Erfahrung beitragen.
              Nur bist du sicher, das z. B. mindestens nodejs@22 benötigt wird? Widerspricht der derzeitigen Empfehlung von nodejs@20 für den ioBroker.

              Die python Version wird so geprüft:

              python --version
              Python 3.13.2
              
              B 1 Reply Last reply Reply Quote 0
              • B
                Brekkis @Thomas Braun last edited by

                @thomas-braun Das habe ich doof geschrieben, das ist keine Mindestanforderung, sondern meine aktuell installierte Version. Ich schreibe das mal um. Danke

                Thomas Braun 1 Reply Last reply Reply Quote 0
                • Thomas Braun
                  Thomas Braun Most Active @Brekkis last edited by Thomas Braun

                  @brekkis

                  Und so als Vorausblick:
                  Da wird es wohl 'irgendwann' mal ein Debian-Paket zu geben.
                  Liegt momentan im Testing-Zweig und dürfte dann im Sommer zum Release von Debian 13 'Trixie' direkt aus dem Paket-Manager per apt install python3-blinkpy installierbar sein.

                  https://packages.debian.org/trixie/python3-blinkpy

                  1 Reply Last reply Reply Quote 1
                  • B
                    Brekkis last edited by

                    So, jetzt ist schon wieder ein Punkt, wo ich nicht weiterkomme.

                    Ich habe das Script und die Einstellungen soweit, dass ein Bild "Blink.jpg" im Ordner /opt/iobroker/iobroker-data abgelegt wird. Wie kann ich von der Vis auf das Bild zugreifen, bzw. es mir anzeigen lassen? Habe das Bild schon in den Imageordner auf den die Vis zugreift gelegt, aber da erscheint kein Blink.jpg!
                    was mache ich noch falsch?

                    Gruß Brekkis

                    arteck 1 Reply Last reply Reply Quote 0
                    • arteck
                      arteck Developer Most Active @Brekkis last edited by arteck

                      @brekkis

                      /opt/iobroker/iobroker-data

                      da kommst du nicht dran

                      leg dir ein Ordner für die Bilder an da hin

                      /opt/iobroker/pics
                      
                      B 1 Reply Last reply Reply Quote 0
                      • V
                        varg @varg last edited by varg

                        @Thomas-Braun

                        moin, vielleicht weisst Du wie ich das gerade biege. Dieses Problem verfolgt mich schon seit dem ersten Versuch (s.o).

                        pi@iobroker:~ $ sudo -H -u iobroker pip3 install blinkpy
                        error: externally-managed-environment
                        
                        × This environment is externally managed
                        ╰─> To install Python packages system-wide, try apt install
                            python3-xyz, where xyz is the package you are trying to
                            install.
                        
                            If you wish to install a non-Debian-packaged Python package,
                            create a virtual environment using python3 -m venv path/to/venv.
                            Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
                            sure you have python3-full installed.
                        
                            For more information visit http://rptl.io/venv
                        
                        note: If you believe this is a mistake, please contact your Python installation                                                                                                                                                              or OS distribution provider. You can override this, at the risk of breaking your                                                                                                                                                              Python installation or OS, by passing --break-system-packages.
                        hint: See PEP 668 for the detailed specification.
                        
                        
                        pi@iobroker:/home/iobroker $ python3 --version
                        Python 3.11.2
                        pi@iobroker:/home/iobroker $ pip3 --version
                        pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11)
                        pi@iobroker:/home/iobroker $
                        
                        
                        pi@iobroker:/home/iobroker $ nodejs -v
                        v20.19.0
                        pi@iobroker:/home/iobroker $ npm -v
                        10.8.2
                        pi@iobroker:/home/iobroker $
                        
                        

                        Beim letzten mal habe ich dann den "override" Befehl genutzt.

                        pi@iobroker:~ $ pip install blinkpy --break-system-packages
                        Defaulting to user installation because normal site-packages is not writeable
                        Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
                        Collecting blinkpy
                          Downloading https://www.piwheels.org/simple/blinkpy/blinkpy-0.23.0-py3-none-an                                                                                                                                                             y.whl (30 kB)
                        Collecting python-dateutil>=2.8.1
                          Downloading https://www.piwheels.org/simple/python-dateutil/python_dateutil-2.                                                                                                                                                             9.0.post0-py2.py3-none-any.whl (229 kB)
                             ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 229.9/229.9 kB 2.7 MB/s eta 0:00:00
                        Requirement already satisfied: requests>=2.24.0 in /usr/lib/python3/dist-package                                                                                                                                                             s (from blinkpy) (2.28.1)
                        Collecting python-slugify>=4.0.1
                          Downloading https://www.piwheels.org/simple/python-slugify/python_slugify-8.0.                                                                                                                                                             4-py3-none-any.whl (10 kB)
                        Collecting sortedcontainers~=2.4.0
                          Downloading https://www.piwheels.org/simple/sortedcontainers/sortedcontainers-                                                                                                                                                             2.4.0-py2.py3-none-any.whl (29 kB)
                        Collecting aiohttp>=3.8.4
                          Downloading aiohttp-3.11.14-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_a                                                                                                                                                             arch64.whl (1.7 MB)
                             ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 5.8 MB/s eta 0:00:00
                        Collecting aiofiles>=23.1.0
                          Downloading https://www.piwheels.org/simple/aiofiles/aiofiles-24.1.0-py3-none-                                                                                                                                                             any.whl (15 kB)
                        Collecting aiohappyeyeballs>=2.3.0
                          Downloading https://www.piwheels.org/simple/aiohappyeyeballs/aiohappyeyeballs-                                                                                                                                                             2.6.1-py3-none-any.whl (15 kB)
                        Collecting aiosignal>=1.1.2
                          Downloading https://www.piwheels.org/simple/aiosignal/aiosignal-1.3.2-py2.py3-                                                                                                                                                             none-any.whl (7.6 kB)
                        Collecting attrs>=17.3.0
                          Downloading https://www.piwheels.org/simple/attrs/attrs-25.3.0-py3-none-any.wh                                                                                                                                                             l (63 kB)
                             ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.8/63.8 kB 1.4 MB/s eta 0:00:00
                        Collecting frozenlist>=1.1.1
                          Downloading frozenlist-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_                                                                                                                                                             aarch64.whl (276 kB)
                             ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 276.4/276.4 kB 5.0 MB/s eta 0:00:00
                        Collecting multidict<7.0,>=4.5
                          Downloading multidict-6.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_a                                                                                                                                                             arch64.whl (135 kB)
                             ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 135.7/135.7 kB 4.1 MB/s eta 0:00:00
                        Collecting propcache>=0.2.0
                          Downloading propcache-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_a                                                                                                                                                             arch64.whl (232 kB)
                             ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 232.4/232.4 kB 5.0 MB/s eta 0:00:00
                        Collecting yarl<2.0,>=1.17.0
                          Downloading yarl-1.18.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch                                                                                                                                                             64.whl (340 kB)
                             ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 340.6/340.6 kB 4.6 MB/s eta 0:00:00
                        Requirement already satisfied: six>=1.5 in /usr/lib/python3/dist-packages (from                                                                                                                                                              python-dateutil>=2.8.1->blinkpy) (1.16.0)
                        Collecting text-unidecode>=1.3
                          Downloading https://www.piwheels.org/simple/text-unidecode/text_unidecode-1.3-                                                                                                                                                             py2.py3-none-any.whl (78 kB)
                             ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.2/78.2 kB 1.1 MB/s eta 0:00:00
                        Requirement already satisfied: idna>=2.0 in /usr/lib/python3/dist-packages (from                                                                                                                                                              yarl<2.0,>=1.17.0->aiohttp>=3.8.4->blinkpy) (3.3)
                        Installing collected packages: text-unidecode, sortedcontainers, python-slugify,                                                                                                                                                              python-dateutil, propcache, multidict, frozenlist, attrs, aiohappyeyeballs, aio                                                                                                                                                             files, yarl, aiosignal, aiohttp, blinkpy
                          WARNING: The script slugify is installed in '/home/pi/.local/bin' which is not                                                                                                                                                              on PATH.
                          Consider adding this directory to PATH or, if you prefer to suppress this warn                                                                                                                                                             ing, use --no-warn-script-location.
                        Successfully installed aiofiles-24.1.0 aiohappyeyeballs-2.6.1 aiohttp-3.11.14 ai  
                        

                        Das haut dann aber mit den Berechtigungen bestimmt alles nicht hin. Ja evtl. hast Du ja kurz Zeit für nen "kleinen" workarround 😉

                        Thomas Braun 1 Reply Last reply Reply Quote 0
                        • B
                          Brekkis @arteck last edited by Brekkis

                          @arteck Danke für den Tipp, geht leider immer noch nicht.
                          Das Bild liegt im Ordner /opt/iobroker/pics. Von der Visu aus (Image oder HTML Widget, Ordnername und Bildname eingetragen) zeigt es aber nichts an.

                          Wenn ich über WINSCP auf das Dateisystem zugreife und auf den Ordner /opt/iobroker/pics navigiere und das Bild ins Windowssystem herunterlade und öffne sehe ich das Bild von der Kamera.

                          Ich kann es einfach nicht in der Vis anzeigen. Verflucht.
                          Bild-Widget bei Quelle: ../opt/iobroker/pics/blink.jpg
                          Es wird nur ein Frame mit Fragezeichen dargestellt. Oh mann, ich bin auf der Zielgeraden und dann sowas....

                          1 Reply Last reply Reply Quote 0
                          • Thomas Braun
                            Thomas Braun Most Active @varg last edited by

                            @varg sagte in Blink Camera System:

                            Ja evtl. hast Du ja kurz Zeit für nen "kleinen" workarround

                            pipx verwenden. Ist auch kein Workaround sondern der vorgesehene Weg.

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            1.2k
                            Online

                            31.7k
                            Users

                            79.7k
                            Topics

                            1.3m
                            Posts

                            blink xt camera
                            63
                            406
                            97151
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo