Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. einen json String filtern und Bereiche löschen.

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    12
    2
    278

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

einen json String filtern und Bereiche löschen.

einen json String filtern und Bereiche löschen.

Scheduled Pinned Locked Moved Skripten / Logik
17 Posts 6 Posters 838 Views 3 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.
  • S Do not disturb
    S Do not disturb
    stenmic
    wrote on last edited by stenmic
    #1

    Hallo, ich brauch mal Hilfe.
    Finde hierzu leider nichts was mir mit meinen wenigen Kentnissen hilft.

    Ich habe in einem Datenpunkt einen String, den ich FIltern und in einen neuen Datenpunkt schreiben möchte.

    Hier ein beispielhafter Json:

    [
    	{
    		"id": "1",
    		"name": "Name 1",
    		"status": "ok",
    	},
    	{
    		"id": "2",
    		"name": "Name 2",
    		"status": "nok",
    	},
    	{
    		"id": "3",
    		"name": "Name 3",
    		"status": "ok",
    	}
    	....
    ]
    

    Nun möchte ich den "status" prüfen und überall wo "nok" (kann öffters vorkommen) steht, sollen die ganzen Blöcke aus dem String entfernt und dieser neu in einem anderen Datenpunkt gespeichert werden.

    2024-08-03 08 28 00.jpg

    Kann mir da jemand helfen (blockly oder js)

    bahnuhrB paul53P haus-automatisierungH 3 Replies Last reply
    0
    • MartinPM Online
      MartinPM Online
      MartinP
      wrote on last edited by
      #2

      @stenmic https://forum.iobroker.net/topic/57044/json-array-auslesen-blockly-javascript-nodered/4

      Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
      Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.13)
      kernel Linux pve 6.8.12-15-pve
      6 GByte RAM für den Container
      Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
      Remote-Access über Wireguard der Fritzbox

      1 Reply Last reply
      0
      • S stenmic

        Hallo, ich brauch mal Hilfe.
        Finde hierzu leider nichts was mir mit meinen wenigen Kentnissen hilft.

        Ich habe in einem Datenpunkt einen String, den ich FIltern und in einen neuen Datenpunkt schreiben möchte.

        Hier ein beispielhafter Json:

        [
        	{
        		"id": "1",
        		"name": "Name 1",
        		"status": "ok",
        	},
        	{
        		"id": "2",
        		"name": "Name 2",
        		"status": "nok",
        	},
        	{
        		"id": "3",
        		"name": "Name 3",
        		"status": "ok",
        	}
        	....
        ]
        

        Nun möchte ich den "status" prüfen und überall wo "nok" (kann öffters vorkommen) steht, sollen die ganzen Blöcke aus dem String entfernt und dieser neu in einem anderen Datenpunkt gespeichert werden.

        2024-08-03 08 28 00.jpg

        Kann mir da jemand helfen (blockly oder js)

        bahnuhrB Online
        bahnuhrB Online
        bahnuhr
        Forum Testing Most Active
        wrote on last edited by
        #3

        @stenmic

        so:

        var arr = [];
        var DP_alt = '[{"id": "1","name": "Name 1","status": "ok"},{"id": "2","name": "Name 2","status": "nok"},{"id": "3","name": "Name 3","status": "ok"},{"id": "11","name": "Name 1","status": "ok"},{"id": "12","name": "Name 2","status": "nok"},{"id": "13","name": "Name 3","status": "ok"},{"id": "21","name": "Name 1","status": "ok"},{"id": "22","name": "Name 2","status": "nok"},{"id": "23","name": "Name 3","status": "ok"}]'
        var obj = JSON.parse(DP_alt);
        
        for (x=0;x<obj.length;x++) {
            if (obj[x].status == "ok") { arr.push({id: obj[x].id, name: obj[x].name, status: obj[x].status}); }
        }
        setState("javascript.0.test", JSON.stringify(arr));
        
        

        Anmerkung:
        Falls du wirklich hinter "ok" noch ein , hast dann musst du dies löschen.


        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

        S 1 Reply Last reply
        1
        • bahnuhrB bahnuhr

          @stenmic

          so:

          var arr = [];
          var DP_alt = '[{"id": "1","name": "Name 1","status": "ok"},{"id": "2","name": "Name 2","status": "nok"},{"id": "3","name": "Name 3","status": "ok"},{"id": "11","name": "Name 1","status": "ok"},{"id": "12","name": "Name 2","status": "nok"},{"id": "13","name": "Name 3","status": "ok"},{"id": "21","name": "Name 1","status": "ok"},{"id": "22","name": "Name 2","status": "nok"},{"id": "23","name": "Name 3","status": "ok"}]'
          var obj = JSON.parse(DP_alt);
          
          for (x=0;x<obj.length;x++) {
              if (obj[x].status == "ok") { arr.push({id: obj[x].id, name: obj[x].name, status: obj[x].status}); }
          }
          setState("javascript.0.test", JSON.stringify(arr));
          
          

          Anmerkung:
          Falls du wirklich hinter "ok" noch ein , hast dann musst du dies löschen.

          S Do not disturb
          S Do not disturb
          stenmic
          wrote on last edited by
          #4

          @bahnuhr
          perfekt, vielen Dank…
          Das , im Beispiel ist ein natürlich ein Fehler von mir.
          im org. String passt es.

          1 Reply Last reply
          0
          • S stenmic

            Hallo, ich brauch mal Hilfe.
            Finde hierzu leider nichts was mir mit meinen wenigen Kentnissen hilft.

            Ich habe in einem Datenpunkt einen String, den ich FIltern und in einen neuen Datenpunkt schreiben möchte.

            Hier ein beispielhafter Json:

            [
            	{
            		"id": "1",
            		"name": "Name 1",
            		"status": "ok",
            	},
            	{
            		"id": "2",
            		"name": "Name 2",
            		"status": "nok",
            	},
            	{
            		"id": "3",
            		"name": "Name 3",
            		"status": "ok",
            	}
            	....
            ]
            

            Nun möchte ich den "status" prüfen und überall wo "nok" (kann öffters vorkommen) steht, sollen die ganzen Blöcke aus dem String entfernt und dieser neu in einem anderen Datenpunkt gespeichert werden.

            2024-08-03 08 28 00.jpg

            Kann mir da jemand helfen (blockly oder js)

            paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by paul53
            #5

            @stenmic
            Mit Trigger auf den Quell-Datenpunkt:

            // IDs eintragen!
            const idSrc = '';
            const idDst = '';
            
            function filter(json) {
                const arrSrc = JSON.parse(json);
                const arrDst = [];
                for(let i = 0; i < arrSrc.length; i++) {
                    const obj = arrSrc[i];
                    if(obj.status == 'ok') arrDst.push(obj);
                }
                setState(idDst, JSON.stringify(arrDst), true);
            }
            
            filter(getState(idSrc).val); // Skriptstart
            on(idSrc, function(dp) {
                filter(dp.state.val);
            });
            

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            1 Reply Last reply
            -1
            • mickymM Offline
              mickymM Offline
              mickym
              Most Active
              wrote on last edited by
              #6

              Wieder mal ein Beispiel, wie einfach das mit JSONATA ging, aber man sich lieber mit Schleifen und einer Menge Code das Leben schwer macht. man muss es halt nur anders formulieren und sagen, man will alle Objekte haben, die ok sind.

              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.

              S 1 Reply Last reply
              0
              • S stenmic

                Hallo, ich brauch mal Hilfe.
                Finde hierzu leider nichts was mir mit meinen wenigen Kentnissen hilft.

                Ich habe in einem Datenpunkt einen String, den ich FIltern und in einen neuen Datenpunkt schreiben möchte.

                Hier ein beispielhafter Json:

                [
                	{
                		"id": "1",
                		"name": "Name 1",
                		"status": "ok",
                	},
                	{
                		"id": "2",
                		"name": "Name 2",
                		"status": "nok",
                	},
                	{
                		"id": "3",
                		"name": "Name 3",
                		"status": "ok",
                	}
                	....
                ]
                

                Nun möchte ich den "status" prüfen und überall wo "nok" (kann öffters vorkommen) steht, sollen die ganzen Blöcke aus dem String entfernt und dieser neu in einem anderen Datenpunkt gespeichert werden.

                2024-08-03 08 28 00.jpg

                Kann mir da jemand helfen (blockly oder js)

                haus-automatisierungH Offline
                haus-automatisierungH Offline
                haus-automatisierung
                Developer Most Active
                wrote on last edited by haus-automatisierung
                #7

                @stenmic sagte in einen json String filtern und Bereiche löschen.:

                Nun möchte ich den "status" prüfen und überall wo "nok" (kann öffters vorkommen) steht, sollen die ganzen Blöcke aus dem String entfernt und dieser neu in einem anderen Datenpunkt gespeichert werden.

                z.B.

                const list = JSON.parse(getState('0_userdata.0.blabla1').val);
                const listOk = list.filter(r => r.status === 'ok');
                setState('0_userdata.0.blabla2', JSON.stringify(listOk), true);
                

                Das vereinfach das Beispiel von @paul53 etwas:

                // IDs eintragen!
                const idSrc = '';
                const idDst = '';
                 
                function filter(json) {
                    const arrSrc = JSON.parse(json);
                    const arrDst = arrSrc.filter(r => r.status === 'ok');
                    setState(idDst, JSON.stringify(arrDst), true);
                }
                
                filter(getState(idSrc).val);
                on(idSrc, (dp) => filter(dp.state.val));
                

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

                bahnuhrB S 3 Replies Last reply
                1
                • haus-automatisierungH haus-automatisierung

                  @stenmic sagte in einen json String filtern und Bereiche löschen.:

                  Nun möchte ich den "status" prüfen und überall wo "nok" (kann öffters vorkommen) steht, sollen die ganzen Blöcke aus dem String entfernt und dieser neu in einem anderen Datenpunkt gespeichert werden.

                  z.B.

                  const list = JSON.parse(getState('0_userdata.0.blabla1').val);
                  const listOk = list.filter(r => r.status === 'ok');
                  setState('0_userdata.0.blabla2', JSON.stringify(listOk), true);
                  

                  Das vereinfach das Beispiel von @paul53 etwas:

                  // IDs eintragen!
                  const idSrc = '';
                  const idDst = '';
                   
                  function filter(json) {
                      const arrSrc = JSON.parse(json);
                      const arrDst = arrSrc.filter(r => r.status === 'ok');
                      setState(idDst, JSON.stringify(arrDst), true);
                  }
                  
                  filter(getState(idSrc).val);
                  on(idSrc, (dp) => filter(dp.state.val));
                  
                  bahnuhrB Online
                  bahnuhrB Online
                  bahnuhr
                  Forum Testing Most Active
                  wrote on last edited by
                  #8

                  @haus-automatisierung
                  cool,
                  ist das mit dem "filter" irgendwo beschrieben ?


                  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

                  haus-automatisierungH 1 Reply Last reply
                  0
                  • bahnuhrB bahnuhr

                    @haus-automatisierung
                    cool,
                    ist das mit dem "filter" irgendwo beschrieben ?

                    haus-automatisierungH Offline
                    haus-automatisierungH Offline
                    haus-automatisierung
                    Developer Most Active
                    wrote on last edited by
                    #9

                    @bahnuhr sagte in einen json String filtern und Bereiche löschen.:

                    ist das mit dem "filter" irgendwo beschrieben ?

                    Klar, ist ja Standard-JavaScript (in diesem Fall mit einer Arrow-Function):

                    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

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

                    1 Reply Last reply
                    0
                    • haus-automatisierungH haus-automatisierung

                      @stenmic sagte in einen json String filtern und Bereiche löschen.:

                      Nun möchte ich den "status" prüfen und überall wo "nok" (kann öffters vorkommen) steht, sollen die ganzen Blöcke aus dem String entfernt und dieser neu in einem anderen Datenpunkt gespeichert werden.

                      z.B.

                      const list = JSON.parse(getState('0_userdata.0.blabla1').val);
                      const listOk = list.filter(r => r.status === 'ok');
                      setState('0_userdata.0.blabla2', JSON.stringify(listOk), true);
                      

                      Das vereinfach das Beispiel von @paul53 etwas:

                      // IDs eintragen!
                      const idSrc = '';
                      const idDst = '';
                       
                      function filter(json) {
                          const arrSrc = JSON.parse(json);
                          const arrDst = arrSrc.filter(r => r.status === 'ok');
                          setState(idDst, JSON.stringify(arrDst), true);
                      }
                      
                      filter(getState(idSrc).val);
                      on(idSrc, (dp) => filter(dp.state.val));
                      
                      bahnuhrB Online
                      bahnuhrB Online
                      bahnuhr
                      Forum Testing Most Active
                      wrote on last edited by bahnuhr
                      #10

                      @haus-automatisierung
                      Kann in deinem Beispiel on triggern?

                      weil idSrc ist ja ""

                      edit:
                      Frage ist Unsinn, denn es steht ja extra dabei ID eintragen.
                      Hatte ich überlesen.

                      mfg


                      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

                      haus-automatisierungH 1 Reply Last reply
                      0
                      • bahnuhrB bahnuhr

                        @haus-automatisierung
                        Kann in deinem Beispiel on triggern?

                        weil idSrc ist ja ""

                        edit:
                        Frage ist Unsinn, denn es steht ja extra dabei ID eintragen.
                        Hatte ich überlesen.

                        mfg

                        haus-automatisierungH Offline
                        haus-automatisierungH Offline
                        haus-automatisierung
                        Developer Most Active
                        wrote on last edited by
                        #11

                        @bahnuhr Daher wohl der Kommentar darüber. Der TO hat die IDs seiner Darenpunkte nicht genannt

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

                        S 1 Reply Last reply
                        0
                        • haus-automatisierungH haus-automatisierung

                          @bahnuhr Daher wohl der Kommentar darüber. Der TO hat die IDs seiner Darenpunkte nicht genannt

                          S Do not disturb
                          S Do not disturb
                          stenmic
                          wrote on last edited by
                          #12

                          danke für alle Lösungen 👍

                          1 Reply Last reply
                          0
                          • haus-automatisierungH haus-automatisierung

                            @stenmic sagte in einen json String filtern und Bereiche löschen.:

                            Nun möchte ich den "status" prüfen und überall wo "nok" (kann öffters vorkommen) steht, sollen die ganzen Blöcke aus dem String entfernt und dieser neu in einem anderen Datenpunkt gespeichert werden.

                            z.B.

                            const list = JSON.parse(getState('0_userdata.0.blabla1').val);
                            const listOk = list.filter(r => r.status === 'ok');
                            setState('0_userdata.0.blabla2', JSON.stringify(listOk), true);
                            

                            Das vereinfach das Beispiel von @paul53 etwas:

                            // IDs eintragen!
                            const idSrc = '';
                            const idDst = '';
                             
                            function filter(json) {
                                const arrSrc = JSON.parse(json);
                                const arrDst = arrSrc.filter(r => r.status === 'ok');
                                setState(idDst, JSON.stringify(arrDst), true);
                            }
                            
                            filter(getState(idSrc).val);
                            on(idSrc, (dp) => filter(dp.state.val));
                            
                            S Do not disturb
                            S Do not disturb
                            stenmic
                            wrote on last edited by stenmic
                            #13

                            @haus-automatisierung

                            bin gerade unterwegs und kann es noch nicht testen.
                            Ich muss nach nok suchen und diese Blöcke sollen gelöscht werden.
                            Eure Beispiele suchen nach ok und behalten diese.
                            „ok“ kann bei mir leider auch anderes heißen.
                            passt das dann so?

                            
                            const list = JSON.parse(getState('0_userdata.0.blabla1').val);
                            const listOk = list.filter(r => r.status !== 'nok');
                            setState('0_userdata.0.blabla2', JSON.stringify(listOk), true);
                            
                            
                            
                            haus-automatisierungH 1 Reply Last reply
                            0
                            • S stenmic

                              @haus-automatisierung

                              bin gerade unterwegs und kann es noch nicht testen.
                              Ich muss nach nok suchen und diese Blöcke sollen gelöscht werden.
                              Eure Beispiele suchen nach ok und behalten diese.
                              „ok“ kann bei mir leider auch anderes heißen.
                              passt das dann so?

                              
                              const list = JSON.parse(getState('0_userdata.0.blabla1').val);
                              const listOk = list.filter(r => r.status !== 'nok');
                              setState('0_userdata.0.blabla2', JSON.stringify(listOk), true);
                              
                              
                              
                              haus-automatisierungH Offline
                              haus-automatisierungH Offline
                              haus-automatisierung
                              Developer Most Active
                              wrote on last edited by
                              #14

                              @stenmic Ja

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

                              1 Reply Last reply
                              1
                              • mickymM mickym

                                Wieder mal ein Beispiel, wie einfach das mit JSONATA ging, aber man sich lieber mit Schleifen und einer Menge Code das Leben schwer macht. man muss es halt nur anders formulieren und sagen, man will alle Objekte haben, die ok sind.

                                S Do not disturb
                                S Do not disturb
                                stenmic
                                wrote on last edited by
                                #15

                                @mickym sagte in einen json String filtern und Bereiche löschen.:

                                Wieder mal ein Beispiel, wie einfach das mit JSONATA ging, aber man sich lieber mit Schleifen und einer Menge Code das Leben schwer macht. man muss es halt nur anders formulieren und sagen, man will alle Objekte haben, die ok sind.

                                @mickym also ich find jetzt den 3 Zeiler von @haus-automatisierung nicht schlimm.
                                (wenn man die JavaScript-docs im Schlaf aufzählen kann, ist alles voll einfach 😁 )

                                mickymM 1 Reply Last reply
                                0
                                • S stenmic

                                  @mickym sagte in einen json String filtern und Bereiche löschen.:

                                  Wieder mal ein Beispiel, wie einfach das mit JSONATA ging, aber man sich lieber mit Schleifen und einer Menge Code das Leben schwer macht. man muss es halt nur anders formulieren und sagen, man will alle Objekte haben, die ok sind.

                                  @mickym also ich find jetzt den 3 Zeiler von @haus-automatisierung nicht schlimm.
                                  (wenn man die JavaScript-docs im Schlaf aufzählen kann, ist alles voll einfach 😁 )

                                  mickymM Offline
                                  mickymM Offline
                                  mickym
                                  Most Active
                                  wrote on last edited by mickym
                                  #16

                                  @stenmic Na anhand deines Beispiels nur der Vollständigkeit die JSONATA Lösung:

                                  setState('0_userdata.0.Test.JSON_target',JSON.stringify(await jsonataExpression(JSON.parse(getState('0_userdata.0.Test.JSON_source').val),'$[status != "nok"]')), true);
                                  

                                  letztlich reduziert sich die ganze Logik auf diesen Ausdruck:

                                  $[status != "nok"]
                                  

                                  Hier die Blockly-Version
                                  3da59a81-6524-42e5-a206-737606595240-image.png

                                  Ausgewählte Blöcke exportieren
                                  <xml xmlns="https://developers.google.com/blockly/xml">
                                   <block type="update" id="U7XhnINUb5BA~asv%U~}" x="-212" y="-59">
                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                     <field name="OID">0_userdata.0.Test.JSON_target</field>
                                     <field name="WITH_DELAY">FALSE</field>
                                     <value name="VALUE">
                                       <block type="convert_object2json" id="Tj:1;;d?[z*VGJ{GIpjS">
                                         <field name="PRETTIFY">FALSE</field>
                                         <value name="VALUE">
                                           <block type="convert_jsonata" id="HaZqIt}bK{;7W#.?zsDH">
                                             <value name="EXPRESSION">
                                               <shadow type="text" id="B@rj1Ji@!vB*`.70=3NZ">
                                                 <field name="TEXT">$[status != "nok"]</field>
                                               </shadow>
                                             </value>
                                             <value name="TARGET">
                                               <block type="get_value" id="~Bo-)1$QbquS^t1bK~ph">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">0_userdata.0.Test.JSON_source</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                  </xml>
                                  

                                  https://try.jsonata.org/47UBND9kh

                                  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.

                                  S 1 Reply Last reply
                                  0
                                  • mickymM mickym

                                    @stenmic Na anhand deines Beispiels nur der Vollständigkeit die JSONATA Lösung:

                                    setState('0_userdata.0.Test.JSON_target',JSON.stringify(await jsonataExpression(JSON.parse(getState('0_userdata.0.Test.JSON_source').val),'$[status != "nok"]')), true);
                                    

                                    letztlich reduziert sich die ganze Logik auf diesen Ausdruck:

                                    $[status != "nok"]
                                    

                                    Hier die Blockly-Version
                                    3da59a81-6524-42e5-a206-737606595240-image.png

                                    Ausgewählte Blöcke exportieren
                                    <xml xmlns="https://developers.google.com/blockly/xml">
                                     <block type="update" id="U7XhnINUb5BA~asv%U~}" x="-212" y="-59">
                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                       <field name="OID">0_userdata.0.Test.JSON_target</field>
                                       <field name="WITH_DELAY">FALSE</field>
                                       <value name="VALUE">
                                         <block type="convert_object2json" id="Tj:1;;d?[z*VGJ{GIpjS">
                                           <field name="PRETTIFY">FALSE</field>
                                           <value name="VALUE">
                                             <block type="convert_jsonata" id="HaZqIt}bK{;7W#.?zsDH">
                                               <value name="EXPRESSION">
                                                 <shadow type="text" id="B@rj1Ji@!vB*`.70=3NZ">
                                                   <field name="TEXT">$[status != "nok"]</field>
                                                 </shadow>
                                               </value>
                                               <value name="TARGET">
                                                 <block type="get_value" id="~Bo-)1$QbquS^t1bK~ph">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">0_userdata.0.Test.JSON_source</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                     </block>
                                    </xml>
                                    

                                    https://try.jsonata.org/47UBND9kh

                                    S Do not disturb
                                    S Do not disturb
                                    stenmic
                                    wrote on last edited by
                                    #17

                                    @mickym gebe zu... auch geil!

                                    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

                                    219

                                    Online

                                    32.4k

                                    Users

                                    81.3k

                                    Topics

                                    1.3m

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

                                    • Don't have an account? Register

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