Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst]State per Script löschen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst]State per Script löschen

    This topic has been deleted. Only users with topic management privileges can see it.
    • dslraser
      dslraser Forum Testing Most Active @paul53 last edited by

      @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.

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @dslraser last edited by paul53

        @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));
           }
        });
        
        1 Reply Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky last edited by

          @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

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @liv-in-sky last edited by

            @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-sky 2 Replies Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @paul53 last edited by

              @paul53

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

              Image 5.png

              1 Reply Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky @paul53 last edited by

                @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

                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @liv-in-sky last edited by

                  @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-sky 1 Reply Last reply Reply Quote 1
                  • liv-in-sky
                    liv-in-sky @paul53 last edited by

                    @paul53 oh - das isrecursive=true hat gefehlt

                    das schaut jetzt schon besser aus

                    danke

                    1 Reply Last reply Reply Quote 0
                    • dslraser
                      dslraser Forum Testing Most Active @paul53 last edited by dslraser

                      @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

                      dslraser created this issue in ioBroker/ioBroker.javascript

                      closed deleteState per Script unter javascript.0 funktioniert nicht #604

                      1 Reply Last reply Reply Quote 0
                      • TG70
                        TG70 Forum Testing @paul53 last edited by TG70

                        @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

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        474
                        Online

                        32.0k
                        Users

                        80.4k
                        Topics

                        1.3m
                        Posts

                        blockly javascript
                        4
                        29
                        2619
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo