NEWS
Test Adaper kiwi 0.4.1
-
ich schreibe gerade an diesem wundervollen Adapter. Ich denke der ist stabil genug, dass man den mal testen könnte. Dazu bräuchte ich eure Hilfe!
https://github.com/Holger-Will/ioBroker.kiwiEs ist ein mcp-server und (später mal) mcp-client. (naja, ne minimale Version eines clients ist schon eingebaut)
Zum testen eignet sich zum Beispiel vscode. Da kann man dann im copilot-chat mit Hilfe der KI sein ioBroker Sytem fernsteuern...
-
@holger-will hey Holger coole Sache. Hab kürzlich darüber Nachgedacht das ein MCP Server ne super Erweiterung für den ioBroker wäre.
@Homoran kannst du ihn Mal in die Developer Gruppe aufnehmen.
-
ich hab den Thread mal in die Rubrik Tester geschoben.
-
Zum Testen braucht ihr:
- iobroker system
- den web adapter
- eien MCP-Client, zB vscode oder Claude Desktop etc.
- eine Gemini Api Key
Enrichten
- API Key eintragen
- Web Adapter auswählen.
speichern und schließen
hat alles geklappt?
und dann, unter dem im web Adapter konfigurierten Port mal nachschauen: http://<ipadresse>:<port>/kiwi/0/mcp
bekommt ihr dann das angezeigt, ist alles in Ordnung:{"jsonrpc":"2.0","error":{"code":-32000,"message":"Method not allowed: GET"},"id":null}
dannach in vscode einen mcp-server in den settings eintragen: https://code.visualstudio.com/docs/copilot/chat/mcp-servers
und dann loslegen. die KI weiß am Anfang nicht viel über euer System.
Das Funktionsprinzip ist wie folgt: in den Custom Configs also für jeden State im Object Baum könnt ihr die Einstellungen für kiwi.0 enablen. und dann eine Beschreibung eingeben.
Diese Beschreibung kommt dann in eine Vektordatenbank. dies ermöglicht eine semantische Suche. das heißt, das nicht nach Wörtern gesucht wird, sonder nach Bedeutungen. Das heißt auch, dass ihr in einer beliebigen Sprache beschreiben, und in einer komplett anderen Sprache suche könnt.Beispiel
eine Beschreibung könnte sein
"On/OFF State to switch the light in the Kitchen"
dann kann man der KI sagen "schalte das Licht in der Küche an". Die KI ruft dann die
search
Funktion auf, findet dann hoffentlich den richtigen State und nutztsetState
um das Licht anzuschalten.dann kann man der KI aber auch sagen.
"Das Geräte hat noch weiter States für brightness und color temperature. bitte beschreibe diese auch nach der Vorlage von dem an/aus State"
(oder so ähnlich)
Die KI kann auch Scripte erstelle, den History Adapter benutzen um Auswertungen zu machen, oder Szenen im scene adpater anlegen etc.
-
@homoran Danke!
-
Mag jetzt eine Dumme Frage sein: Warum ist der Gemini API Key zwingend nötig?
Edit: Ich hab versucht das mit dem AI Assistant von Jet Brains in Webstorm zu verbinden.
Da bekomme ich eine Fehlermeldung beim Verbindungsversuch das kein Gültiges JSON Object geliefert wird.Element class kotlinx.serialization.json.JsonArray is not a JsonObject
-
@jey-cee für das embedding für die vektor suche. https://ai.google.dev/gemini-api/docs/embeddings
ich plane irgendwann auch andere anbieter zu integrieren hab halt mit google angefangen. -
@holger-will Die embedding model sind ja nicht sehr groß, da sollte es auch möglich sein eins lokal zu verwenden für die Aufgabe.
-
@holger-will
Bitte ergänze im ersten Beitrag den header wie er vom Template vorgefeben wird. -
@mcm1957 sagte in Test Adaper kiwi 0.4.1:
wie er vom Template vorgefeben wird.
@homoran sagte in Test Adaper kiwi 0.4.1:
ich hab den Thread mal in die Rubrik Tester geschoben.
daher hat er das nicht, und @jeyist der falsche Adressat.
PS
Wieder zu hause? -
@Homoran
Sorry. Hab nicht mitbekommen dass der Beitrag verschoben wurde. Hatte ihn ja explizut gebeten das Topic in Tester anzulegenbubd ggF dich wg. Zugriff anzuchatten ...EDIT
Addressat versucht zu korrigieren -
-
@homoran
Danke ... bei usern mit Leerzeichen gehts nur manchmal ... -
@jey-cee es kann sein das der noch kein StreamableHTTPTransport untestützt, dann kannst du mit mcp-remote nachhelfen:
"iobroker-remote": { "type": "stdio", "command": "npx", "args": ["-y", "mcp-remote", "http://<your-iobroker-ip>:<web-adapter-port>/kiwi/0/mcp", "--allow-http"] }
ansosten zeig mir doch mal deine config im mcp-client.
-
@mcm1957 ja sorry, den Topic gabs nicht in der Kategorie-Liste
-
@holger-will
passt schon
und DANKE das du Zeit für nen Adapter aufwendest. -
@holger-will das war schon drin. Hab es mal raus, dann kommt kein Fehler aber auch keine Verbindung (nur Stream closed).
Hier mal die die Konfiguration. Der type wird beim speichern immer entfernt.
{ "mcpServers": { "remote-server": { "command": "npx", "args": [ "-y", "mcp-remote", "http://127.0.0.1:8082/kiwi/0/mcp", "--allow-http" ] } } }
-
@jey-cee also das internet behauptet webstorms mcp client unterstützs streamable http transport. also sollte es auch ohne mcp-remote gehen:
"servers": { "iobroker-remote": { "type": "http", "url": "http://192.168.178.38:8082/kiwi/0/mcp" } }
wenn beides nicht geht, weiß ich auch nicht... ich versuche mal webstorm auf meinem Chromebook zu installieren...
"Stream Closed" ist aber normal galube ich, da ich keine SSE Events sende, öffnen ich gar keinen Stream. Die verbindung ist also nicht dauerhaft aktiv.
Das hier scheint ähnlicher Fehler wie bei dir zu sein.
https://youtrack.jetbrains.com/issue/LLM-17174/MCP-Failure-Function-call-took-suspiciously-long-time-JsonLiteral-is-not-a-JsonObjectansonsten kannst du es auch mal https://claude.ai/download versuchen
-
@jey-cee mit dem github-copilot plugin im Webstorm funktioniert es. aber auch nur mit
mcp-remote
.Webstorm selbst bekomme ich nicht dazu überredet sich zu verbinden
Schau doch mal bitte was in der log Datei steht. Unter linux ist die hier:
~/.cache/JetBrains/WebStorm2025.1/log/mcp/iobroker-remote.log
-
@jey-cee du hast absolut recht. ich werde in der nächsten version die abhängigkeit von google entfernen!