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. Möglich die "Bezeichnung" eines states auszulesen?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Möglich die "Bezeichnung" eines states auszulesen?

Geplant Angeheftet Gesperrt Verschoben JavaScript
3 Beiträge 2 Kommentatoren 184 Aufrufe 1 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.
  • padrinoP Offline
    padrinoP Offline
    padrino
    Most Active
    schrieb am zuletzt editiert von
    #1

    Hab in einigen meiner Objekt "Bezeichnungen" (sorry für die naive Terminologie :innocent:) 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?

    paul53P 1 Antwort Letzte Antwort
    0
    • padrinoP padrino

      Hab in einigen meiner Objekt "Bezeichnungen" (sorry für die naive Terminologie :innocent:) 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?

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @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];
      }); 
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      padrinoP 1 Antwort Letzte Antwort
      1
      • paul53P 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];
        }); 
        
        padrinoP Offline
        padrinoP Offline
        padrino
        Most Active
        schrieb am zuletzt editiert von
        #3

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

        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

        692

        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