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. Visualisierung
  4. [GELÖST] Text-Wert eines states ausgeben anstatt Nummer

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

[GELÖST] Text-Wert eines states ausgeben anstatt Nummer

Geplant Angeheftet Gesperrt Verschoben Visualisierung
14 Beiträge 8 Kommentatoren 4.6k Aufrufe 6 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.
  • M Offline
    M Offline
    miggedy
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich möchte mir in einem HTML-Widget den Status meines Saugroboters anzeigen lassen. Der Datenpunkt ist eine Nummer mit "Übersetzungen":

    {
      "1": "Unknown 1",
      "2": "Sleep no Charge",
      "3": "Sleep",
      "5": "Cleaning",
      "6": "Returning home",
      "7": "Manuell mode",
      "8": "Charging",
      "10": "Paused",
      "11": "Spot cleaning",
      "12": "Error?!"
    }
    
    

    Im Objekt-Browser wird dementsprechend bei Status "8" folgendes angezeigt: Charging (8)

    So möchte es auch in meinem Widget haben (am liebsten ohne die "(8)", aber könnte auch damit leben). Wenn ich allerdings den Datenpunkt in mein HTML-Widget schreibe bekommen ich immer nur die Nummer angezeigt.

    Status: {mihome-vacuum.0.info.state}
    
    

    Ergibt:

    Status: 8

    Habe auch schon {mihome-vacuum.0.info.state.val} probiert, aber kommt das gleiche.

    Gibt es eine einfache Möglichkeit den "übersetzten" Wert zu bekommen?

    1 Antwort Letzte Antwort
    0
    • ruhr70R Offline
      ruhr70R Offline
      ruhr70
      schrieb am zuletzt editiert von
      #2

      @miggedy:

      Gibt es eine einfache Möglichkeit den "übersetzten" Wert zu bekommen? `

      Eine einfache Möglichkeit wüsste ich nicht, da Du meiner Meinung nach nur an den STATE und nicht an das Objekt rankommst, in dem die Werteliste steht.

      Eine Alternative wäre die Werte in einem zusätzlichen Datenpunkt per Skript zu schreiben (Aktualisiert sich bei jeder Änderung):

      var pfad                = "Visualisierung.Xiaomi_Cleaner" + ".";
      
      var idErrorText         = pfad + "statustext.error";
      var idStateText         = pfad + "statustext.state";
      
      var pfadMihomeAdapter   = "mihome-vacuum.0" + ".";
      
      var stateStates = 
          {
            "1": "Unknown 1",
            "2": "Sleep no Charge",
            "3": "Sleep",
            "5": "Cleaning",
            "6": "Returning home",
            "7": "Manuell mode",
            "8": "Charging",
            "10": "Paused",
            "11": "Spot cleaning",
            "12": "Error?!"
      };
      
      var errorStates = {
        "0": "No error",
        "1": "Laser distance sensor error",
        "2": "Collision sensor error",
        "3": "Wheels on top of void, move robot",
        "4": "Clean hovering sensors, move robot",
        "5": "Clean main brush",
        "6": "Clean side brush",
        "7": "Main wheel stuck?",
        "8": "Device stuck, clean area",
        "9": "Dust collector missing",
        "10": "Clean filter",
        "11": "Stuck in magnetic barrier",
        "12": "Low battery",
        "13": "Charging fault",
        "14": "Battery fault",
        "15": "Wall sensors dirty, wipe them",
        "16": "Place me on flat surface",
        "17": "Side brushes problem, reboot me",
        "18": "Suction fan problem",
        "19": "Unpowered charging station"
      };
      
      createState(idErrorText, getErrorState(), {
          name: 'Text zum Error Status',
          desc: 'Text zum Error Status',
          type: 'string',
          role: 'value'
      });
      
      createState(idStateText, getStateState(), {
          name: 'Text zum Status',
          desc: 'Text zum Status',
          type: 'string',
          role: 'value'
      });
      
      function getStateState()  {
          var state = getState(pfadMihomeAdapter+"info.state").val;
          var text = stateStates[state.toString()];
          return text;
      }
      
      function getErrorState() {
          var error = getState(pfadMihomeAdapter+"info.error").val;
          var text = errorStates[error.toString()];
          return text;
      }
      
      on({id: pfadMihomeAdapter + "info.state", change: "ne"}, function (obj) {
          setState(idStateText,getStateState());
      });
      
      on({id: pfadMihomeAdapter + "info.error", change: "ne"}, function (obj) {
          setState(idErrorText,getErrorState());
      });
      
      

      Adapter: Fritzbox, Unify Circuit
      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

      1 Antwort Letzte Antwort
      0
      • PeoplesP Offline
        PeoplesP Offline
        Peoples
        schrieb am zuletzt editiert von
        #3

        Oder alternativ ein anderes Widget wenn es nicht genau das sein muss?

        Noch dein ObjectID auswählen und dann sollte das gehen

        ! ````
        [{"tpl":"tplValueList","data":{"oid":"","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"valuelist":"Unknown 1;\nSleep no Charge;\nSleep;\nCleaning;\nReturning;\nManuell mode;\nCharging;\nPaused;\nSpot cleaning;\nError?!"},"style":{"left":"174px","top":"137px","width":"100px","height":"30px"},"widgetSet":"basic"}]

        Ich beantworte keine Fragen zu Themen via PN

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          miggedy
          schrieb am zuletzt editiert von
          #4

          Danke für die Ideen. Ein neues Script und Datenpunkt wollte ich auf Grund der Übersichtlichkeit vermeiden. Habe mich daher für die Idee von peoples entschieden (musste nur die Werte-Liste noch anpassen da das Widget 0-basiert ist und die Status-Werte des Roboters "Lücken" hat). Aber so klappt es.

          [{"tpl":"tplValueList","data":{"oid":"mihome-vacuum.0.info.state","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"valuelist":"Unknown;\nUnknown;\nSleep no Charge;\nSleep;\nUnknown;\nCleaning;\nReturning home;\nManuell mode;\nCharging;\nUnknown;\nPaused;\nSpot cleaning;\nError"},"style":{"left":"433px","top":"18px","width":"110px","height":"20px","color":"#FFFFFF"},"widgetSet":"basic"}]
          
          

          Danke euch!

          1 Antwort Letzte Antwort
          0
          • T Offline
            T Offline
            tropisch
            schrieb am zuletzt editiert von
            #5

            @miggedy said in [GELÖST] Text-Wert eines states ausgeben anstatt Nummer:

            [{"tpl":"tplValueList","data":{"oid":"mihome-vacuum.0.info.state","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"valuelist":"Unknown;\nUnknown;\nSleep no Charge;\nSleep;\nUnknown;\nCleaning;\nReturning home;\nManuell mode;\nCharging;\nUnknown;\nPaused;\nSpot cleaning;\nError"},"style":{"left":"433px","top":"18px","width":"110px","height":"20px","color":"#FFFFFF"},"widgetSet":"basic"}]

            Habe gerade genau das gleiche Problem :)
            Welches Widget verwendet man für sowas?

            T 1 Antwort Letzte Antwort
            0
            • T tropisch

              @miggedy said in [GELÖST] Text-Wert eines states ausgeben anstatt Nummer:

              [{"tpl":"tplValueList","data":{"oid":"mihome-vacuum.0.info.state","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"valuelist":"Unknown;\nUnknown;\nSleep no Charge;\nSleep;\nUnknown;\nCleaning;\nReturning home;\nManuell mode;\nCharging;\nUnknown;\nPaused;\nSpot cleaning;\nError"},"style":{"left":"433px","top":"18px","width":"110px","height":"20px","color":"#FFFFFF"},"widgetSet":"basic"}]

              Habe gerade genau das gleiche Problem :)
              Welches Widget verwendet man für sowas?

              T Offline
              T Offline
              tropisch
              schrieb am zuletzt editiert von
              #6

              @tropisch said in [GELÖST] Text-Wert eines states ausgeben anstatt Nummer:

              @miggedy said in [GELÖST] Text-Wert eines states ausgeben anstatt Nummer:

              [{"tpl":"tplValueList","data":{"oid":"mihome-vacuum.0.info.state","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"valuelist":"Unknown;\nUnknown;\nSleep no Charge;\nSleep;\nUnknown;\nCleaning;\nReturning home;\nManuell mode;\nCharging;\nUnknown;\nPaused;\nSpot cleaning;\nError"},"style":{"left":"433px","top":"18px","width":"110px","height":"20px","color":"#FFFFFF"},"widgetSet":"basic"}]

              Habe gerade genau das gleiche Problem :)
              Welches Widget verwendet man für sowas?

              Problem gelöst.
              Falls noch jemand diese Frage hat: Widgets - Widgets importieren

              1 Antwort Letzte Antwort
              0
              • OstfrieseUnterwegsO Offline
                OstfrieseUnterwegsO Offline
                OstfrieseUnterwegs
                schrieb am zuletzt editiert von
                #7

                Ich habe bei meinem Landroid das gleiche Problem. Irgendwie muss es doch noch eine andere Lösung geben, Immerhin steht ja alles in der DP Definition drin und in der Admin Oberfläche wird auch der Klartext angezeigt.

                1 Antwort Letzte Antwort
                0
                • bahnuhrB Online
                  bahnuhrB Online
                  bahnuhr
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #8

                  nehmt dies:

                  https://forum.iobroker.net/topic/21865/beschreibung-eines-objekts-in-vis-zeigen/9


                  Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                  Danke.
                  gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                  ScreenToGif :https://www.screentogif.com/downloads.html

                  1 Antwort Letzte Antwort
                  0
                  • OstfrieseUnterwegsO Offline
                    OstfrieseUnterwegsO Offline
                    OstfrieseUnterwegs
                    schrieb am zuletzt editiert von
                    #9

                    Ja, nee... dass es damit geht (aber nur in der VIS), ist mir schon klar. Aber das heisst, dass ich bereits im System vorhandene Werte nochmal eingeben muss. Das sind für mich nur work-arounds. Denken wir mal, dass Worx einen zusätzlichen Status 99 - Dein Landroid hebt in zwei Minuten ab erfindet. Dann muss ich in vile Visualisierungen und Scripte anpassen.
                    Ich glaube ich mache mal ein GIT Issue auf - passt wahrscheinlich in ioBroker.javascript.

                    1 Antwort Letzte Antwort
                    0
                    • OstfrieseUnterwegsO Offline
                      OstfrieseUnterwegsO Offline
                      OstfrieseUnterwegs
                      schrieb am zuletzt editiert von
                      #10

                      @apollon77
                      Ich habe gesehen, dass Du einen Enhancement Request zu einem ähnlichen Thema aufgemacht hast (https://github.com/ioBroker/ioBroker.javascript/issues/381)
                      Kannst Du in diesem Thread helfen: Wie kann ich mit getState (oder getObject ?) an den Klartext eines State values kommen?

                      1 Antwort Letzte Antwort
                      0
                      • apollon77A Offline
                        apollon77A Offline
                        apollon77
                        schrieb am zuletzt editiert von
                        #11

                        Wenn ein Objekt sowas hat dann per getObject das Objekt laden und da unter common.states stehen die Textzeilen werte.

                        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                        OstfrieseUnterwegsO MichaelScM 2 Antworten Letzte Antwort
                        2
                        • apollon77A apollon77

                          Wenn ein Objekt sowas hat dann per getObject das Objekt laden und da unter common.states stehen die Textzeilen werte.

                          OstfrieseUnterwegsO Offline
                          OstfrieseUnterwegsO Offline
                          OstfrieseUnterwegs
                          schrieb am zuletzt editiert von
                          #12

                          @apollon77 Super, danke, funktioniert

                          1 Antwort Letzte Antwort
                          0
                          • apollon77A apollon77

                            Wenn ein Objekt sowas hat dann per getObject das Objekt laden und da unter common.states stehen die Textzeilen werte.

                            MichaelScM Offline
                            MichaelScM Offline
                            MichaelSc
                            schrieb am zuletzt editiert von
                            #13

                            @apollon77 Danke, diese relativ alte Antwort hat auch mir heut geholfen!

                            iOBroker (and the other stuff) on a Proxmox Installation on an Intel NUC10.
                            IoT: Discarded Zigbee-System and all the hardware related to Zigbee; replaced with HomeMatic IP - very reliable.

                            MichaelScM 1 Antwort Letzte Antwort
                            0
                            • MichaelScM MichaelSc

                              @apollon77 Danke, diese relativ alte Antwort hat auch mir heut geholfen!

                              MichaelScM Offline
                              MichaelScM Offline
                              MichaelSc
                              schrieb am zuletzt editiert von
                              #14

                              @michaelsc said in [GELÖST] Text-Wert eines states ausgeben anstatt Nummer:

                              @apollon77 Danke, diese relativ alte Antwort hat auch mir heut geholfen!

                              @apollon77: Hat zwar geholfen, aber nicht zum Erfolg geführt - ich komme mit der Syntax nicht klar.
                              Wie muss denn bitte so ein getObject genau aussehen? Ich hätte gerne den Namen zurück, der da drinsteht, aber da muss man doch eine bestimmte Syntax einhalten, denke ich mal...

                              iOBroker (and the other stuff) on a Proxmox Installation on an Intel NUC10.
                              IoT: Discarded Zigbee-System and all the hardware related to Zigbee; replaced with HomeMatic IP - very reliable.

                              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

                              842

                              Online

                              32.4k

                              Benutzer

                              81.5k

                              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