Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. JSON Replace

    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

    JSON Replace

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @BMP last edited by mickym

      @bmp Leider verstehe ich gerade nicht, warum es bei Blockly und JS nicht tut - im JSONATA Editor aber schon. Ich versuche es noch mal mit einer anderen Funktion

      B 1 Reply Last reply Reply Quote 0
      • B
        BMP @mickym last edited by

        @mickym wollte dich gerade fragen, ob ich einfach zu blöd bin 🙂

        0e5d6bc0-7199-481c-b2fe-dd18b4001380-grafik.png

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

          @bmp Nein Du siehst ja dass es im JSONATA funktioniert - keine Ahnung warum es im Blockly nicht tut. OK - mit JSONATA gehts hier nicht - dabei wäre das so einfach - aber dann muss Dir wohl ein Mensch helfen.

          Ich habe es auch mit der Replace Funktion versucht - aber das tut auch nicht.

          https://try.jsonata.org/gY4gbHiOO

          $~>|$|{'startsAt': $replace(startsAt,/.*T(\d\d:\d\d).*/,"$1") & " Uhr"}|
          

          Sorry dann musst Du es wohl herkömmlich machen oder NodeRed nutzen. 😉

          Aber vielleicht hilft Dir ja noch jemand, der das besser als ich kann.

          B T 2 Replies Last reply Reply Quote 1
          • B
            BMP @mickym last edited by

            Aber vielleicht hilft Dir ja noch jemand, der das besser als ich kann.

            Ich danke dir auf jeden Fall für deine Unterstützung.
            Habe zumindest schon mal wieder eine neue Funktion gelernt und neue Ansätze gefunden.

            1 Reply Last reply Reply Quote 0
            • T
              ticaki Developer @mickym last edited by ticaki

              @mickym sagte in JSON Replace:

              @bmp Nein Du siehst ja dass es im JSONATA funktioniert - keine Ahnung warum es im Blockly nicht tut

              Im Datenpunkt stehen IMMER Strings, da funktioniert Jsonata nicht. 🙂

              Bildschirmfoto 2023-11-22 um 19.36.54.png

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

                @mickym Ich habe den String ins Objekt gewandelt - hilft alles nichts - das tut nicht -warum auch immer. Mein JSONATA funktioniert jedenfalls - sieht man ja an den Links.

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

                  @mickym sagte in JSON Replace:

                  $~>|$|{'startsAt': $replace(startsAt,/.T(\d\d:\d\d)./,"$1") & " Uhr"}|

                  @BMP

                  Jetzt scheint es zu gehen - keine Ahnung warum:

                  1111facb-2c96-4877-8444-917f40dde893-image.png

                  Hier zum Import:

                  <xml xmlns="https://developers.google.com/blockly/xml">
                   <variables>
                     <variable id="lku$YIe5iNvg1c$0Ej,z">input</variable>
                   </variables>
                   <block type="variables_set" id="a:yUMjA;SVYpmzbjT2UH" x="62" y="38">
                     <field name="VAR" id="lku$YIe5iNvg1c$0Ej,z">input</field>
                     <value name="VALUE">
                       <block type="convert_json2object" id="4sG;:eC487S.@+;,|_3r">
                         <value name="VALUE">
                           <block type="text" id="Zld5[!#Qb48.OxSetn^@">
                             <field name="TEXT">[{"total":0.3018,"energy":0.098,"tax":0.2038,"startsAt":"2023-11-22T00:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.2982,"energy":0.095,"tax":0.2032,"startsAt":"2023-11-22T01:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.2982,"energy":0.095,"tax":0.2032,"startsAt":"2023-11-22T02:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.2946,"energy":0.092,"tax":0.2026,"startsAt":"2023-11-22T03:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.2952,"energy":0.0925,"tax":0.2027,"startsAt":"2023-11-22T04:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.298,"energy":0.0949,"tax":0.2031,"startsAt":"2023-11-22T05:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3281,"energy":0.1202,"tax":0.2079,"startsAt":"2023-11-22T06:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3526,"energy":0.1407,"tax":0.2119,"startsAt":"2023-11-22T07:00:00.000+01:00","currency":"EUR","level":"EXPENSIVE"},{"total":0.3656,"energy":0.1516,"tax":0.214,"startsAt":"2023-11-22T08:00:00.000+01:00","currency":"EUR","level":"EXPENSIVE"},{"total":0.3414,"energy":0.1313,"tax":0.2101,"startsAt":"2023-11-22T09:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.322,"energy":0.115,"tax":0.207,"startsAt":"2023-11-22T10:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3085,"energy":0.1036,"tax":0.2049,"startsAt":"2023-11-22T11:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.299,"energy":0.0957,"tax":0.2033,"startsAt":"2023-11-22T12:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.307,"energy":0.1024,"tax":0.2046,"startsAt":"2023-11-22T13:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3232,"energy":0.116,"tax":0.2072,"startsAt":"2023-11-22T14:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3277,"energy":0.1198,"tax":0.2079,"startsAt":"2023-11-22T15:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3363,"energy":0.127,"tax":0.2093,"startsAt":"2023-11-22T16:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3433,"energy":0.1329,"tax":0.2104,"startsAt":"2023-11-22T17:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3397,"energy":0.1299,"tax":0.2098,"startsAt":"2023-11-22T18:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3265,"energy":0.1188,"tax":0.2077,"startsAt":"2023-11-22T19:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.3106,"energy":0.1054,"tax":0.2052,"startsAt":"2023-11-22T20:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.2918,"energy":0.0897,"tax":0.2021,"startsAt":"2023-11-22T21:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.2925,"energy":0.0902,"tax":0.2023,"startsAt":"2023-11-22T22:00:00.000+01:00","currency":"EUR","level":"NORMAL"},{"total":0.2741,"energy":0.0748,"tax":0.1993,"startsAt":"2023-11-22T23:00:00.000+01:00","currency":"EUR","level":"CHEAP"}]</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">input</field>
                           </block>
                         </value>
                         <next>
                           <block type="debug" id="Z|^MIqi%,hIZomIBd82i">
                             <field name="Severity">log</field>
                             <value name="TEXT">
                               <shadow type="text" id="!)(MH(n]Dbcg{-QnHP#!">
                                 <field name="TEXT">test</field>
                               </shadow>
                               <block type="convert_jsonata" id="OCPPy_qwDT^7)iKbCX`6">
                                 <value name="EXPRESSION">
                                   <shadow type="text" id="Dx7JBG-CyA5G|qNr}S/!">
                                     <field name="TEXT">$~&gt;|$|{'startsAt': $replace(startsAt,/.*T(\d\d:\d\d).*/,"$1") &amp; " Uhr"}|</field>
                                   </shadow>
                                 </value>
                                 <value name="TARGET">
                                   <block type="variables_get" id="N0h9PPzMtb?oPHrVua}}">
                                     <field name="VAR" id="lku$YIe5iNvg1c$0Ej,z">input</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                  </xml>
                  

                  Der Unterschied war wohl dass ich beim ersten Mal einen Text in die debug Ausgabe genommen haben und dann wurde das Objekt wohl wieder in Text umgewandelt. Die Puzzleteilchen sind leider nicht immer berechenbar - aber es scheint zu funktionieren, wenn es eine Objekt ist.

                  B 1 Reply Last reply Reply Quote 1
                  • B
                    BMP @mickym last edited by

                    Danke euch beiden für die Hilfe.
                    Teste ich heute abend. Gestern hatte ich es mit RegEx in Node-Red gelöst, was auch geklappt hat.

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

                      @bmp na da hättest du ja auch direkt die JSONATA Lösung nehmen können, wenn du anstelle der Puzzleteilchen die mächtigen Knoten verwendest.

                      cbf9b170-bdec-42d7-a159-eff82ca8e64e-image.png

                      [
                         {
                             "id": "9895941230ddcad6",
                             "type": "ioBroker in",
                             "z": "83a67ac0fc354489",
                             "name": "",
                             "topic": "0_userdata.0.Test.JSON",
                             "payloadType": "value",
                             "onlyack": "command",
                             "func": "all",
                             "gap": "",
                             "fireOnStart": "false",
                             "outFormat": "MQTT",
                             "x": 350,
                             "y": 980,
                             "wires": [
                                 [
                                     "47b0fe3ab658bb64"
                                 ]
                             ]
                         },
                         {
                             "id": "c2c03a2987a18332",
                             "type": "ioBroker out",
                             "z": "83a67ac0fc354489",
                             "name": "",
                             "topic": "0_userdata.0.Test.JSON",
                             "ack": "true",
                             "autoCreate": "false",
                             "stateName": "",
                             "role": "",
                             "payloadType": "",
                             "readonly": "",
                             "stateUnit": "",
                             "stateMin": "",
                             "stateMax": "",
                             "x": 1110,
                             "y": 1040,
                             "wires": []
                         },
                         {
                             "id": "47b0fe3ab658bb64",
                             "type": "json",
                             "z": "83a67ac0fc354489",
                             "name": "",
                             "property": "payload",
                             "action": "",
                             "pretty": false,
                             "x": 550,
                             "y": 980,
                             "wires": [
                                 [
                                     "878f714edc01978d"
                                 ]
                             ]
                         },
                         {
                             "id": "8c98f07d4f1052ea",
                             "type": "json",
                             "z": "83a67ac0fc354489",
                             "name": "",
                             "property": "payload",
                             "action": "",
                             "pretty": false,
                             "x": 910,
                             "y": 980,
                             "wires": [
                                 [
                                     "c2c03a2987a18332"
                                 ]
                             ]
                         },
                         {
                             "id": "878f714edc01978d",
                             "type": "change",
                             "z": "83a67ac0fc354489",
                             "name": "",
                             "rules": [
                                 {
                                     "t": "set",
                                     "p": "payload",
                                     "pt": "msg",
                                     "to": "payload~>|$|{\t   'startsAt':  $not($contains(startsAt,\"Uhr\")) ? $replace(startsAt,/.*T(\\d\\d:\\d\\d).*/,\"$1\") &   \" Uhr\"\t}|",
                                     "tot": "jsonata"
                                 }
                             ],
                             "action": "",
                             "property": "",
                             "from": "",
                             "to": "",
                             "reg": false,
                             "x": 730,
                             "y": 980,
                             "wires": [
                                 [
                                     "8c98f07d4f1052ea"
                                 ]
                             ]
                         }
                      ]
                      

                      B 1 Reply Last reply Reply Quote 0
                      • B
                        BMP @mickym last edited by

                        @mickym Es hat geklappt mit deiner Lösung im Blocky 😉
                        Vielen lieben dank für deine Hilfe.

                        So brauche ich Node-Red nicht mitlaufen lassen.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        676
                        Online

                        31.7k
                        Users

                        79.9k
                        Topics

                        1.3m
                        Posts

                        3
                        13
                        411
                        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