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. Skripten / Logik
  4. JavaScript
  5. iobroker-typen einbinden für typescript

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

iobroker-typen einbinden für typescript

Geplant Angeheftet Gesperrt Verschoben JavaScript
14 Beiträge 4 Kommentatoren 588 Aufrufe 3 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.
  • I iob69

    Hallo,
    laut ChatGPT fehlen mir die iobroker-typen wie z.B. "ioBroker.Object".
    Ich soll sie mit npm installieren:

    npm install --save @types/iobroker
    

    Ich hab aber schon öfters gelesen, dass man gewisse dinge nicht einfach so per npm install installieren soll.
    Darf/soll ich das so tun wie angegeben?

    OliverIOO Offline
    OliverIOO Offline
    OliverIO
    schrieb am zuletzt editiert von OliverIO
    #2

    @iob69

    du hast nicht erwähnt in welchem umfeld du da was machst.
    einen adapter programmieren?

    dann fügst du dort lieber das packet iobroker.adapter-dev hinzu
    da sind die types dann mit dabei
    der adapter creator fügt den auch schon automatisch mit dazu.

    https://github.com/ioBroker/adapter-dev/blob/5b8fffaadca9b14a629c6e82bddc6c33c77d9554/package.json#L53

    wenn es um den javascript adapter geht, da weiß ich nicht was alles verfügbar ist. aber da sind schon einige typen da.

    ee7fb35d-d5cf-49c7-aaae-5613f5e5b577-image.png

    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
    • I Offline
      I Offline
      iob69
      schrieb am zuletzt editiert von
      #3

      @oliverio
      danke für die Antwort. Bräuchte die Typen für Typescript. Da man dort Typisiert programmieren kann und dann gleich die Objekte mit der entsprechenden Struktur ansprechen kann, rsp. muss.
      Ich stosse immer wieder auf dieses Problem, wenn ich iobroker-spezifische Typen ansprechen will.

      Wenn ich das Packet iobroker.adapter-dev hinzufügen würde, hätte ich dann die Typen in Script (Typescript)?
      Muss ich den mit npm installieren?

      mcm1957M T 2 Antworten Letzte Antwort
      0
      • I iob69

        @oliverio
        danke für die Antwort. Bräuchte die Typen für Typescript. Da man dort Typisiert programmieren kann und dann gleich die Objekte mit der entsprechenden Struktur ansprechen kann, rsp. muss.
        Ich stosse immer wieder auf dieses Problem, wenn ich iobroker-spezifische Typen ansprechen will.

        Wenn ich das Packet iobroker.adapter-dev hinzufügen würde, hätte ich dann die Typen in Script (Typescript)?
        Muss ich den mit npm installieren?

        mcm1957M Online
        mcm1957M Online
        mcm1957
        schrieb am zuletzt editiert von mcm1957
        #4

        @iob69
        Du hast noch immer nicht gesagt WO du das brauchst?

        • entwickeltst du einen Adapter in Typescript?
        • oder schreibst du im java-scritp Adapter Scripts in Typescript?
        • oder ...

        Wenn ich das Packet iobroker.adapter-dev hinzufügen würde, hätte ich dann die Typen in Script (Typescript)?
        Muss ich den mit npm installieren?

        Das betrifft NUR die Adapterentwicklungsumgebung. Auf einem laufenden ioBroker System (Produktivsystem) ist adapter.dev NICHT zu instalieren.

        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

        I 1 Antwort Letzte Antwort
        1
        • I iob69

          @oliverio
          danke für die Antwort. Bräuchte die Typen für Typescript. Da man dort Typisiert programmieren kann und dann gleich die Objekte mit der entsprechenden Struktur ansprechen kann, rsp. muss.
          Ich stosse immer wieder auf dieses Problem, wenn ich iobroker-spezifische Typen ansprechen will.

          Wenn ich das Packet iobroker.adapter-dev hinzufügen würde, hätte ich dann die Typen in Script (Typescript)?
          Muss ich den mit npm installieren?

          T Offline
          T Offline
          ticaki
          schrieb am zuletzt editiert von
          #5

          @iob69 sagte in iobroker-typen einbinden für typescript:

          @oliverio
          danke für die Antwort. Bräuchte die Typen für Typescript. Da man dort Typisiert programmieren kann und dann gleich die Objekte mit der entsprechenden Struktur ansprechen kann, rsp. muss.
          Ich stosse immer wieder auf dieses Problem, wenn ich iobroker-spezifische Typen ansprechen will.

          Wenn ich das Packet iobroker.adapter-dev hinzufügen würde, hätte ich dann die Typen in Script (Typescript)?
          Muss ich den mit npm installieren?

          Wenns um den Javascript-Adapter geht die sind dort als iobJS enthalten. Damit kommst du an die für den Javascript-Adapter verfügbaren Types.

          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

          Spenden

          I 1 Antwort Letzte Antwort
          1
          • mcm1957M mcm1957

            @iob69
            Du hast noch immer nicht gesagt WO du das brauchst?

            • entwickeltst du einen Adapter in Typescript?
            • oder schreibst du im java-scritp Adapter Scripts in Typescript?
            • oder ...

            Wenn ich das Packet iobroker.adapter-dev hinzufügen würde, hätte ich dann die Typen in Script (Typescript)?
            Muss ich den mit npm installieren?

            Das betrifft NUR die Adapterentwicklungsumgebung. Auf einem laufenden ioBroker System (Produktivsystem) ist adapter.dev NICHT zu instalieren.

            I Offline
            I Offline
            iob69
            schrieb am zuletzt editiert von
            #6

            @mcm1957
            Ich dachte das sei klar geworden. Ich hab doch geschrieben, dass ich das für Typescript brauche.
            Aber nochmals konkret: Ich schreibe im Javascript-Adapter in Typescript, aber ich schreibe keine Adapter.

            T 1 Antwort Letzte Antwort
            1
            • T ticaki

              @iob69 sagte in iobroker-typen einbinden für typescript:

              @oliverio
              danke für die Antwort. Bräuchte die Typen für Typescript. Da man dort Typisiert programmieren kann und dann gleich die Objekte mit der entsprechenden Struktur ansprechen kann, rsp. muss.
              Ich stosse immer wieder auf dieses Problem, wenn ich iobroker-spezifische Typen ansprechen will.

              Wenn ich das Packet iobroker.adapter-dev hinzufügen würde, hätte ich dann die Typen in Script (Typescript)?
              Muss ich den mit npm installieren?

              Wenns um den Javascript-Adapter geht die sind dort als iobJS enthalten. Damit kommst du an die für den Javascript-Adapter verfügbaren Types.

              I Offline
              I Offline
              iob69
              schrieb am zuletzt editiert von
              #7

              @ticaki
              Danke, ich probier das mal aus.

              1 Antwort Letzte Antwort
              0
              • I iob69

                @mcm1957
                Ich dachte das sei klar geworden. Ich hab doch geschrieben, dass ich das für Typescript brauche.
                Aber nochmals konkret: Ich schreibe im Javascript-Adapter in Typescript, aber ich schreibe keine Adapter.

                T Offline
                T Offline
                ticaki
                schrieb am zuletzt editiert von
                #8

                @iob69 sagte in iobroker-typen einbinden für typescript:

                @mcm1957
                Ich dachte das sei klar geworden. Ich hab doch geschrieben, dass ich das für Typescript brauche.

                Man schreibt auch - bzw. ich schreibe alle meine Adapter in Typescript. Daher war es dann nicht so klar wie du vielleicht dachtest :)

                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                Spenden

                I 1 Antwort Letzte Antwort
                1
                • T ticaki

                  @iob69 sagte in iobroker-typen einbinden für typescript:

                  @mcm1957
                  Ich dachte das sei klar geworden. Ich hab doch geschrieben, dass ich das für Typescript brauche.

                  Man schreibt auch - bzw. ich schreibe alle meine Adapter in Typescript. Daher war es dann nicht so klar wie du vielleicht dachtest :)

                  I Offline
                  I Offline
                  iob69
                  schrieb am zuletzt editiert von iob69
                  #9

                  @ticaki
                  ja ok.
                  Aber spielt es denn eine Rolle, wofür ich das brauche?
                  Kann man mit dem Packet ipbroker.adapter-dev auf mehr iob - spezifische Typen zugreifen?
                  Edit:
                  ChatGPT schreibt zum Beispiel folgendes:

                  "Der Fehler tritt auf, weil TypeScript die ioBroker-Namespace nicht finden kann. Das bedeutet, dass du entweder die Typdefinitionen für ioBroker nicht eingebunden hast oder dass sie im aktuellen Projekt nicht korrekt referenziert werden.

                  Um TypeScript korrekt mit ioBroker zu verwenden, müssen die entsprechenden Typdefinitionen für die ioBroker-Objekte eingebunden werden. In deinem Fall scheint es, als ob TypeScript keine Kenntnis über den ioBroker-Namespace hat."

                  Er schlägt mir dann vor:

                  1. ioBroker-Typdefinitionen zu installieren:
                  npm install --save-dev @types/iobroker
                  
                  1. die tsconfig.json anpassen und sicherstellen, dass sie den typeRoots-Pfad enthält:
                  {
                    "compilerOptions": {
                      "module": "commonjs",
                      "target": "ES6",
                      "typeRoots": [
                        "./node_modules/@types",
                        "./node_modules"
                      ],
                      "types": ["iobroker"]
                    },
                    "include": [
                      "src/**/*.ts"
                    ]
                  }
                  
                  1. In manchen Fällen die Typen explizit importieren. Versuche, am Anfang deiner TypeScript-Datei Folgendes hinzuzufügen:
                  /// <reference types="iobroker" />
                  
                  T mcm1957M 2 Antworten Letzte Antwort
                  0
                  • I iob69

                    @ticaki
                    ja ok.
                    Aber spielt es denn eine Rolle, wofür ich das brauche?
                    Kann man mit dem Packet ipbroker.adapter-dev auf mehr iob - spezifische Typen zugreifen?
                    Edit:
                    ChatGPT schreibt zum Beispiel folgendes:

                    "Der Fehler tritt auf, weil TypeScript die ioBroker-Namespace nicht finden kann. Das bedeutet, dass du entweder die Typdefinitionen für ioBroker nicht eingebunden hast oder dass sie im aktuellen Projekt nicht korrekt referenziert werden.

                    Um TypeScript korrekt mit ioBroker zu verwenden, müssen die entsprechenden Typdefinitionen für die ioBroker-Objekte eingebunden werden. In deinem Fall scheint es, als ob TypeScript keine Kenntnis über den ioBroker-Namespace hat."

                    Er schlägt mir dann vor:

                    1. ioBroker-Typdefinitionen zu installieren:
                    npm install --save-dev @types/iobroker
                    
                    1. die tsconfig.json anpassen und sicherstellen, dass sie den typeRoots-Pfad enthält:
                    {
                      "compilerOptions": {
                        "module": "commonjs",
                        "target": "ES6",
                        "typeRoots": [
                          "./node_modules/@types",
                          "./node_modules"
                        ],
                        "types": ["iobroker"]
                      },
                      "include": [
                        "src/**/*.ts"
                      ]
                    }
                    
                    1. In manchen Fällen die Typen explizit importieren. Versuche, am Anfang deiner TypeScript-Datei Folgendes hinzuzufügen:
                    /// <reference types="iobroker" />
                    
                    T Offline
                    T Offline
                    ticaki
                    schrieb am zuletzt editiert von ticaki
                    #10

                    @iob69
                    Bitte kein AI geplapper - in 50% der Fälle überzeugt sie dich davon das der Himmel grün und das gras blau ist (mit Quellen natürlich).

                    Textbots brauchen immer jemanden mit Ahnung von der Materie der das Geplapper auf Sinnhaftigkeit überprüft.

                    Du bist im Javascript-Adapter und nicht nativ mit nodejs unterwegs, da kannste fast alles was die AI sagt vergessen. Hm das ist nicht ganz richtig. Bei Funktionen, Berechnungen usw. geht das. Aber sobald es um verwaltung, systemfunktionen, libs, deps geht, wird das nix.

                    EDIT: Nochmal klarer - Wenn dir eine AI vorschlägt auf Systemebene etwas zu tun um ein Problem innerhalb eines Javascript-Adapter Skripts zu beheben ist das mit 99,9% Wahrscheinlichkeit falsch und das du was wirklich kaputt machst ist wahrscheinlich.

                    Edit2: hab den AI-Rant entfernt - hat nix mit dem Thema zu tun :D

                    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                    Spenden

                    I 1 Antwort Letzte Antwort
                    0
                    • I iob69

                      @ticaki
                      ja ok.
                      Aber spielt es denn eine Rolle, wofür ich das brauche?
                      Kann man mit dem Packet ipbroker.adapter-dev auf mehr iob - spezifische Typen zugreifen?
                      Edit:
                      ChatGPT schreibt zum Beispiel folgendes:

                      "Der Fehler tritt auf, weil TypeScript die ioBroker-Namespace nicht finden kann. Das bedeutet, dass du entweder die Typdefinitionen für ioBroker nicht eingebunden hast oder dass sie im aktuellen Projekt nicht korrekt referenziert werden.

                      Um TypeScript korrekt mit ioBroker zu verwenden, müssen die entsprechenden Typdefinitionen für die ioBroker-Objekte eingebunden werden. In deinem Fall scheint es, als ob TypeScript keine Kenntnis über den ioBroker-Namespace hat."

                      Er schlägt mir dann vor:

                      1. ioBroker-Typdefinitionen zu installieren:
                      npm install --save-dev @types/iobroker
                      
                      1. die tsconfig.json anpassen und sicherstellen, dass sie den typeRoots-Pfad enthält:
                      {
                        "compilerOptions": {
                          "module": "commonjs",
                          "target": "ES6",
                          "typeRoots": [
                            "./node_modules/@types",
                            "./node_modules"
                          ],
                          "types": ["iobroker"]
                        },
                        "include": [
                          "src/**/*.ts"
                        ]
                      }
                      
                      1. In manchen Fällen die Typen explizit importieren. Versuche, am Anfang deiner TypeScript-Datei Folgendes hinzuzufügen:
                      /// <reference types="iobroker" />
                      
                      mcm1957M Online
                      mcm1957M Online
                      mcm1957
                      schrieb am zuletzt editiert von
                      #11

                      @iob69

                      ChatGPT schreibt zum Beispiel folgendes:

                      Schreib dem traschGPT zurück dass er Ka-I (ka Intelligenz) ist und @iob69 frag lieber hier wenn du was brauchst.

                      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
                      • T ticaki

                        @iob69
                        Bitte kein AI geplapper - in 50% der Fälle überzeugt sie dich davon das der Himmel grün und das gras blau ist (mit Quellen natürlich).

                        Textbots brauchen immer jemanden mit Ahnung von der Materie der das Geplapper auf Sinnhaftigkeit überprüft.

                        Du bist im Javascript-Adapter und nicht nativ mit nodejs unterwegs, da kannste fast alles was die AI sagt vergessen. Hm das ist nicht ganz richtig. Bei Funktionen, Berechnungen usw. geht das. Aber sobald es um verwaltung, systemfunktionen, libs, deps geht, wird das nix.

                        EDIT: Nochmal klarer - Wenn dir eine AI vorschlägt auf Systemebene etwas zu tun um ein Problem innerhalb eines Javascript-Adapter Skripts zu beheben ist das mit 99,9% Wahrscheinlichkeit falsch und das du was wirklich kaputt machst ist wahrscheinlich.

                        Edit2: hab den AI-Rant entfernt - hat nix mit dem Thema zu tun :D

                        I Offline
                        I Offline
                        iob69
                        schrieb am zuletzt editiert von
                        #12

                        @ticaki @mcm1957
                        Das ist ja auch der Grund, weshalb ich hier nachfrage, bevor ich was kaputt mache.
                        Aber ich weiss jetzt noch immer nicht, was ich tun muss, um die iobroker-Spezifischen Typen einzubinden, um iob spezifische Objekte anzusprechen.
                        z.B. wenn ich auf ein vis-Element zugreifen will, oder wenn ich die Ordnerstruktur der iob-Objekte untersuchen will.
                        Ok, in iobJS scheinen schon viele Elemente vorhanden zu sein, aber ich denke das ist nicht alles?

                        T 1 Antwort Letzte Antwort
                        0
                        • I iob69

                          @ticaki @mcm1957
                          Das ist ja auch der Grund, weshalb ich hier nachfrage, bevor ich was kaputt mache.
                          Aber ich weiss jetzt noch immer nicht, was ich tun muss, um die iobroker-Spezifischen Typen einzubinden, um iob spezifische Objekte anzusprechen.
                          z.B. wenn ich auf ein vis-Element zugreifen will, oder wenn ich die Ordnerstruktur der iob-Objekte untersuchen will.
                          Ok, in iobJS scheinen schon viele Elemente vorhanden zu sein, aber ich denke das ist nicht alles?

                          T Offline
                          T Offline
                          ticaki
                          schrieb am zuletzt editiert von
                          #13

                          @iob69
                          Das sollte alles sein, das du verwenden kannst. Welche fehlen dir denn?

                          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                          Spenden

                          I 1 Antwort Letzte Antwort
                          1
                          • T ticaki

                            @iob69
                            Das sollte alles sein, das du verwenden kannst. Welche fehlen dir denn?

                            I Offline
                            I Offline
                            iob69
                            schrieb am zuletzt editiert von
                            #14

                            @ticaki
                            Ok, ich versuchs mal mit damit. Muss das erst mal durchschauen.

                            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

                            676

                            Online

                            32.6k

                            Benutzer

                            82.1k

                            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