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. Textvariablen mit & - wie trennen?

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    528

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

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

Textvariablen mit & - wie trennen?

Geplant Angeheftet Gesperrt Verschoben JavaScript
29 Beiträge 8 Kommentatoren 2.5k 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.
  • mickymM mickym

    @hendrik87 sagte in Textvariablen mit & - wie trennen?:

    PASSKEY=xxx&stationtype=GW2000A_V3.2.2&runtime=86732&heap=82460&dateutc=2025-04-19%2018%3A57%3A39&tempinf=69.08&humidityin=43&baromrelin=29.740&baromabsin=29.740&tempf=46.40&humidity=76&vpd=0.076&winddir=304&windspeedmph=3.80&windgustmph=7.38&maxdailygust=13.65&solarradiation=0.16&uv=0&rrain_piezo=0.000&erain_piezo=0.000&hrain_piezo=0.000&drain_piezo=0.000&wrain_piezo=0.409&mrain_piezo=0.409&yrain_piezo=0.409&srain_piezo=0&ws90cap_volt=5.2&ws90_ver=133&wh90batt=3.26&freq=868M&model=GW2000A&interval=60

    Ich würde so was natürlich mit JSONATA in ein Objekt überführen, dann kann einzelne Werte ganz bequem selektieren:
    9bf5b934-2697-48c1-bfc6-323ccb3732f3-image.png

    Hier der JSONATA Ausdruck

    $split($,"&"){$substringBefore("="):$substringAfter("=")}
    

    <xml xmlns="https://developers.google.com/blockly/xml">
     <variables>
       <variable id="hu+F[F+=/+n6(w#b!bkk">Text</variable>
       <variable id="8+=Mk?BD}YCcGl~4E)j|">Objekt</variable>
     </variables>
     <block type="variables_set" id="^~Sv#fxrrEl3v%:$_j(K" x="-137" y="63">
       <field name="VAR" id="hu+F[F+=/+n6(w#b!bkk">Text</field>
       <value name="VALUE">
         <block type="text" id="}KJz}$Rs!%XxMZl%j4_w">
           <field name="TEXT">PASSKEY=xxx&amp;stationtype=GW2000A_V3.2.2&amp;runtime=86732&amp;heap=82460&amp;dateutc=2025-04-19%2018%3A57%3A39&amp;tempinf=69.08&amp;humidityin=43&amp;baromrelin=29.740&amp;baromabsin=29.740&amp;tempf=46.40&amp;humidity=76&amp;vpd=0.076&amp;winddir=304&amp;windspeedmph=3.80&amp;windgustmph=7.38&amp;maxdailygust=13.65&amp;solarradiation=0.16&amp;uv=0&amp;rrain_piezo=0.000&amp;erain_piezo=0.000&amp;hrain_piezo=0.000&amp;drain_piezo=0.000&amp;wrain_piezo=0.409&amp;mrain_piezo=0.409&amp;yrain_piezo=0.409&amp;srain_piezo=0&amp;ws90cap_volt=5.2&amp;ws90_ver=133&amp;wh90batt=3.26&amp;freq=868M&amp;model=GW2000A&amp;interval=60</field>
         </block>
       </value>
       <next>
         <block type="variables_set" id="_D5~rAL,~%b==9Nf3*L`">
           <field name="VAR" id="8+=Mk?BD}YCcGl~4E)j|">Objekt</field>
           <value name="VALUE">
             <block type="convert_jsonata" id="u}[_Z`KWHAeHkdE@@V?=">
               <value name="EXPRESSION">
                 <shadow type="text" id="eg-6.rV=oGTM`RArquVg">
                   <field name="TEXT">$split($,"&amp;"){$substringBefore("="):$substringAfter("=")}</field>
                 </shadow>
               </value>
               <value name="TARGET">
                 <block type="variables_get" id="n+aI}jp_T]nxZ439rGaK">
                   <field name="VAR" id="hu+F[F+=/+n6(w#b!bkk">Text</field>
                 </block>
               </value>
             </block>
           </value>
           <next>
             <block type="debug" id="k08ZC410l/7`T|+g_+w@">
               <field name="Severity">info</field>
               <value name="TEXT">
                 <shadow type="text" id=",T!NCf4e|u/ADp:g1bn[">
                   <field name="TEXT">test</field>
                 </shadow>
                 <block type="variables_get" id="xX[*0A$F`nN{~,hNEQSb">
                   <field name="VAR" id="8+=Mk?BD}YCcGl~4E)j|">Objekt</field>
                 </block>
               </value>
               <next>
                 <block type="debug" id="$ZA{KAj::[0NO^}@r2f?">
                   <field name="Severity">info</field>
                   <value name="TEXT">
                     <shadow type="text" id="v3S]^xo$QRpmTi_m:MiD">
                       <field name="TEXT">test</field>
                     </shadow>
                     <block type="get_attr" id="sch|Vdte#46P|$E0N){b">
                       <value name="PATH">
                         <shadow type="text" id="S6Fmb#3I5odaK!_L3/Xx">
                           <field name="TEXT">tempf</field>
                         </shadow>
                       </value>
                       <value name="OBJECT">
                         <shadow type="get_object" id="Z[Q*J-EZZlJA:5Q36$$z">
                           <field name="OID">Object ID</field>
                         </shadow>
                         <block type="variables_get" id="}pfM{4G@w.%+V=RxDl|%">
                           <field name="VAR" id="8+=Mk?BD}YCcGl~4E)j|">Objekt</field>
                         </block>
                       </value>
                     </block>
                   </value>
                 </block>
               </next>
             </block>
           </next>
         </block>
       </next>
     </block>
     <block type="convert_json2object" id="1-ME3y(y.YrZvl:v}Pb`" x="388" y="438"></block>
    </xml>
    

    EDIT: Geht sogar noch einfacher - nochmals korrigiert.

    https://try.jsonata.org/sn8GeyHWc

    oder auf den Code von @fastfoot angewandt:

    const txtorg = "PASSKEY=xxx&stationtype=GW2000A_V3.2.2&runtime=86732&heap=82460&dateutc=2025-04-19%2018%3A57%3A39&tempinf=69.08&humidityin=43&baromrelin=29.740&baromabsin=29.740&tempf=46.40&humidity=76&vpd=0.076&winddir=304&windspeedmph=3.80&windgustmph=7.38&maxdailygust=13.65&solarradiation=0.16&uv=0&rrain_piezo=0.000&erain_piezo=0.000&hrain_piezo=0.000&drain_piezo=0.000&wrain_piezo=0.409&mrain_piezo=0.409&yrain_piezo=0.409&srain_piezo=0&ws90cap_volt=5.2&ws90_ver=133&wh90batt=3.26&freq=868M&model=GW2000A&interval=60";
    const obj = (await jsonataExpression(txtorg, '$split($,"&"){$substringBefore("="):$substringAfter("=")}'));
    log(obj.tempf);
    log(obj.dateutc);
    log(obj.humidity);
    

    b1ce9d44-913d-4bd6-955d-31b8da5eaac8-image.png

    haus-automatisierungH Online
    haus-automatisierungH Online
    haus-automatisierung
    Developer Most Active
    schrieb am zuletzt editiert von
    #17

    Geht es in diesem Thread darum, wie man es möglichst kompliziert löst? Dann entschuldigt meinen simplen Ansatz :)

    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
    📚 Meine inoffizielle ioBroker Dokumentation

    mickymM 1 Antwort Letzte Antwort
    3
    • haus-automatisierungH haus-automatisierung

      Geht es in diesem Thread darum, wie man es möglichst kompliziert löst? Dann entschuldigt meinen simplen Ansatz :)

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

      @haus-automatisierung sagte in Textvariablen mit & - wie trennen?:

      Geht es in diesem Thread darum, wie man es möglichst kompliziert löst? Dann entschuldigt meinen simplen Ansatz :)

      Nein - aber man muss halt wieder eine Bibliothek installieren, während JSONATA halt schon an Board ist.

      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.

      T 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @haus-automatisierung sagte in Textvariablen mit & - wie trennen?:

        Geht es in diesem Thread darum, wie man es möglichst kompliziert löst? Dann entschuldigt meinen simplen Ansatz :)

        Nein - aber man muss halt wieder eine Bibliothek installieren, während JSONATA halt schon an Board ist.

        T Nicht stören
        T Nicht stören
        ticaki
        schrieb am zuletzt editiert von
        #19

        @mickym

        Alles was mit node: anfängt ist in nodejs integriert.

        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

        Spenden

        mickymM 1 Antwort Letzte Antwort
        1
        • T ticaki

          @mickym

          Alles was mit node: anfängt ist in nodejs integriert.

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

          @ticaki sagte in Textvariablen mit & - wie trennen?:

          @mickym

          Alles was mit node: anfängt ist in nodejs integriert.

          Ok - wusste ich nicht

          • aber mein Code ist auch nicht länger. Aber egal - könnt ja meine Lösung wieder löschen.

          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.

          T W 2 Antworten Letzte Antwort
          0
          • mickymM mickym

            @ticaki sagte in Textvariablen mit & - wie trennen?:

            @mickym

            Alles was mit node: anfängt ist in nodejs integriert.

            Ok - wusste ich nicht

            • aber mein Code ist auch nicht länger. Aber egal - könnt ja meine Lösung wieder löschen.
            T Nicht stören
            T Nicht stören
            ticaki
            schrieb am zuletzt editiert von
            #21

            @mickym
            Ich habs dir nur mitgeteilt ohne wertung :)

            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

            Spenden

            bahnuhrB 1 Antwort Letzte Antwort
            2
            • T ticaki

              @mickym
              Ich habs dir nur mitgeteilt ohne wertung :)

              bahnuhrB Online
              bahnuhrB Online
              bahnuhr
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #22

              @ticaki
              @haus-automatisierung

              Gibts da irgendwo ne Beschreibung wie man dies anwendet und was damit möglich ist ?


              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

              T 1 Antwort Letzte Antwort
              0
              • bahnuhrB bahnuhr

                @ticaki
                @haus-automatisierung

                Gibts da irgendwo ne Beschreibung wie man dies anwendet und was damit möglich ist ?

                T Nicht stören
                T Nicht stören
                ticaki
                schrieb am zuletzt editiert von
                #23

                @bahnuhr

                Jo auf der nodejs/api/url seite :D

                https://nodejs.org/api/url.html

                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                Spenden

                HomoranH 1 Antwort Letzte Antwort
                1
                • T ticaki

                  @bahnuhr

                  Jo auf der nodejs/api/url seite :D

                  https://nodejs.org/api/url.html

                  HomoranH Nicht stören
                  HomoranH Nicht stören
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von
                  #24

                  @ticaki node v23??

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  T 1 Antwort Letzte Antwort
                  0
                  • HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von
                    #25

                    Ich habe den Exkurs wegen der Darstellungsprobleme in code-tags bei eckigen Klammern ausgegliedert nach
                    https://forum.iobroker.net/topic/80809/code-in-code-tags-unvollständig-bei-eckigen-klammern/1

                    ich hoffe ich habe nicht zuviel Kontext zerstört

                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    1 Antwort Letzte Antwort
                    2
                    • HomoranH Homoran

                      @ticaki node v23??

                      T Nicht stören
                      T Nicht stören
                      ticaki
                      schrieb am zuletzt editiert von ticaki
                      #26

                      @homoran
                      Bildschirmfoto 2025-04-21 um 18.24.27.png

                      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                      Spenden

                      1 Antwort Letzte Antwort
                      2
                      • mickymM mickym

                        @ticaki sagte in Textvariablen mit & - wie trennen?:

                        @mickym

                        Alles was mit node: anfängt ist in nodejs integriert.

                        Ok - wusste ich nicht

                        • aber mein Code ist auch nicht länger. Aber egal - könnt ja meine Lösung wieder löschen.
                        W Online
                        W Online
                        Wildbill
                        schrieb am zuletzt editiert von
                        #27

                        @mickym sagte in Textvariablen mit & - wie trennen?:

                        @ticaki sagte in Textvariablen mit & - wie trennen?:

                        @mickym

                        Alles was mit node: anfängt ist in nodejs integriert.

                        Ok - wusste ich nicht

                        • aber mein Code ist auch nicht länger. Aber egal - könnt ja meine Lösung wieder löschen.

                        Bloß nix löschen. Auch wenn viele Wege nach Rom führen, ist doch jeder davon schön und der eine bevorzugt den, der andere einen ganz Anderen. Das ist doch das Schöne an iobroker, dass es nicht stumpf nur den einen Weg gibt.
                        Interessant ist, wie jetzt hier drei komplett unterschiedliche Lösungen stehen, die alle zum Ziel führen. Finde ich genial, so direkt beieinander den Vergleich. 😃

                        Gruss, Jürgen

                        F 1 Antwort Letzte Antwort
                        3
                        • W Wildbill

                          @mickym sagte in Textvariablen mit & - wie trennen?:

                          @ticaki sagte in Textvariablen mit & - wie trennen?:

                          @mickym

                          Alles was mit node: anfängt ist in nodejs integriert.

                          Ok - wusste ich nicht

                          • aber mein Code ist auch nicht länger. Aber egal - könnt ja meine Lösung wieder löschen.

                          Bloß nix löschen. Auch wenn viele Wege nach Rom führen, ist doch jeder davon schön und der eine bevorzugt den, der andere einen ganz Anderen. Das ist doch das Schöne an iobroker, dass es nicht stumpf nur den einen Weg gibt.
                          Interessant ist, wie jetzt hier drei komplett unterschiedliche Lösungen stehen, die alle zum Ziel führen. Finde ich genial, so direkt beieinander den Vergleich. 😃

                          Gruss, Jürgen

                          F Offline
                          F Offline
                          fastfoot
                          schrieb am zuletzt editiert von
                          #28

                          @wildbill na eigentlich sind es ja vier Lösungen, wir wollen die Blockly Lösung ja nicht unterschlagen. Aber hast Recht, nur drei sind richtig. Da @ticaki sich beharrlich weigert seine Lösung auch mal zu testen ist ihm trotz meiner Hinweise nicht aufgefallen dass sein Regex schlicht falsch ist. Da werden alle Zeichen unmittelbar vor einem Hochkomma gelöscht, die kein \ sind. aus x"xx wird somit "xx

                          Mein persönlicher Favorit ist die Lösung von @haus-automatisierung , auch wenn das natürlich nur ein inoffizielles Statement ist. Die Funktion kannte ich leider gar nicht. Die jsonata Lösung ist deshalb klasse weil sie zeigt was damit alles möglich ist

                          iobroker läuft unter Docker auf QNAP TS-451+
                          SkriptRecovery: https://forum.iobroker.net/post/930558

                          T 1 Antwort Letzte Antwort
                          0
                          • F fastfoot

                            @wildbill na eigentlich sind es ja vier Lösungen, wir wollen die Blockly Lösung ja nicht unterschlagen. Aber hast Recht, nur drei sind richtig. Da @ticaki sich beharrlich weigert seine Lösung auch mal zu testen ist ihm trotz meiner Hinweise nicht aufgefallen dass sein Regex schlicht falsch ist. Da werden alle Zeichen unmittelbar vor einem Hochkomma gelöscht, die kein \ sind. aus x"xx wird somit "xx

                            Mein persönlicher Favorit ist die Lösung von @haus-automatisierung , auch wenn das natürlich nur ein inoffizielles Statement ist. Die Funktion kannte ich leider gar nicht. Die jsonata Lösung ist deshalb klasse weil sie zeigt was damit alles möglich ist

                            T Nicht stören
                            T Nicht stören
                            ticaki
                            schrieb am zuletzt editiert von ticaki
                            #29

                            @fastfoot
                            Schön dass das Ratespielchen mal ein Ende hat. Du willst also sagen mein Vorschlag ein Zeichen unterschlägt, wo deine Lösung sich einfach aufhängt.
                            Muss dir sagen, dass mich dein bla bla ärgert - thema und du erledigt.

                            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                            Spenden

                            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

                            829

                            Online

                            32.5k

                            Benutzer

                            81.8k

                            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