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. ioBroker Allgemein
  4. Werte auf Strings mappen

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    7
    1
    65

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

Werte auf Strings mappen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
9 Beiträge 4 Kommentatoren 671 Aufrufe 2 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
    mon
    schrieb am zuletzt editiert von
    #1

    Ich habe ein Objekt das mir bestimmte Strings je nach Status zurückgibt.
    Ich möchte aber in der VIS Strings ausgeben die besser menschlich lesbar sind. Wie kann ich die Objekt Strings auf meine Ausgabe Strings mappen?

    mickymM CodierknechtC 2 Antworten Letzte Antwort
    0
    • M mon

      Ich habe ein Objekt das mir bestimmte Strings je nach Status zurückgibt.
      Ich möchte aber in der VIS Strings ausgeben die besser menschlich lesbar sind. Wie kann ich die Objekt Strings auf meine Ausgabe Strings mappen?

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #2

      s. Blockly

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      1 Antwort Letzte Antwort
      0
      • M mon

        Ich habe ein Objekt das mir bestimmte Strings je nach Status zurückgibt.
        Ich möchte aber in der VIS Strings ausgeben die besser menschlich lesbar sind. Wie kann ich die Objekt Strings auf meine Ausgabe Strings mappen?

        CodierknechtC Offline
        CodierknechtC Offline
        Codierknecht
        Developer Most Active
        schrieb am zuletzt editiert von
        #3

        @mon
        Bau Dir 'ne kleine JS-Funktion, die das übersetzt.

        const arrayObject = ['CLOSED', 'OPEN', 'TILTED'];
        const arrayVIS = ['Geschlossen', 'Offen', 'gekippt'];
        
        function getString(aValue) {
            let index = arrayObject.indexOf(aValue);
            if (index >= 0) {
                return arrayVIS[index];
            } else {
                return aValue;
            }
        }
        
        log(getString('CLOSED'));
        

        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
        HmIP|ZigBee|Tasmota|Unifi
        Zabbix Certified Specialist
        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

        1 Antwort Letzte Antwort
        0
        • mickymM Offline
          mickymM Offline
          mickym
          Most Active
          schrieb am zuletzt editiert von
          #4

          Wenn man mit Blockly arbeiten will- gehts aber auch einfach:

          b8337ca3-33be-4d84-9fd6-e68fa080723f-image.png

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            mon
            schrieb am zuletzt editiert von
            #5

            Ok, danke Leute. Ich werde wohl JS nehmen, das sollte für mich am einfachsten sein.
            JSONata müsste ich mir erstmal anschauen, aber ich vermute in diesem Kontext würde es gegenüber JS oder Blockly keine Vorteile bringen, deshalb lasse ich das mal außen vor.

            mickymM 1 Antwort Letzte Antwort
            0
            • M mon

              Ok, danke Leute. Ich werde wohl JS nehmen, das sollte für mich am einfachsten sein.
              JSONata müsste ich mir erstmal anschauen, aber ich vermute in diesem Kontext würde es gegenüber JS oder Blockly keine Vorteile bringen, deshalb lasse ich das mal außen vor.

              mickymM Offline
              mickymM Offline
              mickym
              Most Active
              schrieb am zuletzt editiert von mickym
              #6

              @mon Wenn man gerne viel Code schreiben will, dann nimm kein JSONATA - ansonsten hier der Code:

              83acafe6-de01-4b20-83ec-805a8862dd79-image.png

              oder JSONATA in JS:

              console.log(await jsonataExpression("open",'["geschlossen","geöffnet","gekippt"][(["closed","open","tilted"])#$i[$=$$].$i]'));
              

              also der ganze Codeteil reduziert sich in JSONATA auf diesen Ausdruck:

              ["geschlossen","geöffnet","gekippt"][(["closed","open","tilted"])#$i[$=$$].$i]
              

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              1 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                mon
                schrieb am zuletzt editiert von
                #7

                Ich kapiere irgendwie noch nicht ganz wie ich das Script triggere.
                Es müsste eigentlich zur Laufzeit aktiv sein und mein Textfeld befüllen. Bzw. bei jeder Abfrage des aktuellen Werts getriggered werden.

                795f7a06-1e8e-4dee-b8af-55d75d493a6a-image.png

                paul53P 1 Antwort Letzte Antwort
                0
                • M mon

                  Ich kapiere irgendwie noch nicht ganz wie ich das Script triggere.
                  Es müsste eigentlich zur Laufzeit aktiv sein und mein Textfeld befüllen. Bzw. bei jeder Abfrage des aktuellen Werts getriggered werden.

                  795f7a06-1e8e-4dee-b8af-55d75d493a6a-image.png

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

                  @mon sagte: wie ich das Script triggere.

                  Beispiel:

                  const idSrc = 'smartgarden.0.abc'; 
                  const idDst = '0_userdata.0.xyz'; // DP für Vis
                  const arrSrc = ['CLOSED', 'OPEN', 'TILTED'];
                  const arrDst = ['geschlossen', 'offen', 'gekippt'];
                  
                  on(idSrc, function(dp) { // triggert bei Wertänderung
                      let idx = arrSrc.indexOf(dp.state.val);
                      if(idx >= 0) setState(idDst, arrDst[idx], true);
                  });
                  

                  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

                  M 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @mon sagte: wie ich das Script triggere.

                    Beispiel:

                    const idSrc = 'smartgarden.0.abc'; 
                    const idDst = '0_userdata.0.xyz'; // DP für Vis
                    const arrSrc = ['CLOSED', 'OPEN', 'TILTED'];
                    const arrDst = ['geschlossen', 'offen', 'gekippt'];
                    
                    on(idSrc, function(dp) { // triggert bei Wertänderung
                        let idx = arrSrc.indexOf(dp.state.val);
                        if(idx >= 0) setState(idDst, arrDst[idx], true);
                    });
                    
                    M Offline
                    M Offline
                    mon
                    schrieb am zuletzt editiert von
                    #9

                    @paul53 Ah ja verstehe. Hab das jetzt mal eingebaut. Ich denke es sollte gehen, hab allerdings den Mäher schon winterfest gemacht ;) Werde ich wohl erst nächstes Jahr sehen.

                    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
                    FAQ Cloud / IOT
                    HowTo: Node.js-Update
                    HowTo: Backup/Restore
                    Downloads
                    BLOG

                    451

                    Online

                    32.5k

                    Benutzer

                    81.7k

                    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