Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. String teilen - split-Befehl

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

String teilen - split-Befehl

Scheduled Pinned Locked Moved Skripten / Logik
javascript
46 Posts 7 Posters 6.2k Views 6 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ub.privatU ub.privat

    @dslraser

    je mehr ich mich damit beschäftige, hast du recht.
    Die Werte entsprechen einer Werteliste.

    so z.Bsp.

    {
    "BSH.Common.EnumType.OperationState.Ready": "Ready",
    "BSH.Common.EnumType.OperationState.Inactive": "Inactive",
    "BSH.Common.EnumType.OperationState.Run": "Run",
    "BSH.Common.EnumType.OperationState.Finished": "Finished",
    "BSH.Common.EnumType.OperationState.Pause": "Pause",
    "BSH.Common.EnumType.OperationState.ActionRequired": "ActionRequired"
    }

    anderer Datenpunkt, aber identische Struktur:
    {
    "BSH.Common.EnumType.DoorState.Closed": "Closed",
    "BSH.Common.EnumType.DoorState.Open": "Open"
    }

    Verfolge deinen von die verlinkten Beitrag parallel.
    Da gibt es eine Menge Gemeinsamkeiten.
    Nur wenn ich noch nicht einmal den reinen Text extrahiert bekomme, dann ist es mit Sprache sicher noch schwieriger...?

    Ihr bastelt an einer "ähnlichen" Lösung...

    dslraserD Offline
    dslraserD Offline
    dslraser
    Forum Testing Most Active
    wrote on last edited by
    #16

    @ub-privat
    die Lösung steht in dem Beitrag drinn, weil der Zustand, den Du auch haben möchtest, ausgegeben wird. Nur das hier das Ergebnis als Sprachausgabe benutzt wird.

    ub.privatU 1 Reply Last reply
    0
    • dslraserD dslraser

      @ub-privat
      die Lösung steht in dem Beitrag drinn, weil der Zustand, den Du auch haben möchtest, ausgegeben wird. Nur das hier das Ergebnis als Sprachausgabe benutzt wird.

      ub.privatU Offline
      ub.privatU Offline
      ub.privat
      wrote on last edited by
      #17

      @dslraser

      ok, dann muss ich noch einmal aufmerksam lesen!

      1 Reply Last reply
      0
      • OliverIOO Offline
        OliverIOO Offline
        OliverIO
        wrote on last edited by
        #18

        ok, dann füge in das basic string widget genau wie oben folgendes ein

        {s:Datenpunkt;s.split('.')[s.split('.').length-1]}
        

        Ich habe eine Vermutung, warum die Anzeige des Wertes im iobroker und der Ausgabe in vis
        differiert. Es scheint mit den Enums zu tun zu haben, mit denen ich selbst noch nicht gearbeitet habe.
        Der Datenpunkt enthält nur den Enumtyp. Die Anzeige in iobroker ermittelt dir aber auch gleich den Wert dazu.
        Um es Einfach zu machen ist im obigen Befehl jetzt folgendes drin:
        splitte den Wert mittels dem Punkt und nehme aus dem erzeugten Array immer das letzte Element. der Zustand ist ja immer der Text nach dem letzten Punkt.

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        ub.privatU dslraserD 3 Replies Last reply
        1
        • OliverIOO OliverIO

          ok, dann füge in das basic string widget genau wie oben folgendes ein

          {s:Datenpunkt;s.split('.')[s.split('.').length-1]}
          

          Ich habe eine Vermutung, warum die Anzeige des Wertes im iobroker und der Ausgabe in vis
          differiert. Es scheint mit den Enums zu tun zu haben, mit denen ich selbst noch nicht gearbeitet habe.
          Der Datenpunkt enthält nur den Enumtyp. Die Anzeige in iobroker ermittelt dir aber auch gleich den Wert dazu.
          Um es Einfach zu machen ist im obigen Befehl jetzt folgendes drin:
          splitte den Wert mittels dem Punkt und nehme aus dem erzeugten Array immer das letzte Element. der Zustand ist ja immer der Text nach dem letzten Punkt.

          ub.privatU Offline
          ub.privatU Offline
          ub.privat
          wrote on last edited by
          #19

          @OliverIO said in String teilen - split-Befehl:

          {s:Datenpunkt;s.split('.')[s.split('.').length-1]}

          Tata: ES FUNKTIONIERT!!!

          3d1612d0-e3e2-499b-bbd7-a3878d8d638f-grafik.png

          Jetzt muss ich mich aber noch intensiv mit dem Split-Befehl auseinander setzen.
          Erst einmal vielen DANK.

          Das chöne daran ist, dass man immer wieder dazu lernt! Mein persönliches ioBroker-Kompendium wächst und wächst.

          1 Reply Last reply
          0
          • ub.privatU Offline
            ub.privatU Offline
            ub.privat
            wrote on last edited by
            #20

            Lerne gerad hier https://www.w3schools.com/jsreF/jsref_slice_string.asp
            Java für Einsteiger :blush:

            OliverIOO 1 Reply Last reply
            0
            • OliverIOO OliverIO

              ok, dann füge in das basic string widget genau wie oben folgendes ein

              {s:Datenpunkt;s.split('.')[s.split('.').length-1]}
              

              Ich habe eine Vermutung, warum die Anzeige des Wertes im iobroker und der Ausgabe in vis
              differiert. Es scheint mit den Enums zu tun zu haben, mit denen ich selbst noch nicht gearbeitet habe.
              Der Datenpunkt enthält nur den Enumtyp. Die Anzeige in iobroker ermittelt dir aber auch gleich den Wert dazu.
              Um es Einfach zu machen ist im obigen Befehl jetzt folgendes drin:
              splitte den Wert mittels dem Punkt und nehme aus dem erzeugten Array immer das letzte Element. der Zustand ist ja immer der Text nach dem letzten Punkt.

              dslraserD Offline
              dslraserD Offline
              dslraser
              Forum Testing Most Active
              wrote on last edited by
              #21

              @OliverIO sagte in String teilen - split-Befehl:

              Um es Einfach zu machen ist im obigen Befehl jetzt folgendes drin:
              splitte den Wert mittels dem Punkt und nehme aus dem erzeugten Array immer das letzte Element. der Zustand ist ja immer der Text nach dem letzten Punkt.

              so habe ich es in dem von mir verlinkten Beitrag zu Beginn (weiter oben in dem Thread) auch gemacht.
              Der "echte" Wert von der Werteliste,(der eingedeutschte) habe ich dann später mit der kleinen Funktion in Blockly ermittelt.

              1 Reply Last reply
              0
              • ub.privatU ub.privat

                Lerne gerad hier https://www.w3schools.com/jsreF/jsref_slice_string.asp
                Java für Einsteiger :blush:

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                wrote on last edited by
                #22

                @ub-privat sehr schön.
                Allerdings sind Java und JavaScript Zwei unterschiedliche Sprachen. Aber für Iobroker bist du auf der richtigen Seite.

                Meine Adapter und Widgets
                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                Links im Profil

                ub.privatU 2 Replies Last reply
                0
                • OliverIOO OliverIO

                  @ub-privat sehr schön.
                  Allerdings sind Java und JavaScript Zwei unterschiedliche Sprachen. Aber für Iobroker bist du auf der richtigen Seite.

                  ub.privatU Offline
                  ub.privatU Offline
                  ub.privat
                  wrote on last edited by
                  #23

                  @OliverIO

                  Das sind in JavaScript unendliche Weiten. Aber das Hirn hat noch ein paar freie Kapazitäten...

                  So schaut es nun aus:
                  1fcbb0e7-e786-4611-9e95-de8c2619f67d-grafik.png

                  Muss jetzt noch abfragen einbauen, die bei inaktiven Gerät "null" ausblendet.
                  Das undefiened bin ich noch am erkunden,,,
                  Es wird und das ist die Hauptsache!

                  1 Reply Last reply
                  0
                  • OliverIOO OliverIO

                    @ub-privat sehr schön.
                    Allerdings sind Java und JavaScript Zwei unterschiedliche Sprachen. Aber für Iobroker bist du auf der richtigen Seite.

                    ub.privatU Offline
                    ub.privatU Offline
                    ub.privat
                    wrote on last edited by
                    #24

                    @OliverIO

                    habe gerade deine Signatur gelesen - Adapter für Squeezebox - klingt gut.
                    Aber ich suche etwas für TEUFEL/Raumfeld Komponenten. Steht bereits in der Adapteranfrage, aber scheinbar ohne Erfolg...

                    OliverIOO 1 Reply Last reply
                    1
                    • ub.privatU ub.privat

                      @OliverIO

                      habe gerade deine Signatur gelesen - Adapter für Squeezebox - klingt gut.
                      Aber ich suche etwas für TEUFEL/Raumfeld Komponenten. Steht bereits in der Adapteranfrage, aber scheinbar ohne Erfolg...

                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      wrote on last edited by OliverIO
                      #25

                      @ub-privat da hat wohl jemand angefangen aber nicht abgeschlossen
                      https://forum.iobroker.net/topic/19003/noch-nicht-testbereit-teufel-raumfeld-adapter

                      Meine Adapter und Widgets
                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                      Links im Profil

                      1 Reply Last reply
                      0
                      • OliverIOO OliverIO

                        ok, dann füge in das basic string widget genau wie oben folgendes ein

                        {s:Datenpunkt;s.split('.')[s.split('.').length-1]}
                        

                        Ich habe eine Vermutung, warum die Anzeige des Wertes im iobroker und der Ausgabe in vis
                        differiert. Es scheint mit den Enums zu tun zu haben, mit denen ich selbst noch nicht gearbeitet habe.
                        Der Datenpunkt enthält nur den Enumtyp. Die Anzeige in iobroker ermittelt dir aber auch gleich den Wert dazu.
                        Um es Einfach zu machen ist im obigen Befehl jetzt folgendes drin:
                        splitte den Wert mittels dem Punkt und nehme aus dem erzeugten Array immer das letzte Element. der Zustand ist ja immer der Text nach dem letzten Punkt.

                        dslraserD Offline
                        dslraserD Offline
                        dslraser
                        Forum Testing Most Active
                        wrote on last edited by dslraser
                        #26

                        @OliverIO sagte in String teilen - split-Befehl:

                        splitte den Wert mittels dem Punkt und nehme aus dem erzeugten Array immer das letzte Element. der Zustand ist ja immer der Text nach dem letzten Punkt.

                        @ub-privat

                        Der Wert nach dem letzten Punkt ist zwar fast immer der gleiche, aber nicht immer. Hier mal die Werte des Datenpunktes aus dem anderen Thread.

                            "ConsumerProducts.CoffeeMaker.Program.Beverage.Espresso": "Espresso",
                            "ConsumerProducts.CoffeeMaker.Program.Beverage.EspressoMacchiato": "Espresso Macchiato",
                            "ConsumerProducts.CoffeeMaker.Program.Beverage.Coffee": "Caffe Crema",
                            "ConsumerProducts.CoffeeMaker.Program.Beverage.Cappuccino": "Cappuccino",
                            "ConsumerProducts.CoffeeMaker.Program.Beverage.LatteMacchiato": "Latte Macchiato",
                            "ConsumerProducts.CoffeeMaker.Program.Beverage.CaffeLatte": "Milchkaffee",
                            "ConsumerProducts.CoffeeMaker.Program.Beverage.Ristretto": "Ristretto",
                            "ConsumerProducts.CoffeeMaker.Program.Beverage.MilkFroth": "Milchschaum",
                            "ConsumerProducts.CoffeeMaker.Program.Beverage.WarmMilk": "Warme Milch",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.KleinerBrauner": "Kleiner Brauner",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.GrosserBrauner": "Großer Brauner",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Verlaengerter": "Verlängerter",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.VerlaengerterBraun": "Verlängerter braun",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.WienerMelange": "Wiener Melange",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.FlatWhite": "Flat White",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Cortado": "Cortado",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.CafeCortado": "Café cortado",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.CafeConLeche": "Café con leche",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.CafeAuLait": "Café au lait",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Doppio": "Doppio",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Kaapi": "Kaapi",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.KoffieVerkeerd": "Koffie verkeerd",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Galao": "Galão",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Garoto": "Garoto",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Americano": "Americano",
                            "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.RedEye": "Red Eye"
                        
                        

                        Ich vermute mal, das es in Deinem Datenpunkt im RAW Bereich ähnlich aussieht ?
                        Vergleiche mal z.B. Milchschaum. Nach der Splitt Methode bekommst Du nicht Milchschaum angezeigt, sondern MilkFroth. Die gezeigte Funktion im anderen Thread ermittelt den "echten Wert"
                        Ich bin unterwegs und nur am Handy, von daher kann ich es nicht besser zeigen.

                        1 Reply Last reply
                        0
                        • dslraserD Offline
                          dslraserD Offline
                          dslraser
                          Forum Testing Most Active
                          wrote on last edited by
                          #27

                          @ub-privat
                          hier noch mal das was ich meine.....(danach halte ich mich raus)

                          Testblockly mit Debug-Bausteinen. Hier wird vielleicht klar was ich meine. Oben die Funktion und unten die Splittmethode.

                          Bildschirmfoto 2020-01-03 um 17.43.31.png

                          Ergebnis:

                          Bildschirmfoto 2020-01-03 um 17.43.22.png

                          Hier die genutzte Funktion

                          Bildschirmfoto 2020-01-03 um 17.36.30.png

                          if(getObject(id).common.states) return getObject(id).common.states[val];
                          return id + ' Dieser Datenpunkt hat keinen Zustand !';
                          

                          <xml xmlns="http://www.w3.org/1999/xhtml">
                           <variables>
                             <variable type="" id="y}n5NpIEF{U9uP/AG}OB">id</variable>
                             <variable type="" id="u7#6,S]3U-LR0^kP5l]P">val</variable>
                           </variables>
                           <block type="procedures_defcustomreturn" id="7R:L*9?)7Wl^RqVg+G`q" x="13" y="13">
                             <mutation statements="false">
                               <arg name="id" varid="y}n5NpIEF{U9uP/AG}OB"></arg>
                               <arg name="val" varid="u7#6,S]3U-LR0^kP5l]P"></arg>
                             </mutation>
                             <field name="NAME">Kaffeesorte</field>
                             <field name="SCRIPT">aWYoZ2V0T2JqZWN0KGlkKS5jb21tb24uc3RhdGVzKSByZXR1cm4gZ2V0T2JqZWN0KGlkKS5jb21tb24uc3RhdGVzW3ZhbF07CnJldHVybiBpZCArICcgRGllc2VyIERhdGVucHVua3QgaGF0IGtlaW5lbiBadXN0YW5kICEnOw==</field>
                             <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                           </block>
                           <block type="debug" id="s7Q~Dg^CTndwVGwE,*a7" x="12" y="88">
                             <field name="Severity">log</field>
                             <value name="TEXT">
                               <shadow type="text" id="fQ4x5I0_yE)XMLP)wC~a">
                                 <field name="TEXT">test</field>
                               </shadow>
                               <block type="text_join" id="Kv@T0V3-5W4:|GmX@Cd(">
                                 <mutation items="2"></mutation>
                                 <value name="ADD0">
                                   <block type="text" id="9rUT6o2O96Lk9p/t;P!F">
                                     <field name="TEXT">Funktion-Werteliste: </field>
                                   </block>
                                 </value>
                                 <value name="ADD1">
                                   <block type="procedures_callcustomreturn" id="HpQS1cqWv}c}%Zepn}ax">
                                     <mutation name="Kaffeesorte">
                                       <arg name="id"></arg>
                                       <arg name="val"></arg>
                                     </mutation>
                                     <value name="ARG0">
                                       <block type="field_oid" id="j@NlUln%G`DESX4Ra8CJ">
                                         <field name="oid">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field>
                                       </block>
                                     </value>
                                     <value name="ARG1">
                                       <block type="get_value" id="cDp+]Va_smIe?b)Fp`ks">
                                         <field name="ATTR">val</field>
                                         <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <next>
                               <block type="debug" id="K$o+3aO=Sadm^HBM$2$R">
                                 <field name="Severity">log</field>
                                 <value name="TEXT">
                                   <shadow type="text" id="fQ4x5I0_yE)XMLP)wC~a">
                                     <field name="TEXT">test</field>
                                   </shadow>
                                   <block type="text_join" id="wq(3B2wVQRPRNA!cQDle">
                                     <mutation items="2"></mutation>
                                     <value name="ADD0">
                                       <block type="text" id="_m%swPGrjWBn4:uQZ3CN">
                                         <field name="TEXT">Split-Methode: </field>
                                       </block>
                                     </value>
                                     <value name="ADD1">
                                       <block type="text_getSubstring" id=";V75FO4VtMZ3nP[Seh:A" inline="false">
                                         <mutation at1="true" at2="false"></mutation>
                                         <field name="WHERE1">FROM_START</field>
                                         <field name="WHERE2">LAST</field>
                                         <value name="STRING">
                                           <block type="get_value" id="t$6J}yw=#$*H%Oy@L$lh">
                                             <field name="ATTR">val</field>
                                             <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field>
                                           </block>
                                         </value>
                                         <value name="AT1">
                                           <block type="math_arithmetic" id="h7_S)hH`5@RA?#U)5g=1" inline="false">
                                             <field name="OP">ADD</field>
                                             <value name="A">
                                               <shadow type="math_number" id="A`TLz5Lbfgw;=mJOp}(^">
                                                 <field name="NUM">1</field>
                                               </shadow>
                                               <block type="text_indexOf" id="0e*(2Dhq5d1#U;xsFNn%" inline="false">
                                                 <field name="END">LAST</field>
                                                 <value name="VALUE">
                                                   <block type="get_value" id="isq[qfzLYyRaRLY;L45w">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field>
                                                   </block>
                                                 </value>
                                                 <value name="FIND">
                                                   <shadow type="text" id="P5s;aJDPT*F;y(,VtRBs">
                                                     <field name="TEXT">abc</field>
                                                   </shadow>
                                                   <block type="text" id="c,}EJ]POpPpb|nI#.!zb">
                                                     <field name="TEXT">.</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <shadow type="math_number" id="-9+`M14/p._`PvUM3`yk">
                                                 <field name="NUM">1</field>
                                               </shadow>
                                               <block type="math_number" id="(Kg1M+/J_!`LmKq-sU!S">
                                                 <field name="NUM">1</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </next>
                           </block>
                          </xml>
                          

                          I 1 Reply Last reply
                          0
                          • dslraserD dslraser

                            @ub-privat
                            hier noch mal das was ich meine.....(danach halte ich mich raus)

                            Testblockly mit Debug-Bausteinen. Hier wird vielleicht klar was ich meine. Oben die Funktion und unten die Splittmethode.

                            Bildschirmfoto 2020-01-03 um 17.43.31.png

                            Ergebnis:

                            Bildschirmfoto 2020-01-03 um 17.43.22.png

                            Hier die genutzte Funktion

                            Bildschirmfoto 2020-01-03 um 17.36.30.png

                            if(getObject(id).common.states) return getObject(id).common.states[val];
                            return id + ' Dieser Datenpunkt hat keinen Zustand !';
                            

                            <xml xmlns="http://www.w3.org/1999/xhtml">
                             <variables>
                               <variable type="" id="y}n5NpIEF{U9uP/AG}OB">id</variable>
                               <variable type="" id="u7#6,S]3U-LR0^kP5l]P">val</variable>
                             </variables>
                             <block type="procedures_defcustomreturn" id="7R:L*9?)7Wl^RqVg+G`q" x="13" y="13">
                               <mutation statements="false">
                                 <arg name="id" varid="y}n5NpIEF{U9uP/AG}OB"></arg>
                                 <arg name="val" varid="u7#6,S]3U-LR0^kP5l]P"></arg>
                               </mutation>
                               <field name="NAME">Kaffeesorte</field>
                               <field name="SCRIPT">aWYoZ2V0T2JqZWN0KGlkKS5jb21tb24uc3RhdGVzKSByZXR1cm4gZ2V0T2JqZWN0KGlkKS5jb21tb24uc3RhdGVzW3ZhbF07CnJldHVybiBpZCArICcgRGllc2VyIERhdGVucHVua3QgaGF0IGtlaW5lbiBadXN0YW5kICEnOw==</field>
                               <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                             </block>
                             <block type="debug" id="s7Q~Dg^CTndwVGwE,*a7" x="12" y="88">
                               <field name="Severity">log</field>
                               <value name="TEXT">
                                 <shadow type="text" id="fQ4x5I0_yE)XMLP)wC~a">
                                   <field name="TEXT">test</field>
                                 </shadow>
                                 <block type="text_join" id="Kv@T0V3-5W4:|GmX@Cd(">
                                   <mutation items="2"></mutation>
                                   <value name="ADD0">
                                     <block type="text" id="9rUT6o2O96Lk9p/t;P!F">
                                       <field name="TEXT">Funktion-Werteliste: </field>
                                     </block>
                                   </value>
                                   <value name="ADD1">
                                     <block type="procedures_callcustomreturn" id="HpQS1cqWv}c}%Zepn}ax">
                                       <mutation name="Kaffeesorte">
                                         <arg name="id"></arg>
                                         <arg name="val"></arg>
                                       </mutation>
                                       <value name="ARG0">
                                         <block type="field_oid" id="j@NlUln%G`DESX4Ra8CJ">
                                           <field name="oid">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field>
                                         </block>
                                       </value>
                                       <value name="ARG1">
                                         <block type="get_value" id="cDp+]Va_smIe?b)Fp`ks">
                                           <field name="ATTR">val</field>
                                           <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <next>
                                 <block type="debug" id="K$o+3aO=Sadm^HBM$2$R">
                                   <field name="Severity">log</field>
                                   <value name="TEXT">
                                     <shadow type="text" id="fQ4x5I0_yE)XMLP)wC~a">
                                       <field name="TEXT">test</field>
                                     </shadow>
                                     <block type="text_join" id="wq(3B2wVQRPRNA!cQDle">
                                       <mutation items="2"></mutation>
                                       <value name="ADD0">
                                         <block type="text" id="_m%swPGrjWBn4:uQZ3CN">
                                           <field name="TEXT">Split-Methode: </field>
                                         </block>
                                       </value>
                                       <value name="ADD1">
                                         <block type="text_getSubstring" id=";V75FO4VtMZ3nP[Seh:A" inline="false">
                                           <mutation at1="true" at2="false"></mutation>
                                           <field name="WHERE1">FROM_START</field>
                                           <field name="WHERE2">LAST</field>
                                           <value name="STRING">
                                             <block type="get_value" id="t$6J}yw=#$*H%Oy@L$lh">
                                               <field name="ATTR">val</field>
                                               <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field>
                                             </block>
                                           </value>
                                           <value name="AT1">
                                             <block type="math_arithmetic" id="h7_S)hH`5@RA?#U)5g=1" inline="false">
                                               <field name="OP">ADD</field>
                                               <value name="A">
                                                 <shadow type="math_number" id="A`TLz5Lbfgw;=mJOp}(^">
                                                   <field name="NUM">1</field>
                                                 </shadow>
                                                 <block type="text_indexOf" id="0e*(2Dhq5d1#U;xsFNn%" inline="false">
                                                   <field name="END">LAST</field>
                                                   <value name="VALUE">
                                                     <block type="get_value" id="isq[qfzLYyRaRLY;L45w">
                                                       <field name="ATTR">val</field>
                                                       <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field>
                                                     </block>
                                                   </value>
                                                   <value name="FIND">
                                                     <shadow type="text" id="P5s;aJDPT*F;y(,VtRBs">
                                                       <field name="TEXT">abc</field>
                                                     </shadow>
                                                     <block type="text" id="c,}EJ]POpPpb|nI#.!zb">
                                                       <field name="TEXT">.</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <shadow type="math_number" id="-9+`M14/p._`PvUM3`yk">
                                                   <field name="NUM">1</field>
                                                 </shadow>
                                                 <block type="math_number" id="(Kg1M+/J_!`LmKq-sU!S">
                                                   <field name="NUM">1</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                 </block>
                               </next>
                             </block>
                            </xml>
                            

                            I Offline
                            I Offline
                            ichwersonst
                            wrote on last edited by
                            #28

                            Hallo,
                            ich habe einen Datenpunkt als Zeichenkette in den ich an 16 verschiedene Stellen Uhrzeiten schreibe. So das der Inhalt der Zeichenkette so aussieht :

                            16:11:25,17:15:30,20:03:54,usw.

                            Wie bekomme ich es jetzt in vis hin, dass ich die Uhrzeiten einzeln an verschiedenen Stellen (Textfelder) angezeigt bekomme?

                            Grüße...

                            G 1 Reply Last reply
                            0
                            • I ichwersonst

                              Hallo,
                              ich habe einen Datenpunkt als Zeichenkette in den ich an 16 verschiedene Stellen Uhrzeiten schreibe. So das der Inhalt der Zeichenkette so aussieht :

                              16:11:25,17:15:30,20:03:54,usw.

                              Wie bekomme ich es jetzt in vis hin, dass ich die Uhrzeiten einzeln an verschiedenen Stellen (Textfelder) angezeigt bekomme?

                              Grüße...

                              G Offline
                              G Offline
                              gfrene
                              wrote on last edited by
                              #29

                              Moin zusammen, ich versuche gerade noch die letzte Baustelle im VIS einzubauen. Leider komme ich mit dem TEXT ausschneiden nicht weiter.
                              Folgendes habe ich versucht:

                              ich möchte gerne den rot markierten wert in VIS anzeigen lassen
                              97ed2600-9ae1-48ec-845a-6112e2b6e88d-grafik.png

                              Aber bei mir kommt nur das bei raus !!!!
                              79a96fe5-289f-4ab2-add4-57c0eca45efb-grafik.png

                              Hier den Code den genutzt habe
                              {s:Datenpunkt;s.split('.')[s.split('.').length-1]}

                              Aber wie man sehen kann mache hier irgendwas falsch .. wie müsste der Aufbau genau aussehen ?

                              Gruß und danke für eure Hilfe
                              Rene

                              liv-in-skyL 1 Reply Last reply
                              0
                              • G gfrene

                                Moin zusammen, ich versuche gerade noch die letzte Baustelle im VIS einzubauen. Leider komme ich mit dem TEXT ausschneiden nicht weiter.
                                Folgendes habe ich versucht:

                                ich möchte gerne den rot markierten wert in VIS anzeigen lassen
                                97ed2600-9ae1-48ec-845a-6112e2b6e88d-grafik.png

                                Aber bei mir kommt nur das bei raus !!!!
                                79a96fe5-289f-4ab2-add4-57c0eca45efb-grafik.png

                                Hier den Code den genutzt habe
                                {s:Datenpunkt;s.split('.')[s.split('.').length-1]}

                                Aber wie man sehen kann mache hier irgendwas falsch .. wie müsste der Aufbau genau aussehen ?

                                Gruß und danke für eure Hilfe
                                Rene

                                liv-in-skyL Offline
                                liv-in-skyL Offline
                                liv-in-sky
                                wrote on last edited by liv-in-sky
                                #30

                                @gfrene sagte in String teilen - split-Befehl:

                                {s:Datenpunkt;s.split('.')[s.split('.').length-1]}

                                
                                {s:controll-own.0.AAATEST.TestString3;s.split('.')[0]}
                                

                                du musst den datenpunkt (bei mir "controll-own.0.AAATEST.TestString3") auch eingeben und nicht den state reinschreiben - und du willst die erste stelle - also [0]

                                dein datenpunkt:

                                Image 1.png

                                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                G 1 Reply Last reply
                                1
                                • liv-in-skyL liv-in-sky

                                  @gfrene sagte in String teilen - split-Befehl:

                                  {s:Datenpunkt;s.split('.')[s.split('.').length-1]}

                                  
                                  {s:controll-own.0.AAATEST.TestString3;s.split('.')[0]}
                                  

                                  du musst den datenpunkt (bei mir "controll-own.0.AAATEST.TestString3") auch eingeben und nicht den state reinschreiben - und du willst die erste stelle - also [0]

                                  dein datenpunkt:

                                  Image 1.png

                                  G Offline
                                  G Offline
                                  gfrene
                                  wrote on last edited by
                                  #31

                                  @liv-in-sky Danke dir für deine Hilfe man kommt langsam ans ziel :-) aber so sieht es jetzt aus

                                  {s:homeconnect.0.010060519425000485.status.BSH_Common_Status_DoorState;s.split('.')[0]}

                                  7801e1e0-b7fb-41f7-bd7c-3bb8a9b41324-grafik.png

                                  liv-in-skyL 2 Replies Last reply
                                  0
                                  • G gfrene

                                    @liv-in-sky Danke dir für deine Hilfe man kommt langsam ans ziel :-) aber so sieht es jetzt aus

                                    {s:homeconnect.0.010060519425000485.status.BSH_Common_Status_DoorState;s.split('.')[0]}

                                    7801e1e0-b7fb-41f7-bd7c-3bb8a9b41324-grafik.png

                                    liv-in-skyL Offline
                                    liv-in-skyL Offline
                                    liv-in-sky
                                    wrote on last edited by
                                    #32

                                    @gfrene im bild oben sieht es aus als ob es an erster stelle steht - sorry - dann doch

                                    [s.split('.').length-1]
                                    

                                    anstatt der "0"

                                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                    G 1 Reply Last reply
                                    1
                                    • G gfrene

                                      @liv-in-sky Danke dir für deine Hilfe man kommt langsam ans ziel :-) aber so sieht es jetzt aus

                                      {s:homeconnect.0.010060519425000485.status.BSH_Common_Status_DoorState;s.split('.')[0]}

                                      7801e1e0-b7fb-41f7-bd7c-3bb8a9b41324-grafik.png

                                      liv-in-skyL Offline
                                      liv-in-skyL Offline
                                      liv-in-sky
                                      wrote on last edited by
                                      #33

                                      @gfrene oder kann es sein, dass dies eine werteliste ist - also mehrere werte zur auswahl - dann brauchst du den split nicht

                                      wenn du auf den wert klickst - kommen dann mehrere zur auswahl ? wenn mehrere zur auswahl - dann musst du anders vorgehen

                                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                      G 1 Reply Last reply
                                      1
                                      • liv-in-skyL liv-in-sky

                                        @gfrene im bild oben sieht es aus als ob es an erster stelle steht - sorry - dann doch

                                        [s.split('.').length-1]
                                        

                                        anstatt der "0"

                                        G Offline
                                        G Offline
                                        gfrene
                                        wrote on last edited by
                                        #34

                                        @liv-in-sky said in String teilen - split-Befehl:

                                        @gfrene im bild oben sieht es aus als ob es an erster stelle steht - sorry - dann doch

                                        [s.split('.').length-1]
                                        

                                        anstatt der "0"

                                        Das wars ... zur Auswahl komme ich noch .. bisher arbeite ich Werte nur aus .. Ggf. würde ich mir dann hier wieder melden .... DICKES DANKE für deine Hilfe :-)

                                        1 Reply Last reply
                                        1
                                        • liv-in-skyL liv-in-sky

                                          @gfrene oder kann es sein, dass dies eine werteliste ist - also mehrere werte zur auswahl - dann brauchst du den split nicht

                                          wenn du auf den wert klickst - kommen dann mehrere zur auswahl ? wenn mehrere zur auswahl - dann musst du anders vorgehen

                                          G Offline
                                          G Offline
                                          gfrene
                                          wrote on last edited by
                                          #35

                                          @liv-in-sky Ok doch gleich noch eine Frage jetzt steht ja Closed ... kann man das auch gleich mit einbauen das dort alls in Deutsch steht

                                          Der Wert ist ja unterschiedlich : Tür geschlossen ( Closed )
                                          Tür geöffnet steht : BSH.Common.EnumType.DoorState.Open
                                          und eben für Open (geöffnet)

                                          liv-in-skyL 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          341

                                          Online

                                          32.7k

                                          Users

                                          82.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe