Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. iobroker-typen einbinden für typescript

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    iobroker-typen einbinden für typescript

    This topic has been deleted. Only users with topic management privileges can see it.
    • mcm1957
      mcm1957 @iob69 last edited by 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 1 Reply Last reply Reply Quote 1
      • T
        ticaki Developer @iob69 last edited by

        @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 1 Reply Last reply Reply Quote 1
        • I
          iob69 @mcm1957 last edited by

          @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 Reply Last reply Reply Quote 1
          • I
            iob69 @ticaki last edited by

            @ticaki
            Danke, ich probier das mal aus.

            1 Reply Last reply Reply Quote 0
            • T
              ticaki Developer @iob69 last edited by

              @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 1 Reply Last reply Reply Quote 1
              • I
                iob69 @ticaki last edited by 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 mcm1957 2 Replies Last reply Reply Quote 0
                • T
                  ticaki Developer @iob69 last edited by 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 😄

                  I 1 Reply Last reply Reply Quote 0
                  • mcm1957
                    mcm1957 @iob69 last edited by

                    @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.

                    1 Reply Last reply Reply Quote 0
                    • I
                      iob69 @ticaki last edited by

                      @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 Reply Last reply Reply Quote 0
                      • T
                        ticaki Developer @iob69 last edited by

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

                        I 1 Reply Last reply Reply Quote 1
                        • I
                          iob69 @ticaki last edited by

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

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          705
                          Online

                          32.0k
                          Users

                          80.5k
                          Topics

                          1.3m
                          Posts

                          4
                          14
                          77
                          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