Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Typescript Zugriff auf enum members

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Typescript Zugriff auf enum members

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      ayes last edited by

      Hallo, ich habe eine Aufzählung definiert

      enum.status.alarm der ich verschiedene Geräte zugewiesen habe.

      Jetzt möchte ich auf die members in meinem Typescript Skript zugreifen:

      getObject("enum.status.alarm").common.members;

      ERROR: Property 'members' does not exist on type 'StateCommon | ObjectCommon | ChannelCommon | OtherCommon'. Property 'members' does not exist on type 'StateCommon'.

      Ich sehe aber eigentlich, dass members schon da sind:

      var alarm = getObject("enum.status.alarm");
      console.log(JSON.stringify(alarm));

      {"id":"enum.status.alarm","common":{"name":"Alarm","members":["knx.0.Beleuchtung&_Schaltbares.Status_Schalten.Zimmer_3_Licht_Decke_Status_Schalten","knx.0.Heizung.Meldungen.Störung_Heizaktor_Linie_0","knx.0.Heizung.Meldungen.Störung_Heizaktor_Linie_1", usw.

      Wie komme ich an meine definierten enums?

      Vielen Dank!

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @ayes last edited by paul53

        @ayes sagte: Wie komme ich an meine definierten enums?

        Genau so:

        @ayes sagte in Typescript Zugriff auf enum members:

        getObject("enum.status.alarm").common.members;

        Lass Dich nicht vom Editor irritieren, denn der kennt nicht alle möglichen common-Attribute und meckert dann.

        EDIT: Typescript wirft tatsächlich einen Compiler-Fehler. Mit Javascript funktioniert es.

        A 1 Reply Last reply Reply Quote 0
        • A
          ayes @paul53 last edited by

          @paul53
          Vielen Dank für die schnelle Antwort. In Javascript funktioniert der Zugriff auch wie Du vorgeschlagen hast:

          getObject("enum.status.alarm").common.members;

          Aber in Typescript bekomme ich leider einen Compiler Fehler:

          javascript.0 (7963) script.js.benachrichtigungen.Alarm: TypeScript compilation failed: getObject("enum.status.alarm").common.members; ^ ERROR: Property 'members' does not exist on type 'StateCommon | ObjectCommon | ChannelCommon | OtherCommon'. Property 'members' does not exist on type 'StateCommon'.

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

          Support us

          ioBroker
          Community Adapters
          Donate

          469
          Online

          31.8k
          Users

          80.0k
          Topics

          1.3m
          Posts

          2
          3
          98
          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