Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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

Geplant Angeheftet Gesperrt Verschoben Blockly
blocklyjavascript
29 Beiträge 4 Kommentatoren 3.4k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • 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
    schrieb am zuletzt editiert von
    #11

    @paul53 sagte in State per Script löschen:

    Mittels $Selector.

    vielen Dank, mal wieder :+1:

    1 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #16

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

              paul53P 1 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #18

                  @paul53
                  ich probiere nochmal.

                  dslraserD 1 Antwort Letzte Antwort
                  0
                  • dslraserD dslraser

                    @paul53
                    ich probiere nochmal.

                    dslraserD Offline
                    dslraserD Offline
                    dslraser
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                        0
                        • liv-in-skyL Offline
                          liv-in-skyL Offline
                          liv-in-sky
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #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 Antworten Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                        0
                                        Antworten
                                        • In einem neuen Thema antworten
                                        Anmelden zum Antworten
                                        • Älteste zuerst
                                        • Neuste zuerst
                                        • Meiste Stimmen


                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        558

                                        Online

                                        32.4k

                                        Benutzer

                                        81.5k

                                        Themen

                                        1.3m

                                        Beiträge
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                        ioBroker Community 2014-2025
                                        logo
                                        • Anmelden

                                        • Du hast noch kein Konto? Registrieren

                                        • Anmelden oder registrieren, um zu suchen
                                        • Erster Beitrag
                                          Letzter Beitrag
                                        0
                                        • Home
                                        • Aktuell
                                        • Tags
                                        • Ungelesen 0
                                        • Kategorien
                                        • Unreplied
                                        • Beliebt
                                        • GitHub
                                        • Docu
                                        • Hilfe