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.4k

[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.
  • 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
                                  • paul53P paul53

                                    @dslraser sagte:

                                    In javascript.0 funktioniert es nicht

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

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

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

                                    @dslraser sagte:

                                    In javascript.0 funktioniert es nicht

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

                                    Mit 4.6.19 funktioniert bei mir das löschen.

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

                                    1 Reply Last reply
                                    0
                                    • 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);
                                      }
                                      
                                      TG70T Offline
                                      TG70T Offline
                                      TG70
                                      Forum Testing
                                      wrote on last edited by TG70
                                      #29

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

                                      @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);
                                      }
                                      

                                      Wie kann ich ein einzelnen Datenpunkt löschen, welcher mir Aufgrund falscher Schreibweise und einem "." am Schluß nun seit heute angemahnt wird:

                                      javascript.0.scriptEnabled.common.Türe_Tor_Licht_Waschm.

                                      Bei normalem Löschversuch über Skripte oder auch in den Objekten kommt eine Fehlermeldung:

                                      6caa7c38-a82f-4ef9-a302-1ceb0c5d6718-image.png

                                      ∘ MB ASRock J4105M Intel J4105 CPU M-ATX | 16 GB RAM | 480 GB SSD ∘ PROXMOX LCX-Container > IoBroker

                                      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

                                      334

                                      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