Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [Projekt] Entwicklung iobroker.mcp und iobroker.blink

NEWS

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    11
    1
    568

  • Neuer ioBroker-Blog online: MonatsrĂŒckblick MĂ€rz/April 2026
    BluefoxB
    Bluefox
    8
    1
    2.0k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    11
    1
    872

[Projekt] Entwicklung iobroker.mcp und iobroker.blink

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
entwicklungllmmcpblinkblink kamera adapterblink4homeki-gestĂŒtzt
6 BeitrÀge 5 Kommentatoren 93 Aufrufe 5 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M Offline
    M Offline
    McCavity
    schrieb zuletzt editiert von
    #1

    Hallo zusammen,

    Pfingsten habe ich an zwei Adapter-Projekten herumgeschraubt, die ich Euch hier vorstellen möchte — beide sind noch nicht so weit, daß ich sie als richtige ioBroker-Adapter anmelden könnte, aber sie tun jeweils schon das, wofĂŒr ich sie konkret gebaut habe. Und ich hĂ€tte gerne Mitstreiter, Mit-Meckerer und Mit-Tester.

    TL;DR — die beiden Projekte

    • iobroker.mcp — eine BrĂŒcke zwischen ioBroker und LLM-Clients ĂŒber das Model Context Protocol. Zur Zeit als externer Python-Server (stdio, neben dem LLM-Client installiert), spricht via simple-api mit dem ioBroker. Ziel-Architektur: nativ als ioBroker-Adapter laufend, ĂŒber HTTP(S) Streamable Transport direkt an LLM-Clients angebunden, keine simple-api-AbhĂ€ngigkeit mehr. Repo: https://github.com/McCavity/iobroker-mcp
    • iobroker.blink — ein echter Blink-Adapter auf Basis von blinkpy (Python). Zur Zeit nur ein Hotfix-CLI, das aus einem JS-Adapter-Skript via exec() aufgerufen wird (Arm/Disarm via Sunset/Sunrise-Trigger). Ziel-Architektur: vollstĂ€ndiger Adapter mit Long-Running-Bridge, allen Datenpunkten der Networks/Cameras (Arm-Status, Motion, Battery, Snapshot etc.). Auslöser fĂŒr das Projekt: das alte Setup via HAM-Adapter war seit Wochen kaputt, weil Amazon Blink im Oktober/November 2025 die Auth-Architektur auf OAuth umgestellt hat — das HAM-genutzte Plugin ist seit April 2025 archiviert.

    Beide Projekte sind heute ĂŒber denselben Diagnose-Faden verbunden, deshalb stelle ich sie zusammen vor.

    Hinweis zur KI-Beteiligung (gemĂ€ĂŸ dem angepinnten Forum-Hinweis): Beide Projekte sind in enger Zusammenarbeit mit einem LLM-basierten Coding-Agent (Claude Code) entstanden — sowohl Architektur-Entscheidungen als auch Code-Anteil. Mein Anteil sind Anforderungen, Domain-Wissen, Live-Tests im eigenen Setup und Review. In den Repos ist die KI-Beteiligung durch Co-Authored-By-Marker in den Commits sowie Hinweise in den READMEs dokumentiert. Auch diesen Forum-Beitrag haben wir gemeinsam in mehreren Iterationen geschrieben.

    Wie es dazu kam — die Blink-Saga in Kurz

    Mein Skript fĂŒr die Außen-Kameras (Arm 30 Min vor Sonnenuntergang, Disarm 30 Min nach Sonnenaufgang, klassisch ĂŒber astro-Trigger) ist irgendwann gestorben — Schreibversuche auf den HAM-Datapoint kamen mit ack=false zurĂŒck, im HAM-Log stand nur HAPStatus -70402 SERVICE_COMMUNICATION_FAILURE. Ich hatte Debug-Logs im JS-Adapter aktiviert, mit -70402 etwas anzufangen versucht, dann gemerkt, daß auch das HAM-Plugin selbst noch ein eigenes Debug-Level hat, das ich nicht aktiviert hatte — und an dem Punkt ist mir die Lust ausgegangen. Plan-B waren feste ZeitplĂ€ne in der Blink-App, suboptimal aber tat irgendwas. Mit Repo-Versionen, Plugin-Source und dem eigentlichen Fehler habe ich mich gar nicht mehr beschĂ€ftigt.

    Pfingst-Sonntag habe ich den Fall an einen LLM-Helfer weitergereicht (Claude Code), den ich vorher mit einem MCP-Server fĂŒr ioBroker bewaffnet hatte — und das war der Wendepunkt. Damit war der Diagnose-Loop in zwanzig Minuten am Killer-Finding. Nichts davon hĂ€tte ich nicht prinzipiell auch selbst tun können. Aber zwischen "kann ich prinzipiell" und "mache ich tatsĂ€chlich" liegt halt manchmal das Leben.

    iobroker.mcp — Werkzeug und Stand

    Damit der Rest nachvollziehbar ist, ein kurzer Schwenk zum Begriff:

    Model Context Protocol (MCP) ist eine 2024 von Anthropic vorgestellte Spezifikation, mit der LLM-Clients (Claude Code, Codex, OpenCode etc.) strukturiert auf externe Datenquellen und Werkzeuge zugreifen können. Ein MCP-Server ist ein kleines Programm, das eine Sammlung von Tools bereitstellt — Funktionen mit Name, Beschreibung, Parameter-Schema und RĂŒckgabe. Das LLM sieht diese Tools, kann sie strukturiert aufrufen, bekommt das Ergebnis und arbeitet damit weiter.

    Konkret an einem ioBroker-Beispiel: ich sage in einem normalen Chat zu Claude "schalte die Blink-Außen-Kameras scharf". Claude kennt iobroker.mcp und sieht darin das Tool write_state(id, value). Sie ruft auf:

    write_state("ham.0.Blink-Blink-Außen.Blink-Außen-Arm.On", true)
    

    Der MCP-Server ĂŒbersetzt das aktuell in einen HTTP-Call gegen den simple-api-Adapter (GET /set/<id>?value=true). Die simple-api sitzt im ioBroker, setzt den Datenpunkt im Objektbaum auf true mit ack=false, der jeweilige Adapter reagiert wie sonst auch — fertig.

    Aktueller Stand:

    • FastMCP, Python (~400 Zeilen), MIT-Lizenz, public Repo
    • Transport: stdio, d.h. zur Zeit als Co-Installation neben dem LLM-Client (Mac, Linux-Workstation o.Ă€.)
    • Kommunikation mit ioBroker: ĂŒber simple-api (Voraussetzung: simple-api-Adapter installiert und Instanz aktiv, im LAN ohne Auth)
    • Acht Tools:
    Tool Was es macht
    health_check Erreichbarkeit + Adapter-Version prĂŒfen
    read_state(id) Einzelnen Datenpunkt lesen
    read_states_bulk(ids[]) Mehrere Datenpunkte gleichzeitig (sparsam)
    write_state(id, value) Schreibend setzen mit ack=false
    toggle_state(id) Bool-Wert umkippen (read+write in einem)
    list_objects(pattern) Objekte per Wildcard listen
    search_objects(query) Volltextsuche in Object-Namen
    query_history(id, options) Historische Werte aus dem History-Adapter ziehen

    Ziel-Architektur:

    • Nativ als ioBroker-Adapter laufend (also in der Adapter-Sprache des Ökosystems, also TypeScript/JavaScript — hier fehlt mir noch einiges an Erfahrung, deshalb Bitte um Mit-Hilfe weiter unten).
    • HTTP(S) Streamable Transport statt stdio, damit der LLM-Client direkt mit dem Adapter sprechen kann (von ĂŒberall, nicht nur lokal auf dem MCP-Server-Host).
    • Keine simple-api-AbhĂ€ngigkeit mehr — Adapter spricht direkt mit dem ioBroker-Objektbaum und der States-Datenbank.
    • Authentifizierung optional (Token, spĂ€ter ggf. Pro-User), damit das Ding auch außerhalb LAN nutzbar bleibt.

    iobroker.blink — Anlaß, Workaround und Stand

    Anlaß: HAM-Adapter mit homebridge-blink-for-home als BrĂŒcke zu Blink — funktionierte ĂŒber Jahre, fiel im Herbst 2025 aus. Mit MCP-Server-UnterstĂŒtzung dann diagnostiziert: das Plugin schweigt sich ĂŒber sein eigenes Scheitern aus (in log.js sind log.info/log.debug als No-Op definiert), und sobald man logging: "debug" aktiviert, kommt der eigentliche Fehler ans Tageslicht: HTTP 426 An app update is required. Amazon hat eine Mindest-App-Version eingefĂŒhrt; das Plugin meldet sich noch mit appVersion: 6.18.0 (2210101952) aus Oktober 2022. Plus: das Original-Repo ist seit 24. April 2025 archiviert, der aktive Fork hat das Problem ebenfalls (Issue #2 im Flomentum-Solutions/homebridge-blink-for-home-new), Home Assistant trifft die gleiche Wand (Issue #154477 im HA-Core).

    Der Grund ist nicht "Version-String veraltet". Amazon hat den Blink-Login komplett auf OAuth umgestellt (Access-Token + Refresh-Token statt klassischer Session-Cookies). Ein Plugin-Update mit gepatchtem Version-String wĂŒrde nichts retten — die ganze Auth-Architektur muß umgeschrieben werden. Im Python-Ökosystem gibt's allerdings schon eine Lösung: blinkpy von fronzbot hat den OAuth-Flow im PR #1115 bereits implementiert und wird aktiv gepflegt.

    Aktueller Stand (Workaround):

    • HAM-Adapter raus (iobroker del ham — 541 npm-Pakete entfernt)
    • blinkpy 0.25.5 in einem venv unter /home/iobuser/blink-venv/
    • Mini-CLI blink_control.py mit arm/disarm/status (gut 100 Zeilen)
    • JS-Skript ruft via exec() mit den astro-Triggern auf
    • Live verifiziert: Pfingst-Sonntagabend Arm-Trigger gefeuert, gestern frĂŒh 06:02 Disarm-Trigger ebenfalls

    Heute morgen habe ich allerdings festgestellt, daß mein Batterie-Check noch ĂŒber den alten HAM-Adapter ging und dort jetzt natĂŒrlich ins Leere zeigt — diese FunktionalitĂ€t ist verloren, bis ein richtiger Adapter da ist. Damit ist klar: das Hotfix-CLI deckt nur die Arm/Disarm-Schedule ab, alles andere fĂ€llt aktuell aus.

    Ziel-Architektur:

    • VollstĂ€ndiger ioBroker-Adapter mit Long-Running-Bridge (vermeidet die 30-60s Cold-Start-Latenz, die das Python-CLI pro Aufruf hat)
    • Vermutlich Python-Subprozeß fĂŒr die blinkpy-Anbindung, JSON-RPC oder MQTT als IPC, JS/TS-Adapter-Wrapper drumherum — Architektur noch offen, VorschlĂ€ge willkommen
    • Datenpunkte fĂŒr alle Networks und Cameras: Arm-Status (lesend + schreibend), Motion-Detection, Battery-Level, Wifi-Strength, Snapshot-Fetch, ggf. Live-View-URL
    • 2FA-Erst-Auth einmalig per Konfig-UI, Token-Refresh dann transparent

    Die Bitte

    Was ich gebaut habe sind zwei Prototypen — der eine lĂ€uft schon im Alltag (das MCP-Werkzeug), der andere ist erstmal nur ein Pflaster (das Blink-Hotfix-CLI). FĂŒr beide brauche ich Mitstreiter, weil ich an einigen Stellen noch Bedarf habe:

    • JS/TS-Adapter-Entwicklung im Allgemeinen — ich habe einiges an Python-Code geschrieben, aber das ioBroker-eigene Adapter-Ökosystem ist auf Node-basiert. Wer Lust hat, mir hier auf die SprĂŒnge zu helfen, ist herzlich willkommen.
    • HTTP(S) Streamable MCP Transport in einem ioBroker-Adapter — falls jemand das schon mal gemacht oder gesehen hat, Hinweise gerne.
    • Architektur-Diskussion fĂŒr iobroker.blink — Long-Running-Python-Bridge vs. native Node-Implementierung der Blink-API? IPC via MQTT/JSON-RPC/Unix-Socket? Ich habe Meinungen, aber keine endgĂŒltigen Antworten.
    • Test-Setups fĂŒr iobroker.blink — wer Blink-Hardware hat und im Adapter-Beta testen wĂŒrde, gerne melden.
    • Wunschverhalten fĂŒr beide Adapter — was wĂŒrde Euch sinnvoll erscheinen? Auch "ich wĂŒrde das so nie nutzen, weil..." ist wertvolles Feedback.

    Sobald die Repos ein bißchen Substanz haben, werde ich fĂŒr iobroker.blink einen eigenen "Test/Entwicklung"-Thread aufmachen — Hinweis kommt hier dann nochmal. iobroker.mcp lĂ€uft erstmal weiter im jetzigen Repo (https://github.com/McCavity/iobroker-mcp), Issues / Feature-Requests / PRs nehme ich gerne an.

    LG

    McCavity

    1 Antwort Letzte Antwort
    0
    • S Abwesend
      S Abwesend
      Shadowhunter23
      schrieb zuletzt editiert von Shadowhunter23
      #2

      Das soll deine Arbeit nicht schlecht machen, hast du diesen Adapter gesehen?:
      https://forum.iobroker.net/topic/84386/test-adapter-fĂŒr-blink-kameras-entwickelt-mit-ki

      Vielleicht auch zusammen tun um an diesem Projekt zu arbeiten?

      Proxmox 9 HA-Cluster mit 3x HP prodesk 400 G6 i5
      Bei einem downvote bitte melden, es könnte sein, dass dieser ungewollt ist!

      1 Antwort Letzte Antwort
      1
      • M Offline
        M Offline
        McCavity
        schrieb zuletzt editiert von
        #3

        lol nein, nicht gesehen... ich hab nur im Repo geschaut, ob es was gibt, aber nicht im Forum đŸ€Ł

        Belege letzte Durchsage, ich werde keinen Blink Adapter entwickeln.

        Wenn jetzt auch noch einer einen MCP Server in der Mache hat, werfe ich das Handtuch ;-)

        Jey CeeJ OliverIOO FeuersturmF 3 Antworten Letzte Antwort
        0
        • M McCavity

          lol nein, nicht gesehen... ich hab nur im Repo geschaut, ob es was gibt, aber nicht im Forum đŸ€Ł

          Belege letzte Durchsage, ich werde keinen Blink Adapter entwickeln.

          Wenn jetzt auch noch einer einen MCP Server in der Mache hat, werfe ich das Handtuch ;-)

          Jey CeeJ Online
          Jey CeeJ Online
          Jey Cee
          Developer
          schrieb zuletzt editiert von
          #4

          @McCavity mit MCP hat sich schon mal @holger-will beschÀftigt. Such mal im Forum.

          Persönlicher Support
          Spenden -> paypal.me/J3YC33

          1 Antwort Letzte Antwort
          0
          • M McCavity

            lol nein, nicht gesehen... ich hab nur im Repo geschaut, ob es was gibt, aber nicht im Forum đŸ€Ł

            Belege letzte Durchsage, ich werde keinen Blink Adapter entwickeln.

            Wenn jetzt auch noch einer einen MCP Server in der Mache hat, werfe ich das Handtuch ;-)

            OliverIOO Offline
            OliverIOO Offline
            OliverIO
            schrieb zuletzt editiert von
            #5

            @McCavity

            Da gibt es schon 2 AnsÀtze

            https://github.com/ioBroker/ioBroker.mcp
            https://github.com/Holger-Will/ioBroker.mcp-server

            Der erste ist von Bluefox, den will er nun als NĂ€chstes weiterentwickeln.
            Meiner Meinung nach mĂŒsste er den folgenden befehlsumfang abdecken

            SocketCommand und socketCommandsAdmin

            https://github.com/ioBroker/ioBroker.socket-classes/tree/main/src/lib

            Meine Adapter und Widgets
            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
            Links im Profil

            1 Antwort Letzte Antwort
            1
            • M McCavity

              lol nein, nicht gesehen... ich hab nur im Repo geschaut, ob es was gibt, aber nicht im Forum đŸ€Ł

              Belege letzte Durchsage, ich werde keinen Blink Adapter entwickeln.

              Wenn jetzt auch noch einer einen MCP Server in der Mache hat, werfe ich das Handtuch ;-)

              FeuersturmF Offline
              FeuersturmF Offline
              Feuersturm
              schrieb zuletzt editiert von
              #6

              @McCavity das Thema MCP war auch ein Diskussionspunkt im letzten Dev Meeting https://forum.iobroker.net/topic/84355/meeting-fĂŒr-iobroker-core-dev-admin-20.05.26-20-30

              Wenn die Aufzeichnung bereitgestellt wurde kannst du es dir dort auch noch einmal anhören was dort besprochen wurde

              1 Antwort Letzte Antwort
              1

              Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

              Hast du es satt, bei jedem Besuch durch die gleichen BeitrĂ€ge zu scrollen? Wenn du dich fĂŒr ein Konto anmeldest, kommst du immer genau dorthin zurĂŒck, wo du zuvor warst, und kannst dich ĂŒber neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und BeitrĂ€ge positiv bewerten, um anderen Community-Mitgliedern deine WertschĂ€tzung zu zeigen.

              Mit deinem Input könnte dieser Beitrag noch besser werden 💗

              Registrieren Anmelden
              Antworten
              • In einem neuen Thema antworten
              Anmelden zum Antworten
              • Älteste zuerst
              • Neuste zuerst
              • Meiste Stimmen


              Support us

              ioBroker
              Community Adapters
              Donate

              425

              Online

              32.9k

              Benutzer

              83.0k

              Themen

              1.3m

              BeitrÀge
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
              ioBroker Community 2014-2025
              logo
              • Anmelden

              • Du hast noch kein Konto? Registrieren

              • Anmelden oder registrieren, um zu suchen
              • Erster Beitrag
                Letzter Beitrag
              0
              • Home
              • Aktuell
              • Tags
              • Ungelesen 0
              • Kategorien
              • Unreplied
              • Beliebt
              • GitHub
              • Docu
              • Hilfe