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. Blockly
  5. [gelöst]State per Script löschen

NEWS

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

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

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

[gelöst]State per Script löschen

Scheduled Pinned Locked Moved Blockly
blocklyjavascript
29 Posts 4 Posters 3.4k 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.
  • dslraserD dslraser

    @dslraser sagte in State per Script löschen:

    @paul53 sagte in State per Script löschen:

    @dslraser sagte:

    In javascript.0 funktioniert es nicht

    Ja, das kann ich nachvollziehen. Bitte Issue auf Github erstellen.

    Ich hatte es eben schon gemeldet...

    https://github.com/ioBroker/ioBroker.javascript/issues/604

    Ich verstehe nicht wie Du es meinst. (ich habe nur javascript.0 und 0_userdata.0---weitere Instanzen habe ich nicht)
    Die Datenpunkte werden bei mir per Script erstellt. Zum Testen nehme ich immer javascript.0 und "produktive" Sachen nehme ich 0_userdata.0. Jetzt kann man ja per Script den Installationsort zum erstellen der Datenpunkte festlegen.

    Hintergrund, warum ich diese löschen Funktion gerne hätte ist folgender:

    Ich habe ein Blockly, womit mann mehrere DP erstellen kann und dann auch nutzen kann. Über eine Variable, die auf wahr oder falsch gestellt werden kann, möchte ich festlegen was im Blockly benutzt wird. Erstellt, aber unbenutzte Datenpunkte, also bei Variable auf falsch gestellt, sollen diese DP dann wieder gelöscht werden.

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

    @dslraser
    Du kannst die Datenpunkte unter "javascript.0" und "0_userdata.0" so löschen:

    if(existsState(id)) {
        if(id.substring(0, 11) == 'javascript.') deleteState(id.substring(13));
        else deleteState(id);
    }
    

    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

    dslraserD TG70T 2 Replies Last reply
    1
    • paul53P paul53

      @dslraser
      Du kannst die Datenpunkte unter "javascript.0" und "0_userdata.0" so löschen:

      if(existsState(id)) {
          if(id.substring(0, 11) == 'javascript.') deleteState(id.substring(13));
          else deleteState(id);
      }
      
      dslraserD Offline
      dslraserD Offline
      dslraser
      Forum Testing Most Active
      wrote on last edited by
      #9

      @paul53 sagte in State per Script löschen:

      Du kannst die Datenpunkte unter "javascript.0" und "0_userdata.0" so löschen:

      Danke, das funktioniert.

      Wie kann ich mehrere auf einmal löschen, also z.B. alles ab Batterien_zaehlen (einschließlich Batterien_zaehlen)

      Bildschirmfoto 2020-06-11 um 17.08.18.png

      paul53P 1 Reply Last reply
      0
      • dslraserD dslraser

        @paul53 sagte in State per Script löschen:

        Du kannst die Datenpunkte unter "javascript.0" und "0_userdata.0" so löschen:

        Danke, das funktioniert.

        Wie kann ich mehrere auf einmal löschen, also z.B. alles ab Batterien_zaehlen (einschließlich Batterien_zaehlen)

        Bildschirmfoto 2020-06-11 um 17.08.18.png

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

        @dslraser sagte:

        Wie kann ich mehrere auf einmal löschen, also z.B. alles ab Batterien_zaehlen

        Mittels $Selector.

        const ids = $('javascript.0.xxx.Batterien_zaehlen.*'); // xxx ersetzen !
        
        ids.each(function(id, i) {
           if(existsState(id)) deleteState(id.substring(13));
        });
        

        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

        dslraserD 2 Replies Last reply
        1
        • paul53P paul53

          @dslraser sagte:

          Wie kann ich mehrere auf einmal löschen, also z.B. alles ab Batterien_zaehlen

          Mittels $Selector.

          const ids = $('javascript.0.xxx.Batterien_zaehlen.*'); // xxx ersetzen !
          
          ids.each(function(id, i) {
             if(existsState(id)) deleteState(id.substring(13));
          });
          
          dslraserD Offline
          dslraserD Offline
          dslraser
          Forum Testing Most Active
          wrote on last edited by
          #11

          @paul53 sagte in State per Script löschen:

          Mittels $Selector.

          vielen Dank, mal wieder :+1:

          1 Reply Last reply
          0
          • paul53P paul53

            @dslraser sagte:

            Wie kann ich mehrere auf einmal löschen, also z.B. alles ab Batterien_zaehlen

            Mittels $Selector.

            const ids = $('javascript.0.xxx.Batterien_zaehlen.*'); // xxx ersetzen !
            
            ids.each(function(id, i) {
               if(existsState(id)) deleteState(id.substring(13));
            });
            
            dslraserD Offline
            dslraserD Offline
            dslraser
            Forum Testing Most Active
            wrote on last edited by
            #12

            @paul53 sagte in [gelöst]State per Script löschen:

            Mittels $Selector.

            das geht mit substring nur in javascript.x (in 0_userdata.0 funktioniert es bei mir nicht, da kommt dann auch Not found)

            ich mache es aktuell so

            javascript Instanz

            const idsjs = $('javascript.*.Geraete_zaehlen_optional_Ansagen.Geraete_zaehlen.Batterien*'/*Batterien Zaehlen*/);
             
            idsjs.each(function(id, i) {
               if(existsState(id)) deleteState(id.substring(13));
            });
            

            0_userdata.0

            const idsud = $('0_userdata.0.Geraete_zaehlen_optional_Ansagen.Geraete_zaehlen.Batterien*'/*Batterien Zaehlen*/);
             
            idsud.each(function(id, i) {
               if(existsState(id)) deleteState(id);
            });
            

            Oder habe ich was falsch gemacht ?

            paul53P 1 Reply Last reply
            0
            • dslraserD dslraser

              @paul53 sagte in [gelöst]State per Script löschen:

              Mittels $Selector.

              das geht mit substring nur in javascript.x (in 0_userdata.0 funktioniert es bei mir nicht, da kommt dann auch Not found)

              ich mache es aktuell so

              javascript Instanz

              const idsjs = $('javascript.*.Geraete_zaehlen_optional_Ansagen.Geraete_zaehlen.Batterien*'/*Batterien Zaehlen*/);
               
              idsjs.each(function(id, i) {
                 if(existsState(id)) deleteState(id.substring(13));
              });
              

              0_userdata.0

              const idsud = $('0_userdata.0.Geraete_zaehlen_optional_Ansagen.Geraete_zaehlen.Batterien*'/*Batterien Zaehlen*/);
               
              idsud.each(function(id, i) {
                 if(existsState(id)) deleteState(id);
              });
              

              Oder habe ich was falsch gemacht ?

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

              @dslraser sagte:

              Oder habe ich was falsch gemacht ?

              Nein, siehe hier. Wenn Du nur eine .each-Schleife haben möchtest, dann bau die Abfrage mit ein. Oder so:

              const ids = $('javascript.0.*.Batterien_zaehlen.*'); 
               
              ids.each(function(id, i) {
                 if(existsState(id)) {
                    if(id.startsWith('0_userdata.0.')) deleteState(id);
                    else deleteState(id.substring(13));
                 }
              });
              

              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

              dslraserD 2 Replies Last reply
              1
              • paul53P paul53

                @dslraser sagte:

                Oder habe ich was falsch gemacht ?

                Nein, siehe hier. Wenn Du nur eine .each-Schleife haben möchtest, dann bau die Abfrage mit ein. Oder so:

                const ids = $('javascript.0.*.Batterien_zaehlen.*'); 
                 
                ids.each(function(id, i) {
                   if(existsState(id)) {
                      if(id.startsWith('0_userdata.0.')) deleteState(id);
                      else deleteState(id.substring(13));
                   }
                });
                
                dslraserD Offline
                dslraserD Offline
                dslraser
                Forum Testing Most Active
                wrote on last edited by
                #14

                @paul53 sagte in [gelöst]State per Script löschen:

                Nein, siehe hier. Wenn Du nur eine .each-Schleife haben möchtest, dann bau die Abfrage mit ein. Oder so:

                Danke, das funktioniert so, aber mir ist eben erst aufgefallen das dann unter javascript.x auch scriptEnabled gelöscht wird.

                paul53P 1 Reply Last reply
                0
                • dslraserD dslraser

                  @paul53 sagte in [gelöst]State per Script löschen:

                  Nein, siehe hier. Wenn Du nur eine .each-Schleife haben möchtest, dann bau die Abfrage mit ein. Oder so:

                  Danke, das funktioniert so, aber mir ist eben erst aufgefallen das dann unter javascript.x auch scriptEnabled gelöscht wird.

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

                  @dslraser sagte:

                  unter javascript.x auch scriptEnabled gelöscht wird.

                  Wenn "Batterien_zaehlen" auch als Skript-Name verwendet wurde, dann darf man mit dem "*" nicht so großzügig umgehen, sondern muss genauer selektieren.

                  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

                  dslraserD 1 Reply Last reply
                  0
                  • paul53P paul53

                    @dslraser sagte:

                    unter javascript.x auch scriptEnabled gelöscht wird.

                    Wenn "Batterien_zaehlen" auch als Skript-Name verwendet wurde, dann darf man mit dem "*" nicht so großzügig umgehen, sondern muss genauer selektieren.

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

                    @paul53
                    Es werden alle scriptEnabled gelöscht, auch die, die nichts mit dem Namen zu tun haben.

                    paul53P 1 Reply Last reply
                    0
                    • dslraserD dslraser

                      @paul53
                      Es werden alle scriptEnabled gelöscht, auch die, die nichts mit dem Namen zu tun haben.

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

                      @dslraser sagte:

                      auch die, die nichts mit dem Namen zu tun haben.

                      Das wundert mich und kann ich bei mir mit dem $Selector nicht nachvollziehen.
                      Ein Buchstabe != "s" direkt hinter "javascript.0." sollte ausreichen, dies zu verhindern.

                      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

                      dslraserD 1 Reply Last reply
                      0
                      • paul53P paul53

                        @dslraser sagte:

                        auch die, die nichts mit dem Namen zu tun haben.

                        Das wundert mich und kann ich bei mir mit dem $Selector nicht nachvollziehen.
                        Ein Buchstabe != "s" direkt hinter "javascript.0." sollte ausreichen, dies zu verhindern.

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

                        @paul53
                        ich probiere nochmal.

                        dslraserD 1 Reply Last reply
                        0
                        • dslraserD dslraser

                          @paul53
                          ich probiere nochmal.

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

                          @dslraser sagte in [gelöst]State per Script löschen:

                          @paul53
                          ich probiere nochmal.

                          ich jetzt auch nicht mehr, bleibt alles da. Da werde ich dann wohl beim probieren was falsch gehabt haben.

                          1 Reply Last reply
                          0
                          • paul53P paul53

                            @dslraser sagte:

                            Oder habe ich was falsch gemacht ?

                            Nein, siehe hier. Wenn Du nur eine .each-Schleife haben möchtest, dann bau die Abfrage mit ein. Oder so:

                            const ids = $('javascript.0.*.Batterien_zaehlen.*'); 
                             
                            ids.each(function(id, i) {
                               if(existsState(id)) {
                                  if(id.startsWith('0_userdata.0.')) deleteState(id);
                                  else deleteState(id.substring(13));
                               }
                            });
                            
                            dslraserD Offline
                            dslraserD Offline
                            dslraser
                            Forum Testing Most Active
                            wrote on last edited by
                            #20

                            @paul53 sagte in [gelöst]State per Script löschen:

                            @dslraser sagte:

                            Oder habe ich was falsch gemacht ?

                            Nein, siehe hier. Wenn Du nur eine .each-Schleife haben möchtest, dann bau die Abfrage mit ein. Oder so:

                            const ids = $('javascript.0.*.Batterien_zaehlen.*'); 
                             
                            ids.each(function(id, i) {
                               if(existsState(id)) {
                                  if(id.startsWith('0_userdata.0.')) deleteState(id);
                                  else deleteState(id.substring(13));
                               }
                            });
                            

                            Ich habe jetzt eine Weile an einem Blockly was gemacht und als Ort zum erstellen und löschen der Datenpunkte immer javascript.0 benutzt, da funktioniert das löschen.
                            Eben habe ich dann mal die gleichen Datenpunkte in 0_userdata.0 erstellt und wollte diese anschließend mit dieser Schleife löschen, dort wird nicht gelöscht.
                            Nehme ich die zwei Schleifen wie hier funktioniert an beiden Orten das löschen.

                            paul53P 1 Reply Last reply
                            0
                            • dslraserD dslraser

                              @paul53 sagte in [gelöst]State per Script löschen:

                              @dslraser sagte:

                              Oder habe ich was falsch gemacht ?

                              Nein, siehe hier. Wenn Du nur eine .each-Schleife haben möchtest, dann bau die Abfrage mit ein. Oder so:

                              const ids = $('javascript.0.*.Batterien_zaehlen.*'); 
                               
                              ids.each(function(id, i) {
                                 if(existsState(id)) {
                                    if(id.startsWith('0_userdata.0.')) deleteState(id);
                                    else deleteState(id.substring(13));
                                 }
                              });
                              

                              Ich habe jetzt eine Weile an einem Blockly was gemacht und als Ort zum erstellen und löschen der Datenpunkte immer javascript.0 benutzt, da funktioniert das löschen.
                              Eben habe ich dann mal die gleichen Datenpunkte in 0_userdata.0 erstellt und wollte diese anschließend mit dieser Schleife löschen, dort wird nicht gelöscht.
                              Nehme ich die zwei Schleifen wie hier funktioniert an beiden Orten das löschen.

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

                              @dslraser sagte:

                              Datenpunkte in 0_userdata.0 erstellt und wollte diese anschließend mit dieser Schleife löschen, dort wird nicht gelöscht.

                              Habe es gerade getestet und die 3 Datenpunkte unter "0_userdata.0", die ".on_off" in der ID hatten, wurden gelöscht:

                              const ids = $('0_userdata.0.*.on_off*'); 
                               
                              ids.each(function(id, i) {
                                 if(existsState(id)) {
                                    if(id.startsWith('0_userdata.0.')) deleteState(id);
                                    else deleteState(id.substring(13));
                                 }
                              });
                              

                              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
                              0
                              • liv-in-skyL Offline
                                liv-in-skyL Offline
                                liv-in-sky
                                wrote on last edited by
                                #22

                                @paul53

                                verstehe ich das richtig, das man datenpunkte, die nicht in javascript.x oder 0_userdata... niemals mit einem script löschen kann ?

                                warum ich frage:
                                der unifi adapter löscht keine datenpunkte, da er nicht entscheiden kann, ob das ein "falscher" client ist - also z.b ein gast, der nur einmal im netz eingloggt war, und für ewig in den datenpunkten bleibt
                                habe ein tabellen script, welches mir alle clients anzeigt und wollte über dieses script/tabelle, die datenpunkte löschen lassen

                                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

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

                                  @paul53

                                  verstehe ich das richtig, das man datenpunkte, die nicht in javascript.x oder 0_userdata... niemals mit einem script löschen kann ?

                                  warum ich frage:
                                  der unifi adapter löscht keine datenpunkte, da er nicht entscheiden kann, ob das ein "falscher" client ist - also z.b ein gast, der nur einmal im netz eingloggt war, und für ewig in den datenpunkten bleibt
                                  habe ein tabellen script, welches mir alle clients anzeigt und wollte über dieses script/tabelle, die datenpunkte löschen lassen

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

                                  @liv-in-sky sagte:

                                  datenpunkte, die nicht in javascript.x oder 0_userdata... niemals mit einem script löschen kann ?

                                  Doch, mit deleteObject(id).

                                  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

                                  liv-in-skyL 2 Replies Last reply
                                  0
                                  • paul53P paul53

                                    @liv-in-sky sagte:

                                    datenpunkte, die nicht in javascript.x oder 0_userdata... niemals mit einem script löschen kann ?

                                    Doch, mit deleteObject(id).

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

                                    @paul53

                                    danke dir - funktioniert aber im editor wird das als fehler (cannot find name) angezeigt

                                    Image 5.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

                                    1 Reply Last reply
                                    0
                                    • paul53P paul53

                                      @liv-in-sky sagte:

                                      datenpunkte, die nicht in javascript.x oder 0_userdata... niemals mit einem script löschen kann ?

                                      Doch, mit deleteObject(id).

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

                                      @paul53

                                      könntest du mir nochmal helfen - das funktioniert doch nicht richtig

                                      wie genau muss der befehl heißen, damit ich diese struktur wegbekomme (unifi.0.default.clients.b8:27:eb:57:0a:a7)

                                      Image 6.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

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

                                        @paul53

                                        könntest du mir nochmal helfen - das funktioniert doch nicht richtig

                                        wie genau muss der befehl heißen, damit ich diese struktur wegbekomme (unifi.0.default.clients.b8:27:eb:57:0a:a7)

                                        Image 6.png

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

                                        @liv-in-sky sagte:

                                        wie genau muss der befehl heißen, damit ich diese struktur wegbekomme

                                        Laut Doku

                                        deleteObject('unifi.0.default.clients.b8:27:eb:57:0a:a7', true);
                                        

                                        Selbst habe ich es noch nicht getestet.

                                        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

                                        liv-in-skyL 1 Reply Last reply
                                        1
                                        • paul53P paul53

                                          @liv-in-sky sagte:

                                          wie genau muss der befehl heißen, damit ich diese struktur wegbekomme

                                          Laut Doku

                                          deleteObject('unifi.0.default.clients.b8:27:eb:57:0a:a7', true);
                                          

                                          Selbst habe ich es noch nicht getestet.

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

                                          @paul53 oh - das isrecursive=true hat gefehlt

                                          das schaut jetzt schon besser aus

                                          danke

                                          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

                                          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

                                          828

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          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