Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [Erledigt] Anführungszeichen (Gänsefüßchen) in String

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Erledigt] Anführungszeichen (Gänsefüßchen) in String

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      ChristophH last edited by ChristophH

      Hallo zusammen,

      wie kann ich in einen String Anführungszeichen mit einbauen?

      Ich stelle über ein Blockly für einen SendTo-Block Variablen zusammen. Ziel ist der Adapter hm-rpc.1.
      Gesendet werden soll der Befehl putParamset.
      Die notwendige ID wird über eine Variable geliefert, das klappt auch.
      Der paramType ist MASTER und ändert sich nicht, ist dementsprechend fest angegeben.
      Der Parameter-String params ist das, was mir Probleme macht.

      Benötigt wird ein String im Format:
      {"P1_ENDTIME_FRIDAY_1":240,"P1_TEMPERATURE_FRIDAY_1":16,"P1_ENDTIME_MONDAY_1":360,"P1_TEMPERATURE_MONDAY_1":16}

      Wenn ich beim zusammensetzen des Strings versuche, die Anführungszeichen über einen Textblock mit Inhalt " zu bekommen, bekomme ich im Debug-Log folgendes angezeigt:
      {"P1_ENDTIME_FRIDAY_1":240,"P1_TEMPERATURE_FRIDAY_1":16,"P1_ENDTIME_MONDAY_1":360,"P1_TEMPERATURE_MONDAY_1":16}

      Funktioniert nicht, da die Anführungszeichen von Blockly mit \ versehen werden.

      Wenn ich versuche, im Textblock folgendes anzugeben: "
      dann bekomme ich als Ergebnis:
      {\"P1_ENDTIME_FRIDAY_1\":240,\"P1_TEMPERATURE_FRIDAY_1\":16,\"P1_ENDTIME_MONDAY_1\":360,\"P1_TEMPERATURE_MONDAY_1\":16}

      Wie bekomme ich also die Anführungszeichen in einen String in Blockly?

      Vielen Dank schonmal im voraus für eure Zeit und Mühe.

      Edit:
      Ich habe schon versucht, sowohl über die Suche hier als auch über Google eine Lösung zu finden, habe aber nichts gefunden.

      bahnuhr mickym 2 Replies Last reply Reply Quote 0
      • bahnuhr
        bahnuhr Forum Testing Most Active @ChristophH last edited by

        @christophh

        versuche am Anfang und Ende ein '
        und in der Mitte wenn benötigt dann "

        'SELECT id FROM datapoints WHERE name="javascript.0.Sonstige.Summen.ABC"'

        P.S.
        und Füßchen müsste man mit ß schreiben

        1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @ChristophH last edited by mickym

          @christophh sagte in Anführungszeichen (Gänsefüsschen) in String:

          {"P1_ENDTIME_FRIDAY_1":240,"P1_TEMPERATURE_FRIDAY_1":16,"P1_ENDTIME_MONDAY_1":360,"P1_TEMPERATURE_MONDAY_1":16}

          Na ja ich würde Dir empfehlen NodeRed zu nutzen, wenn Du richtig mit Objekten zu arbeiten - Blockly kann das einfach nicht. Erstelle eine Liste/Array mit den Werten, die Du aktualisieren willst. Dann erstellst Du dein Objekt als JSONATA Ausdruck und weist den Eigenschaften des Objektes die Teile des Arrays/der Liste zu, die Du benötigst.

          Wenn Du das dann wieder als String benötigst dann konvertierst Du es zum Schluss wieder in einen String.

          e216d3f1-9cee-422d-beb3-3bc33ae94c41-image.png

          <xml xmlns="https://developers.google.com/blockly/xml">
           <variables>
             <variable id="lku$YIe5iNvg1c$0Ej,z">liste</variable>
             <variable id="MG-6$)sPlW2$V;/9XXiY">object</variable>
           </variables>
           <block type="variables_set" id="4s{u.9KV)x#zmwZf|sVX" x="62" y="38">
             <field name="VAR" id="lku$YIe5iNvg1c$0Ej,z">liste</field>
             <value name="VALUE">
               <block type="lists_create_with" id="lTL)=@Q2]YD=yM9J8qCZ">
                 <mutation items="4"></mutation>
                 <value name="ADD0">
                   <block type="math_number" id="/jw?:jb/}irdtY[v*f%k">
                     <field name="NUM">240</field>
                   </block>
                 </value>
                 <value name="ADD1">
                   <block type="math_number" id="GNf$BrtOAG^zSv77^+{u">
                     <field name="NUM">19</field>
                   </block>
                 </value>
                 <value name="ADD2">
                   <block type="math_number" id="9J4Kt#;-*FJ(/rMtZr16">
                     <field name="NUM">370</field>
                   </block>
                 </value>
                 <value name="ADD3">
                   <block type="math_number" id="*W$I[~m/6:}0DGI(;L$w">
                     <field name="NUM">22</field>
                   </block>
                 </value>
               </block>
             </value>
             <next>
               <block type="debug" id="oBK%FiTk|+1L+m8FWjd7">
                 <field name="Severity">log</field>
                 <value name="TEXT">
                   <shadow type="text" id="]8Er;zxg?rd2qL`S^-w,">
                     <field name="TEXT">test</field>
                   </shadow>
                   <block type="variables_get" id="]9=A;bpa4Yk73NUVBKOG">
                     <field name="VAR" id="lku$YIe5iNvg1c$0Ej,z">liste</field>
                   </block>
                 </value>
                 <next>
                   <block type="variables_set" id="^he*D,d2R9x7[/L[lQ_5">
                     <field name="VAR" id="MG-6$)sPlW2$V;/9XXiY">object</field>
                     <value name="VALUE">
                       <block type="convert_jsonata" id="Y!tHvehK?p35Y3RKOBpd">
                         <value name="EXPRESSION">
                           <shadow type="text" id="I!}?wLoRquERx5=A|wKo">
                             <field name="TEXT">{"P1_ENDTIME_FRIDAY_1":$[0],"P1_TEMPERATURE_FRIDAY_1":$[1],"P1_ENDTIME_MONDAY_1":$[2],"P1_TEMPERATURE_MONDAY_1":$[3]}</field>
                           </shadow>
                         </value>
                         <value name="TARGET">
                           <block type="variables_get" id="~x.L[H?!UdsCXGG#;Pmf">
                             <field name="VAR" id="lku$YIe5iNvg1c$0Ej,z">liste</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <next>
                       <block type="debug" id="Y!eS#^GtWkYb,THn{e:d">
                         <field name="Severity">log</field>
                         <value name="TEXT">
                           <shadow type="text" id="V?o^g0U~oa.)*Av{9DPP">
                             <field name="TEXT">test</field>
                           </shadow>
                           <block type="variables_get" id="}U8w4^$stHd7zJOP3n6]">
                             <field name="VAR" id="MG-6$)sPlW2$V;/9XXiY">object</field>
                           </block>
                         </value>
                         <next>
                           <block type="debug" id="]Fs`E+^=9}Qb0}t2Vo*x">
                             <field name="Severity">log</field>
                             <value name="TEXT">
                               <shadow type="text" id="g|)?ne/LX`*IF1L=wF]1">
                                 <field name="TEXT">test</field>
                               </shadow>
                               <block type="convert_object2json" id="}-uO,Aq6)zVR7fj^7}2}">
                                 <field name="PRETTIFY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="variables_get" id="~HKpPJIS5lorgFC@mVe~">
                                     <field name="VAR" id="MG-6$)sPlW2$V;/9XXiY">object</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
          </xml>
          

          1 Reply Last reply Reply Quote 0
          • C
            ChristophH last edited by ChristophH

            Vielen Dank für eure Hilfe und eure Antworten.

            Inzwischen habe ich herausgefunden wo der Fehler auf meiner Seite lag 🤦
            Der SendTo-Block erwartet bei Sendung an die hm-rpc-Instanzen die zu sendenden Parameter nicht als String sondern als Objekt.
            Ich wandele also den entsprechend erstellten String mit "JSON nach Objekt" in ein Objekt um, übergebe dieses Objekt entsprechend an den SendTo-Block und schon funktioniert es 🤦

            Damit ist das Thema erledigt.

            Edit:
            Mit NodeRed werde ich mich irgendwann auch noch beschäftigen. Da brauche ich aber mehr Zeit, als ich im Moment habe.

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            959
            Online

            31.9k
            Users

            80.3k
            Topics

            1.3m
            Posts

            3
            4
            217
            Loading More Posts
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes
            Reply
            • Reply as topic
            Log in to reply
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            The ioBroker Community 2014-2023
            logo