Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • 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. Tester
  4. Test Adapter AI Toolbox v0.1.3 GitHub/Latest

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    905

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Test Adapter AI Toolbox v0.1.3 GitHub/Latest

Geplant Angeheftet Gesperrt Verschoben Tester
41 Beiträge 12 Kommentatoren 6.4k Aufrufe 21 Watching
  • Ä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 mick70

    @halsi82 Sehr hübsch!

    Ich selbst verwende bisher eigene, parametergesteuerte Modelle, um bei PV-Überschuss innerhalb einer vorgegebenen Bandbreite eine Klimaanlage automatisch entweder zum Heizen oder Kühlen in unterschiedlichen Leistungsstufen mit Berücksichtigung der Schutzzeiten für den Kompressor zu regeln und um Überschusshitze aus einem kollektorgespeisten Boiler in den Pufferspeicher der Wärmepumpe abzuleiten.

    Klappt zwar durchaus ordentlich, meine starren Modelle sind bei zusätzlichen Parametern aber nur schwer anzupassen und prädiktiv/adaptiv sind sie natürlich auch nicht. Wenn ich Zeit habe, werde ich mal mit Versuchen ganz ähnlich wie bei dir beginnen, aber vermutlich mit dem Assistant Adapter, der der KI direkten Zugriff auf verschiedene Datenpunkte gibt.

    Den Toolbox Adapter nehme ich derzeit (zusammen mit dem iobroker custom skill und den alexa2 sowie text2command Adaptern) im Moment nur als verbesserte Sprach-Antwortmaschine für meine Echos bei schnellen Fragen (zB "Alexa, frage i o broker, welche Auswirkungen kann die Einführung von Deep Search auf den Markt für künstliche Intelligenz haben"). Wird hier im Moment wegen der Hörschwäche von Alexa gerade bei Fachbegriffen aber nicht stark genutzt. Mal sehen, ob mir da noch etwas besseres einfällt.

    O Offline
    O Offline
    oxident
    schrieb am zuletzt editiert von
    #31

    @mick70 Kannst Du grob umreißen, wie Du die Sache mit Alexa machst?
    Ich bin immer davon ausgegangen, dass der iot-Adapter nur ganz wenig Zeit lässt, eine Antwort in Javascript zu formulieren. So schnell wird ja bestimmt nichts kommen ;-)

    M 1 Antwort Letzte Antwort
    0
    • O oxident

      @mick70 Kannst Du grob umreißen, wie Du die Sache mit Alexa machst?
      Ich bin immer davon ausgegangen, dass der iot-Adapter nur ganz wenig Zeit lässt, eine Antwort in Javascript zu formulieren. So schnell wird ja bestimmt nichts kommen ;-)

      M Offline
      M Offline
      mick70
      schrieb am zuletzt editiert von mick70
      #32

      OK, war wohl nicht wichtig.

      O 1 Antwort Letzte Antwort
      0
      • M mick70

        OK, war wohl nicht wichtig.

        O Offline
        O Offline
        oxident
        schrieb am zuletzt editiert von
        #33

        @mick70 said in Test Adapter AI Toolbox v0.1.3 GitHub/Latest:

        OK, war wohl nicht wichtig.

        Was meinst Du?

        1 Antwort Letzte Antwort
        0
        • T ToGe88
          Aktuelle Test Version 0.1.3
          Veröffentlichungsdatum 27.12.2024
          Github Link https://github.com/ToGe3688/ioBroker.ai-toolbox

          Hallo zusammen,

          ich möchte euch den neuen ioBroker AI Toolbox Adapter vorstellen, den ich kürzlich entwickelt habe. Der Adapter bringt KI-Modelle in eure ioBroker Smart-Home-Umgebung.

          Was macht der Adapter?

          Der AI Toolbox Adapter ermöglicht die Integration von KI-Modellen (Large Language Models, LLMs) in ioBroker. Damit könnt ihr maßgeschneiderte Tools erstellen, die spezifische Aufgaben automatisieren oder auch als intelligente Chatbots dienen. Die wichtigsten Features sind:

          • Unterstützung für verschiedene KI-Anbieter, darunter OpenAI, Anthropic, OpenRouter, Perplexity und lokale / selbst gehostete Modelle wie LocalAI oder LM Studio.
          • Erstellung individueller Tools mit flexiblen Einstellungen wie System-Prompts, Beispielnachrichten, Nachrichtenverläufen und Kreativitätsparametern.
          • Direkte Kommunikation mit euren Tools und den Modellen über Datenpunkte oder via sendTo über Scripte im Javascript Adapter
          • Token- und Nutzungsstatistiken zur Optimierung und Kostenkontrolle.
          • Vision / Image Fähigkeiten für Tools. Bilder analysieren und nach eigener Vorgabe auswerten lassen.

          Beispiele für die Anwendung

          • Chatbots: Eigene Assistenten die sich wie ein Chatbot verhalten und zur Kommunikation genutzt werden können.
          • Wetter-Bot: Personalisierte Wetterberichte basierend auf euren Sensordaten die ihr via ioBroker zur Verfügung stellt.
          • Musik-Assistent: Musikempfehlungen passend zur Stimmung oder zum Wetter für Smartspeaker z.B. Alexa
          • Lichtsteuerung: Automatische RGB-Beleuchtungsvorschläge je nach Musikrichtung. Hier können JSON Daten zur weiteren Verwendung in Scripten erzeugt werden.
          • Individuelle Begrüßungen: Erzeuge individuelle Begrüßungen basierend auf den zur Verfügung gestellten Daten. Die Begrüßungen können gekoppelt mit der Anwesenheit z.B. über Alexa ausgegeben werden.
          • Bild Analyse: Bildmaterial nach eigenen Vorgaben auswerten lassen

          Wie funktioniert’s?

          Nach der Installation könnt ihr eure Tools direkt im Admin Interface anlegen und konfigurieren. Mit einem Klick stehen Datenpunkte für Anfragen (text_request) und Antworten (text_response) bereit. Beachtet dabei eure Tools so präzise wie möglich zu formulieren um gute Ergebnisse zu erhalten. Die Beispielanfragen und -antworten helfen hierbei das Model zu formen um konsistente Ausgaben zu erhalten. Auch die Integration in Skripte ist möglich, z. B.:

          Mit Tools interagieren

          sendTo('ai-toolbox.0', 'tool_request', {
            tool: 'simple-chatbot',
            text: 'Hallo, wie geht’s?',
          }, (result) => {
            console.log(result); // Antwort vom Tool als Textstring
          });
          

          Direkt mit Modellen interagieren

          sendTo('ai-toolbox.0', 'model_request', {
              'model': 'MODEL-NAME',
              'system_prompt': 'System prompt for your request'
              'temperature': 'Temperature setting for your request'
              'max_tokens': 'Max number of tokens to generate'
              'text': 'The message for the tool to respond to',
          }, async (result) => {
              console.info(result.text); // Text response of the model
              console.info(result.model); // Used model for request
              console.info(result.tokens_input); // Used input tokens
              console.info(result.tokens_output); // Used output tokens
              console.info(result.error); // Error, populated if request fails
              console.info(result.request_data); // JSON object with request data
              console.info(result.response_data); // JSON object with raw response of the API call
          });
          

          Feedback gesucht!

          Ich freue mich über euer Feedback, sei es zu den Funktionen, der Benutzerfreundlichkeit oder Ideen für neue Anwendungsfälle. Auch Bug-Reports und Verbesserungsvorschläge sind willkommen! Da es mein erster Adapter für ioBroker ist bitte ich um Nachsicht falls ich Dinge nicht korrekt umgesetzt habe. :astonished:

          Den Adapter findet ihr auf Github unter https://github.com/ToGe3688/ioBroker.ai-toolbox

          Eine detaillierte Anleitung und ein Quick-Start Guide ist im Readme enthalten.

          Danke schon jetzt für eure Rückmeldungen! 🙏

          Viele Grüße!

          R Offline
          R Offline
          RandyAndy
          schrieb am zuletzt editiert von
          #34

          Hallo,
          Ich verwende nun seit einiger Zeit den ai-toolbox-Adapter in Kombination mit Openrouter.
          Es hat sich gezeigt, dass das beste Ergebnis mit Gemini erzeugt wird. DeepSeek ist nicht schlecht aber nicht aud dem gleichen Niveau.
          Leider verlangt seit einigen Tagen "Openrouter", dass man Credits in Verbindung mit Gemini haben muss.
          Da bei Gemini bis zu 1 Mio Tokens frei sind, frage ich mich, ob man nicht direkt auf Gemini über den Adpater zugreifen kann. Einen API key habe ich.
          Hat das schon jemand hinbekommen ?

          R 1 Antwort Letzte Antwort
          1
          • R RandyAndy

            Hallo,
            Ich verwende nun seit einiger Zeit den ai-toolbox-Adapter in Kombination mit Openrouter.
            Es hat sich gezeigt, dass das beste Ergebnis mit Gemini erzeugt wird. DeepSeek ist nicht schlecht aber nicht aud dem gleichen Niveau.
            Leider verlangt seit einigen Tagen "Openrouter", dass man Credits in Verbindung mit Gemini haben muss.
            Da bei Gemini bis zu 1 Mio Tokens frei sind, frage ich mich, ob man nicht direkt auf Gemini über den Adpater zugreifen kann. Einen API key habe ich.
            Hat das schon jemand hinbekommen ?

            R Offline
            R Offline
            RandyAndy
            schrieb am zuletzt editiert von
            #35

            @randyandy sagte in Test Adapter AI Toolbox v0.1.3 GitHub/Latest:

            Hallo,
            Ich verwende nun seit einiger Zeit den ai-toolbox-Adapter in Kombination mit Openrouter.
            Es hat sich gezeigt, dass das beste Ergebnis mit Gemini erzeugt wird. DeepSeek ist nicht schlecht aber nicht aud dem gleichen Niveau.
            Leider verlangt seit einigen Tagen "Openrouter", dass man Credits in Verbindung mit Gemini haben muss.
            Da bei Gemini bis zu 1 Mio Tokens frei sind, frage ich mich, ob man nicht direkt auf Gemini über den Adpater zugreifen kann. Einen API key habe ich.
            Hat das schon jemand hinbekommen ?

            Keiner eine Antwort ?

            R 1 Antwort Letzte Antwort
            0
            • R RandyAndy

              @randyandy sagte in Test Adapter AI Toolbox v0.1.3 GitHub/Latest:

              Hallo,
              Ich verwende nun seit einiger Zeit den ai-toolbox-Adapter in Kombination mit Openrouter.
              Es hat sich gezeigt, dass das beste Ergebnis mit Gemini erzeugt wird. DeepSeek ist nicht schlecht aber nicht aud dem gleichen Niveau.
              Leider verlangt seit einigen Tagen "Openrouter", dass man Credits in Verbindung mit Gemini haben muss.
              Da bei Gemini bis zu 1 Mio Tokens frei sind, frage ich mich, ob man nicht direkt auf Gemini über den Adpater zugreifen kann. Einen API key habe ich.
              Hat das schon jemand hinbekommen ?

              Keiner eine Antwort ?

              R Offline
              R Offline
              RandyAndy
              schrieb am zuletzt editiert von RandyAndy
              #36

              Wie im Adapter beschrieben ist openrouter.ai gut zum Lernen. Damit kann man erste Schritte gut erledigen. Alle anderen Dienste die im Adpater angeboten werden sind aber nicht oder nur gegen Entgeld nutzbar wie OpenAI. Spannender finde ich hier aber die Google Gemini Lösung die für den Heimgebrauch kostenlos ist (bzw. ich kann mir nicht vorstellen dass man 1 Mio Token per Monat verbrauchen kann). Da Google Gemini nicht unterstützt wird und offensichtlich der Adapter nicht mehr gepflegt wird (Schade eigentlich) mache ich das nun über pyton oder cURL. Die ersten Tests sind recht vielversprechend und ich bin dann hier wieder raus.
              Aber Danke an die Entwickler, für den Einstieg war der Adapter recht brauchbar.

              O 1 Antwort Letzte Antwort
              0
              • R RandyAndy

                Wie im Adapter beschrieben ist openrouter.ai gut zum Lernen. Damit kann man erste Schritte gut erledigen. Alle anderen Dienste die im Adpater angeboten werden sind aber nicht oder nur gegen Entgeld nutzbar wie OpenAI. Spannender finde ich hier aber die Google Gemini Lösung die für den Heimgebrauch kostenlos ist (bzw. ich kann mir nicht vorstellen dass man 1 Mio Token per Monat verbrauchen kann). Da Google Gemini nicht unterstützt wird und offensichtlich der Adapter nicht mehr gepflegt wird (Schade eigentlich) mache ich das nun über pyton oder cURL. Die ersten Tests sind recht vielversprechend und ich bin dann hier wieder raus.
                Aber Danke an die Entwickler, für den Einstieg war der Adapter recht brauchbar.

                O Offline
                O Offline
                oxident
                schrieb am zuletzt editiert von
                #37

                @randyandy Guter Hinweis mit Gemini! Ich für meinen Teil fahre mit Qwen-12B unter Ollama (via Open WebUI) auch ganz gut.

                Ich glaube, der Adapter ist einfach "zu früh". Will sagen, es fehlen vielleicht noch richtige Use-Cases mit praktischen Beispielen. Dann könnte das vielleicht noch zünden...

                B 1 Antwort Letzte Antwort
                1
                • O oxident

                  @randyandy Guter Hinweis mit Gemini! Ich für meinen Teil fahre mit Qwen-12B unter Ollama (via Open WebUI) auch ganz gut.

                  Ich glaube, der Adapter ist einfach "zu früh". Will sagen, es fehlen vielleicht noch richtige Use-Cases mit praktischen Beispielen. Dann könnte das vielleicht noch zünden...

                  B Offline
                  B Offline
                  bloop
                  schrieb am zuletzt editiert von
                  #38

                  @oxident
                  Ich fahre mit Ollama ebenfalls sehr gut! Funktioniert im Adapter leider noch nicht. Auf GitHub habe ich bereits ein Feature Request für Ollama angefragt. Es wird scheinbar bereits daran gearbeitet.
                  Leider reagiert der Großteil der Community gegenüber AI use cases sehr abweisend - anders als bei HA…
                  Ich denke ebenfalls das es hierfür noch zu früh ist und noch keiner der großen Streamer etwas bahnbrechendes dazu veröffentlicht hat.
                  Ich verwende meine AI aktuell lediglich um regelmässige Benachrichtigungen Kreativer zu gestalten und trainiere meine AI mit Bildern der Kameras um irgendwann zu Personen, Tieren usw. korrekte Namen zuweisen zu können. Als Nächstes möchte ich meine AI mit Datenpunkten usw. trainieren. Alles Lokal versteht sich.
                  Was sind eure use cases denn so?

                  R 1 Antwort Letzte Antwort
                  1
                  • B bloop

                    @oxident
                    Ich fahre mit Ollama ebenfalls sehr gut! Funktioniert im Adapter leider noch nicht. Auf GitHub habe ich bereits ein Feature Request für Ollama angefragt. Es wird scheinbar bereits daran gearbeitet.
                    Leider reagiert der Großteil der Community gegenüber AI use cases sehr abweisend - anders als bei HA…
                    Ich denke ebenfalls das es hierfür noch zu früh ist und noch keiner der großen Streamer etwas bahnbrechendes dazu veröffentlicht hat.
                    Ich verwende meine AI aktuell lediglich um regelmässige Benachrichtigungen Kreativer zu gestalten und trainiere meine AI mit Bildern der Kameras um irgendwann zu Personen, Tieren usw. korrekte Namen zuweisen zu können. Als Nächstes möchte ich meine AI mit Datenpunkten usw. trainieren. Alles Lokal versteht sich.
                    Was sind eure use cases denn so?

                    R Offline
                    R Offline
                    RandyAndy
                    schrieb am zuletzt editiert von
                    #39

                    @bloop

                    mein use case ist es automatisiert eMails zu beantworten.
                    DeepSeek ist da nicht schlecht und 90% - 95% der Antworten sind echt brauchbar. Ich habe parallel mal Gemini (manuel) verwendet und die Antworten wären besser und DeepSeek ist schon recht erfinderisch. Ich bin hier aber noch beim Beobachten und testen und habe die automatisierte Antwort noch nicht scharf geschaltet.
                    Tendentiell werde ich aber vermutlich mit den POST-Funktionen und Gemini in Zukunft weiter arbeiten und nicht mit DeepSeek. Dazu benötige ich aber ein wenig Zeit, die ich derzeit nicht habe, da mich etwas anderes noch wichtigers aufhält.

                    Andreas

                    1 Antwort Letzte Antwort
                    0
                    • C Offline
                      C Offline
                      ceram
                      schrieb am zuletzt editiert von ceram
                      #40

                      @toge88 Richtig cooles Ding, vielen Dank dafür!

                      Als Inspiration möchte ich mein Projekt mit euch teilen: Ich habe mir mit der Toolbox einen Assistenten gebaut, der Fragen zum Status meines Smarthomes in natürlicher Sprache entgegennimmt und beantwortet. Für minimale laufende Kosten (s. u.). Ich benutze zwei Kanäle, Alexa und Telegram.

                      Das Ganze funktioniert wie folgt: Es wird nicht nur eine Benutzerfrage an die externe KI übermittelt, sondern auch ein ziemlich großes, per JS-Code eigens passend generiertes JSON mit ausgewählten States als Kontext. Außerdem noch ein paar "Allgemeine Hinweise". Konkret sieht der übermittelte String bei mir z. B. so aus:

                      var promptWithContext = 'Benutzer-Frage:\n' + userQuestion +
                      '\n\nAllgemeine Hinweise:\n' + `
                      - Feuchtigkeitsvergleiche machst du immer anhand des Taupunkts (je niedriger, desto trockener die Luft), nicht der relativen Feuchte.
                      - Bei Lüftungsempfehlungen betrachtest du die Taupunktdifferenz, denn der primäre Sinn des Lüftens ist die Entfeuchtung:
                          - Aber Achtung: Lüften zur Entfeuchtung macht keinen Sinn, wenn die Feuchte schon in der Komfortzone (40 bis 55 % rel. und Taupunkt < 13 °C) bzw. darunter oder die Taupunktdifferenz zwischen Raum und außen sehr niedrig ist.
                          - Soll die Lüftung die Raumtemperatur senken, vergleichst du sie mit der Außentemperatur. Lass aber nie den Taupunkt außer Acht, es soll durch das Lüften innen niemals (!) feuchter werden!
                      - Erwähnst du automatisch geschaltete Lichter, die aktuell an sind, erkläre immer, dass diese sich selbst ausschalten.
                      - Der Solarmodus ist ein wesentliches Element der Heizungssteuerung und beeinflusst das Heizverhalten stark. Erkläre die Auswirkungen bei Fragen zur Heizung.
                      - Die zentrale Wohnraumlüftungsanlage dient primär der Entfeuchtung (auf ein angenehmes Niveau von 50-55% rel. Feuchte), aber auch der Kühlung. Die Lüftungsstufe ist taupunktgeführt und - wenn der Sommerbypass geöffnet ist - auch temperaturgeführt.
                      - Ob ein Raum derzeit beheizt wird, hängt von der Soll- und Ist-Temperatur des Raums und dem aktuellen Heizungsmodus ab.
                      ` +
                      '\n\nKontext (JSON):\n' + JSON.stringify(context, null, 2)
                      

                      Den Kontext erzeuge ich dynamisch mit einem ellenlangen JS-Code, er sieht fertig zusammengestellt in etwa (vereinfachte Darstellung, mein Echt-Kontext ist über doppelt so groß) so aus:

                      var context = {
                        "environment": {
                          "current_date_and_time": "28.01.2026 22:11:15",
                          "location": "Germany, 12345 Musterstadt",
                          "nachtruhe_aktiv": false,
                          "sonne": {
                            "sonne_scheint_gerade": true,
                            "klarheitsgrad_himmel_prozent_laut_PV_Ertrag_gegen_ClearSky": 73,
                            "illumination_ost_lux": 8500,
                            "illumination_west_lux": 42000,
                            "elevation_grad": 18.3,
                            "azimuth_grad": 195.7
                          },
                          "regen": {
                            "rain": false,
                            "seit": "27.01.2026 22:15:30"
                          }
                        },
                        "verteilte_geraete": {
                          "haustuer_klingel": {
                            "zuletzt_geklingelt": "28.01.2026 11:47:22"
                          },
                          "couch_ladegeraet": {
                            "aktiv": false,
                            "seit": "27.01.2026 23:12:45",
                            "erklaerung": "Ladegerät für mobile Geräte auf der Couch im EG Wohnzimmer. Wird über Fernbedienung gesteuert und schaltet sich nach 4 Stunden automatisch ab."
                          },
                          "garage_ladegeraet": {
                            "aktiv": true,
                            "seit": "28.01.2026 13:05:18",
                            "stromverbrauch_w": 87,
                            "erklaerung": "Ladegerät für Gartenwerkzeuge und Rasenmäher in der Garage. Schaltet sich automatisch ab, wenn der Stromverbrauch unter 5W fällt und mindestens 5 Minuten vergangen sind."
                          },
                          "kg_buero_pc": {
                            "aktiv": true,
                            "seit": "28.01.2026 08:15:03",
                            "stromverbrauch_w": 145,
                            "erklaerung": "PC im KG Büro. Schaltet sich automatisch ab, wenn der Stromverbrauch unter einen Schwellenwert fällt (12W ohne Musik, 42W mit Musik) und mindestens 1 Minute vergangen ist."
                          },
                          "kg_buero_musikanalage": {
                            "aktiv": true,
                            "seit": "28.01.2026 09:30:22"
                          },
                          "waschmaschine": {
                            "laeuft": false,
                            "seit": null
                          },
                          "trockner": {
                            "laeuft": true,
                            "seit": "28.01.2026 13:45:10",
                            "restzeit_minuten": 38
                          },
                          "backofen": {
                            "laeuft": false,
                            "seit": null,
                            "restzeit_minuten": null
                          },
                          "whirlpool": {
                            "aktiv": true,
                            "temperatur_aktuell_celsius": 38.5,
                            "temperatur_soll_celsius": 39.0,
                            "heizung_aktiv": true,
                            "filterpumpe_aktiv": true,
                            "blubbern_aktiv": false,
                            "efficient_heat_aktiv": true,
                            "solar_ueberschuss_reicht_fuer_whirlpoolheizung": false,
                            "erklaerung": "Bestway Whirlpool im Garten. Hält die Wunschwassertemperatur automatisch, wenn die Heizung an ist. Wenn EfficientHeat aktiv, wird die Heizung automatisch aktiviert, wenn Solarüberschuss herrscht und automatisch wieder deaktiviert."
                          },
                          "usv_server": {
                            "batterie_ladung_prozent": 100,
                            "restlaufzeit_minuten": 45,
                            "leistung_watt": 185,
                            "batterie_muss_getauscht_werden": false,
                            "stromausfall_aktiv": false,
                            "erklaerung": "Unterbrechungsfreie Stromversorgung für den Server und die Netzwerkhardware."
                          },
                          "partykeller_musikanlage": {
                            "aktiv": false,
                            "seit": "26.01.2026 01:22:15",
                            "erklaerung": "Musikanlage im Partykeller. Schaltet sich nach 8 Stunden automatisch ab."
                          },
                          "partykeller_fernseher": {
                            "aktiv": false,
                            "seit": "26.01.2026 00:45:33",
                            "erklaerung": "Fernseher im Partykeller. Schaltet sich automatisch nach 4 Stunden ab."
                          },
                          "saugroboter": [
                            {
                              "name": "Saugroboter Erdgeschoss",
                              "etage": "EG",
                              "status": false,
                              "seit": "28.01.2026 10:15:42"
                            },
                            {
                              "name": "Saugroboter Obergeschoss",
                              "etage": "OG",
                              "status": false,
                              "seit": "28.01.2026 09:52:18"
                            }
                          ]
                        },
                        "automatikprogramme": [
                          {
                            "name": "Lüftung",
                            "beschreibung": "Steuert die Lüftungsintensität automatisch auf Basis der Anwesenheiten, sowie des maximalen Taupunktes und der maximalen Luftfeuchtigkeit innen mit dem Ziel, ein trockenes Klima bei hoher Energieeffizienz zu schaffen.",
                            "aktiv": true
                          },
                          {
                            "name": "Zentralheizung",
                            "beschreibung": "Steuert die Zentralheizung automatisch unter Berücksichtigung der vorgegebenen Raumtemperaturen und einer Nachtabsenkung während der Nachtruhe.",
                            "aktiv": true
                          },
                          {
                            "name": "Zirkulationspumpe",
                            "beschreibung": "Schaltet die Zirkulationspumpe bei Bewegung im OG automatisch für fünf Minuten ein.",
                            "aktiv": true
                          },
                          {
                            "name": "Licht",
                            "beschreibung": "Schaltet in Durchgangsbereichen bei Dunkelheit das Licht an, sobald eine Bewegung registriert wird.",
                            "aktiv": true
                          },
                          {
                            "name": "Beschattung",
                            "beschreibung": "Raumindividuelle Beschattung der Rollläden in Abhängigkeit der Solltemperaturüberschreitung, des Sonnenstandes und der Bewölkung.",
                            "aktiv": true
                          },
                          {
                            "name": "Videoüberwachung",
                            "beschreibung": "Schaltet die Außen-Videoüberwachung auf Basis der Anwesenheit und weiterer Parameter an und aus.",
                            "aktiv": false
                          }
                        ],
                        "photovoltaik_anlage": {
                          "leistung_aktuell_w": 3250,
                          "installierte_leistung_peak_kW": 9.5,
                          "dach_ausrichtung": "Süd",
                          "dach_neigung": 35,
                          "netz_bezug_w": 0,
                          "netz_einspeisung_w": 1830,
                          "verbrauch_gesamt_w": 1420,
                          "eigenverbrauch_w": 1420,
                          "autarkie_prozent": 100,
                          "batterie_kapazitaet_kWh": 7.8,
                          "batterie_bezug_w": 0,
                          "batterie_ladung_prozent": 95,
                          "stabiler_solarueberschuss": true,
                          "prognose_heute_rest_bis_Tagesende_kwh": 5.1,
                          "prognose_naechste_24h_gesamt_kwh": 18.7,
                          "prognose_naechste_24h_halbstuendlich": [
                            {"uhrzeit": "28.01.2026 15:00", "prognose_leistung_kw": 2.8},
                            {"uhrzeit": "28.01.2026 15:30", "prognose_leistung_kw": 2.3},
                            {"uhrzeit": "28.01.2026 16:00", "prognose_leistung_kw": 1.7},
                            {"uhrzeit": "28.01.2026 16:30", "prognose_leistung_kw": 0.9},
                            {"uhrzeit": "28.01.2026 17:00", "prognose_leistung_kw": 0.2}
                          ]
                        },
                        "heizung": {
                          "typ": "Viessmann Vitocal 200-S",
                          "modell": "AWB-M 201.A10",
                          "betriebsmodus": "Vollbetrieb",
                          "betriebsmodus_seit": "28.01.2026 06:00:15",
                          "solar_modus": "Turbo (Überschussstrom wird zum Heizen verwendet - Heizkurve nach oben, Raumthermostate unter bestimmten Bedingungen +6°C)",
                          "solar_modus_seit": "28.01.2026 12:15:42",
                          "leistungsbezug_max_laut_spezifikation_kw": 3,
                          "leistung_aktuell_w": 950,
                          "energiebezug_letzte24h_kwh": 8.3,
                          "vorlauf_temperatur_celsius": 32.5,
                          "vorlauf_temperatur_haus_celsius": 31.8,
                          "vorlauf_temperatur_keller_celsius": 28.2,
                          "warmwasser_temperatur_celsius": 48.5,
                          "kompressor_aktiv": true,
                          "kompressor_letzte_aenderung": "28.01.2026 14:28:33",
                          "kompressor_24h_auslastung_prozent": 42,
                          "zirkulationspumpe_aktiv": false,
                          "zirkulationspumpe_letzte_aenderung": "28.01.2026 13:15:07"
                        },
                        "post_im_briefkasten": {
                          "aktuell_vorhanden": true,
                          "zuletzt_eingeworfen": "28.01.2026 11:23:44",
                          "zuletzt_geleert": "27.01.2026 17:45:12"
                        },
                        "alarmanlage": {
                          "status": "Deaktiviert",
                          "scharf_nach_verlassen": true,
                          "letzte_ausloesung": "Keine",
                          "letzte_ausloesung_zeit": "15.12.2025 03:22:18",
                          "erklaerung": "Die Alarmanlage kann deaktiviert oder scharf sein. Sie kann manuell oder automatisch nach Verlassen scharfgestellt werden. Bei Auslösung werden Lichter aktiviert, Rollläden hochfahren und Sirenen heulen."
                        },
                        "internetanschluss": {
                          "status": "Normal (primäre Verbindung)",
                          "failover_aktiv": false,
                          "seit_failover": null
                        },
                        "gefrierschrank": {
                          "temperatur_celsius": -18.5,
                          "status": "Normal",
                          "erklaerung": "Der Gefrierschrank wird überwacht. Bei Temperaturen über -16°C wird ein Alarm ausgelöst mit Sirene und Telegram-Benachrichtigung."
                        },
                        "rueckstauklappe": {
                          "blockiert": false,
                          "letzte_blockierung": "12.07.2025 15:42:33",
                          "wartung_faellig": false,
                          "erklaerung": "Die Rückstauklappe schützt vor Rückstau. Bei Blockierung wird die Waschmaschine abgeschaltet, eine Sirene aktiviert und Alexa/Telegram benachrichtigt. Wartung fällig wenn länger als 1 Jahr keine Blockierung."
                        },
                        "rauchmelder": {
                          "rauch_erfasst": false,
                          "status": "Kein Rauch erkannt",
                          "letzter_alarm": "Nie",
                          "erklaerung": "Bei Rauchentwicklung werden alle Rollläden automatisch geöffnet, um Fluchtwege zu schaffen und die Feuerwehr zu unterstützen."
                        },
                        "fenster_tueren": [
                          {"name": "EG Wohnzimmer Terrassentür", "status": "geschlossen", "letzte_aenderung": "28.01.2026 08:15:42"},
                          {"name": "EG Küche Fenster", "status": "gekippt", "letzte_aenderung": "28.01.2026 12:22:15"},
                          {"name": "OG Schlafzimmer Fenster", "status": "geschlossen", "letzte_aenderung": "28.01.2026 07:30:18"},
                          {"name": "OG Bad Fenster", "status": "gekippt", "letzte_aenderung": "28.01.2026 09:45:33"},
                          {"name": "KG Werkstatt Fenster", "status": "geschlossen", "letzte_aenderung": "27.01.2026 19:12:07"},
                          {"name": "Garagentor", "status": "geschlossen", "letzte_aenderung": "28.01.2026 19:34:55"}
                        ],
                        "anwesenheit": {
                          "Max": {"imHaus": false, "seit": "28.01.2026 07:52:15"},
                          "Moritz": {"imHaus": true, "seit": "28.01.2026 19:35:42"},
                          "jemand_anwesend": true
                        },
                        "klima": {
                          "durchschnittliche_innen_temperatur_celsius": 21.3,
                          "maximale_innen_temperatur_celsius": 22.1,
                          "maximale_solltemperatur_celsius": 21.5,
                          "maximale_feuchte_relativ_prozent": 54,
                          "maximale_feuchte_absolut_taupunkt_celsius": 11.8,
                          "aussen": {
                            "ist_temperatur_celsius": 3.2,
                            "feuchte_relativ_prozent": 78,
                            "taupunkt_celsius": -0.3
                          },
                          "unbeheizte_gebaeudeteile": {
                            "dachboden": {
                              "temperatur_celsius": 8.5,
                              "feuchte_relativ_prozent": 62,
                              "taupunkt_celsius": 1.2
                            },
                            "garage": {
                              "temperatur_celsius": 7.8,
                              "feuchte_relativ_prozent": 68,
                              "taupunkt_celsius": 2.1
                            }
                          },
                          "raeume_beschreibung": "Array von Arrays pro Raum: [Raumname, SollTemp°C, IstTemp°C, Feuchte%, Taupunkt°C]",
                          "raeume": [
                            ["EG Wohnzimmer", 21.5, 21.8, 52, 11.5],
                            ["EG Küche", 21.0, 20.9, 48, 9.8],
                            ["EG Esszimmer", 21.5, 22.1, 54, 11.8],
                            ["OG Elternschlafzimmer", 19.0, 19.3, 51, 8.9],
                            ["OG Bad", 22.0, 21.7, 53, 11.6],
                            ["OG Kinderzimmer Links", 21.0, 20.8, 49, 9.5],
                            ["KG Büro", 20.5, 20.2, 47, 8.7]
                          ]
                        },
                        "lichter": {
                          "manuell_geschaltet": [
                            {"name": "EG Wohnzimmer Stehlampe", "status": false, "letzte_aenderung": "27.01.2026 23:15:42"},
                            {"name": "EG Küche Decke", "status": true, "letzte_aenderung": "28.01.2026 12:30:18"},
                            {"name": "OG Elternschlafzimmer Nachttisch", "status": false, "letzte_aenderung": "28.01.2026 07:22:33"}
                          ],
                          "automatisch_geschaltet": [
                            {"name": "EG Flur", "status": false, "letzte_aenderung": "28.01.2026 14:05:12"},
                            {"name": "OG Treppenhaus", "status": false, "letzte_aenderung": "28.01.2026 13:42:07"},
                            {"name": "KG Keller Treppe", "status": false, "letzte_aenderung": "28.01.2026 11:18:55"}
                          ],
                          "erklaerung_automatisch": "Automatische Lichter schalten sich selbst ein (Bewegungsmelder) und von selbst aus, wenn sie nicht mehr benötigt werden."
                        },
                        "bewegungsmelder": [
                          {"name": "Außenbereich Haustür", "ort": "Eingang", "letzte_bewegung": "28.01.2026 11:47:15"},
                          {"name": "EG Flur", "ort": "EG Durchgang", "letzte_bewegung": "28.01.2026 14:05:08"},
                          {"name": "OG Treppenhaus", "ort": "OG", "letzte_bewegung": "28.01.2026 13:42:03"},
                          {"name": "Garten Terrasse", "ort": "Außen", "letzte_bewegung": "28.01.2026 08:32:41"}
                        ],
                        "video_babyphones": [
                          {"name": "Babyphone Kinderzimmer Links", "online": true, "seit": "28.01.2026 00:15:33"}
                        ],
                        "rolllaeden": {
                          "alle_rolllaeden": [
                            {"name": "EG Wohnzimmer", "raum": "Wohnzimmer", "ausrichtung": "Süd", "behanghoehe_prozent": 35, "status": "beschattet", "letzte_aenderung": "28.01.2026 13:15:22"},
                            {"name": "EG Küche", "raum": "Küche", "ausrichtung": "West", "behanghoehe_prozent": 98, "status": "auf", "letzte_aenderung": "28.01.2026 08:30:15"},
                            {"name": "OG Elternschlafzimmer", "raum": "Elternschlafzimmer", "ausrichtung": "Nord", "behanghoehe_prozent": 99, "status": "auf", "letzte_aenderung": "28.01.2026 07:45:33"},
                            {"name": "OG Kinderzimmer Links", "raum": "Kinderzimmer Links", "ausrichtung": "Süd/Ost", "behanghoehe_prozent": 42, "status": "beschattet", "letzte_aenderung": "28.01.2026 12:42:18"}
                          ],
                          "behanghoehe_erklaerung": "0% = zu, >95% = auf, zwischen 15 % und 50% = beschattet",
                          "alle_rolllaeden_unten": false
                        },
                        "lueftungsanlage": {
                          "lueftungsstufe": {
                            "aktuell": 2,
                            "seit": "28.01.2026 11:30:15",
                            "erklaerung": "Lüftungsstufe 1-4: 1=Minimum, 2=Normal, 3=Erhöht, 4=Maximum. Wird automatisch basierend auf Luftfeuchtigkeit, Taupunktdifferenz und Anwesenheit gesteuert."
                          },
                          "sommerbypass": {
                            "status": "geschlossen",
                            "seit": "15.10.2025 22:15:42",
                            "erklaerung": "Ein offener Sommerbypass leitet Außenluft ohne Wärmetausch durch die Anlage, wenn die Außentemperatur niedriger als die Raumtemperatur ist. Kühlt im Sommer und wird nur aktiviert, wenn die Heizung aus ist."
                          },
                          "boost_modus": {
                            "aktiv": false,
                            "seit": "27.01.2026 18:45:12",
                            "erklaerung": "Boost-Modus aktiviert manuell die maximale Lüftungsstufe 4 für 1 Stunde. Deaktiviert sich automatisch nach Ablauf der Zeit. Nützlich bei starker Geruchsentwicklung oder hoher Luftfeuchtigkeit."
                          }
                        }
                      }
                      

                      Als Modell habe ich Grok Fast 4.1 über openrouter eingebunden, Einstellung wie folgt:
                      7659403b-8de3-4680-ada1-d8a7848c1116-image.png

                      Der Systemprompt lautet (zum Rauskopieren):

                      Du bist ein intelligenter Smart-Home-Assistent, der nur Auskünfte gibt. Du leitest notwendige Informationen aus den verfügbaren JSON-Daten ab, suchst deren Sinn und Bedeutung, ziehst logische Schlüsse bei fehlenden Informationen und erfindest nichts, wenn Unsicherheit besteht. Deine Antworten sind kurz, prägnant und auf Deutsch, maximal 1-2 Sätze, ohne Erklärungen, außer gewünscht. Drück dich präzise, aber in sehr natürlicher, lockerer Sprache aus, so dass eine Text2Speech-Engine deine Antworten gut wiedergeben kann. Für Zeitangaben nutzt du die current_date_and_time aus dem JSON als Referenz – berechne alle Zeitdifferenzen dagegen. Wo es Sinn macht, nutzt du relative Zeitangaben in sprachgebrauchsüblicher Genauigkeit. Datumsangaben immer im Stil "3. August 2026" ohne führende 0! Zahlen: Nutze Komma statt Punkt als Dezimaltrenner (z.B. '22,5 Grad').
                      

                      JSON-Generierung sieht im internen Code (die Funktion getScDevDP habe ich selbst definiert, sie liefert mir aus einer zentralen Code-Konfiguration einen Datenpunkt-id als String) auszugsweise so aus:

                          context.environment = {
                              current_date_and_time: formatDate(new Date(), 'DD.MM.YYYY hh:mm:ss'),
                              location: 'Germany, 12345 Musterstadt',
                              nachtruhe_aktiv: getState('javascript.0.Eigene_Datenpunkte.Nachtruhe').val,
                              sonne: {
                                  sonne_scheint_gerade: getState('javascript.0.Eigene_Datenpunkte.Sonnenschein').val,
                                  // Klarheitsgrad errechnet sich aus der PV-Anlagenleistung vs. ClearSky-Prognose; bei < 100 W unzuverlässig -> null
                                  klarheitsgrad_himmel_prozent_laut_PV_Ertrag_gegen_ClearSky: (() => {
                                      const pvPower = getState('javascript.0.Eigene_Datenpunkte.SmartMeter.PV.GenPower').val;
                                      return pvPower < 100 ? null : getState('javascript.0.Eigene_Datenpunkte.SmartMeter.PV.RealVsClearSkyPower').val;
                                  })(),
                                  illumination_ost_lux: getState(getScDevDP('LuxEast', 'currentIllumination')).val,
                                  illumination_west_lux: getState(getScDevDP('LuxWest', 'currentIllumination')).val,
                                  elevation_grad: getState('javascript.0.Sonnenstand.Elevation').val,
                                  azimuth_grad: getState('javascript.0.Sonnenstand.Azimut').val
                              }
                          };
                      

                      Damit kann ich für ca. 0,3 Eurocent pro Anfrage-Antwort-Paar Dinge fragen wie Was denkst du, wer hat zuletzt das Garagentor geöffnet? und erhalte dann als Antwort so etwas wie Das Garagentor wurde zuletzt heute um 19:55 Uhr geöffnet, Moritz kam eine Minute später nach Hause. Vermutlich hat er das Garagentor geöffnet.

                      Vielleicht kann ja jemand etwas mit diesem wild skizzierten Ansatz anfangen :)

                      Viele Grüße!

                      ceram

                      1 Antwort Letzte Antwort
                      1
                      • mcm1957M Offline
                        mcm1957M Offline
                        mcm1957
                        schrieb zuletzt editiert von
                        #41

                        ACHTUNG
                        Die letzte Release ist bereits 1 Jahr alt und der Dev hat den Adapetr nach wie vor NICHT als STABIL deklariert sondern nur als BETA Version veröffentlicht.
                        Auch sind Dinge wie z.B. Tests mit der aktuellen node.js 24 seit langem offen (https://github.com/ToGe3688/ioBroker.ai-toolbox/issues/36).

                        Ev. kann sich der Maintainer ja hier mal melden und sagen wann er die offenen Issues abarbeiten wird und wann er den Adapter als stabil einstufen wird bzw. welche offenen Punkte ihn davon abhalten.

                        Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                        Support Repositoryverwaltung.

                        Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                        LESEN - gute Forenbeitrage

                        1 Antwort Letzte Antwort
                        0
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        334

                        Online

                        32.6k

                        Benutzer

                        82.2k

                        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