Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Möglich die "Bezeichnung" eines states auszulesen?

    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

    Möglich die "Bezeichnung" eines states auszulesen?

    This topic has been deleted. Only users with topic management privileges can see it.
    • padrino
      padrino Most Active last edited by

      Hab in einigen meiner Objekt "Bezeichnungen" (sorry für die naive Terminologie 😇) gespeichert, also sowas wie

       "states": {
            "true": "offen",
            "false": "geschlossen"
          },
      

      Was dann in der Admin Oberfläche ja so aussieht
      g-false.png

      Gibt es eine Möglichkeit, die Werte hinter dem : auszulesen (Ziel ist die direkt als "string" zu nutzen)?
      Oder muss ich mich da im Skript selber drum kümmern, also auf true/false testen, dann wissen, was entsprechend offen/geschlossen ist und damit dann arbeiten?

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

        @padrino sagte:

        Gibt es eine Möglichkeit, die Werte hinter dem : auszulesen

        Ja, es handelt sich um Zustandstexte.

        const states = getObject(id).common.states;
        
        // Für setState
        function getTxtState(txt) {
            for(var i in states) {
                if(states[i] == txt) {
                    if(i === "true") return true;
                    if(i === "false") return false;
                    if(parseInt(i) !== NaN) return parseInt(i);
                    return i;
                }
            }
            log('Zustandstext ungültig: ' + txt, 'warn');
        }
        
        on(id, function(dp) {
           var stateText = states[dp.state.val];
        }); 
        
        padrino 1 Reply Last reply Reply Quote 1
        • padrino
          padrino Most Active @paul53 last edited by

          @paul53
          Danke.
          Komplizierter als gedacht (vor allem für mich Blocklyjunkie 😳).
          Muss ich mir mal in Ruhe zum verstehen vorlegen. 😉

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

          Support us

          ioBroker
          Community Adapters
          Donate

          878
          Online

          31.9k
          Users

          80.2k
          Topics

          1.3m
          Posts

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