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. JavaScript
  5. Neue und gelöschte States in Script erst nach Neustart?

NEWS

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

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

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

Neue und gelöschte States in Script erst nach Neustart?

Geplant Angeheftet Gesperrt Verschoben JavaScript
20 Beiträge 4 Kommentatoren 1.2k 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

    @paul53 sagte:

    Allerdings glaube ich, dass der $Selector auch auf den Puffer zurück greift.

    Habe es mal mit Erzeugen eines DP per Admin, dem $Selector und Löschen per Script getestet: Ohne Instanz-Neustart hat der $Selector den neuen DP gefunden und nach dem Löschen nicht mehr.

    AlCalzoneA Offline
    AlCalzoneA Offline
    AlCalzone
    Developer
    schrieb am zuletzt editiert von
    #11

    @paul53 sagte in Neue und gelöschte States in Script erst nach Neustart?:

    Habe es mal mit Erzeugen eines DP per Admin

    Es könnte mit der Struktur device.channel.state zusammen hängen. Ich konnte das vor einer halben Ewigkeit wie folgt reproduzieren:
    https://github.com/ioBroker/ioBroker.javascript/issues/109

    Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

    paul53P 1 Antwort Letzte Antwort
    0
    • AlCalzoneA AlCalzone

      @paul53 sagte in Neue und gelöschte States in Script erst nach Neustart?:

      Habe es mal mit Erzeugen eines DP per Admin

      Es könnte mit der Struktur device.channel.state zusammen hängen. Ich konnte das vor einer halben Ewigkeit wie folgt reproduzieren:
      https://github.com/ioBroker/ioBroker.javascript/issues/109

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #12

      @AlCalzone sagte:

      Es könnte mit der Struktur device.channel.state zusammen hängen.

      Gerade getestet: "ESP_Easy_1" ist device, "GARTEN_Stromsensor" ist channel, "Power" ist gerade per Admin erzeugter Datenpunkt.

      Selector_test.JPG

      Das synchrone existsState(id) zeigt übrigens, dass der Puffer der JS-Instanz aktualisiert wurde, sonst wäre nicht gelöscht worden.

      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

      W 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @AlCalzone sagte:

        Es könnte mit der Struktur device.channel.state zusammen hängen.

        Gerade getestet: "ESP_Easy_1" ist device, "GARTEN_Stromsensor" ist channel, "Power" ist gerade per Admin erzeugter Datenpunkt.

        Selector_test.JPG

        Das synchrone existsState(id) zeigt übrigens, dass der Puffer der JS-Instanz aktualisiert wurde, sonst wäre nicht gelöscht worden.

        W Offline
        W Offline
        Waly_de
        schrieb am zuletzt editiert von Waly_de
        #13

        @paul53
        Bei per Admin angelegten Datenpunkten hatte ich die Probleme auch nicht.

        hier was zum rekonstruieren:

        zunächst ein paar states Anlegen:

        createState("Personen.Test.sub.sub1",false,false,{role: 'state', type: 'boolean'});
        createState("Personen.Test.sub.sub2",false,false,{role: 'state', type: 'boolean'});
        createState("Personen.Test.sub3","Testwert",false);
        

        dann durchlaufen und löschen:

        
        $('channel[state.id=javascript.0.Personen.Test.*]').each(function (id, i) {
                    log(i + " - " + id + " existsObject: " + existsObject(id))
                    deleteObject(id,true);
        });
        
        

        Ester Aufruf der schleife:

        16:33:26.060	info	javascript.0 (22097) Start javascript script.js.common.StateDeleteTest
        16:33:27.316	info	javascript.0 (22097) script.js.common.StateDeleteTest: 0 - javascript.0.Personen.Test.sub.sub1 existsObject: true
        16:33:27.319	info	javascript.0 (22097) script.js.common.StateDeleteTest: 1 - javascript.0.Personen.Test.sub.sub2 existsObject: true
        16:33:27.320	info	javascript.0 (22097) script.js.common.StateDeleteTest: 2 - javascript.0.Personen.Test.sub3 existsObject: true
        

        zweiter bis x-ter Aufruf der Schleife:

        16:33:48.202	info	javascript.0 (22097) Start javascript script.js.common.StateDeleteTest
        16:33:49.081	info	javascript.0 (22097) script.js.common.StateDeleteTest: 0 - javascript.0.Personen.Test.sub.sub1 existsObject: false
        16:33:49.083	info	javascript.0 (22097) script.js.common.StateDeleteTest: 1 - javascript.0.Personen.Test.sub.sub2 existsObject: false
        16:33:49.084	info	javascript.0 (22097) script.js.common.StateDeleteTest: 2 - javascript.0.Personen.Test.sub3 existsObject: false
        

        nach Neustart von Javascript:

        6:36:15.855	info	javascript.0 (26064) Start javascript script.js.common.StateDeleteTest
        

        Bei Euch auch so?

        AlCalzoneA paul53P 2 Antworten Letzte Antwort
        0
        • W Waly_de

          @paul53
          Bei per Admin angelegten Datenpunkten hatte ich die Probleme auch nicht.

          hier was zum rekonstruieren:

          zunächst ein paar states Anlegen:

          createState("Personen.Test.sub.sub1",false,false,{role: 'state', type: 'boolean'});
          createState("Personen.Test.sub.sub2",false,false,{role: 'state', type: 'boolean'});
          createState("Personen.Test.sub3","Testwert",false);
          

          dann durchlaufen und löschen:

          
          $('channel[state.id=javascript.0.Personen.Test.*]').each(function (id, i) {
                      log(i + " - " + id + " existsObject: " + existsObject(id))
                      deleteObject(id,true);
          });
          
          

          Ester Aufruf der schleife:

          16:33:26.060	info	javascript.0 (22097) Start javascript script.js.common.StateDeleteTest
          16:33:27.316	info	javascript.0 (22097) script.js.common.StateDeleteTest: 0 - javascript.0.Personen.Test.sub.sub1 existsObject: true
          16:33:27.319	info	javascript.0 (22097) script.js.common.StateDeleteTest: 1 - javascript.0.Personen.Test.sub.sub2 existsObject: true
          16:33:27.320	info	javascript.0 (22097) script.js.common.StateDeleteTest: 2 - javascript.0.Personen.Test.sub3 existsObject: true
          

          zweiter bis x-ter Aufruf der Schleife:

          16:33:48.202	info	javascript.0 (22097) Start javascript script.js.common.StateDeleteTest
          16:33:49.081	info	javascript.0 (22097) script.js.common.StateDeleteTest: 0 - javascript.0.Personen.Test.sub.sub1 existsObject: false
          16:33:49.083	info	javascript.0 (22097) script.js.common.StateDeleteTest: 1 - javascript.0.Personen.Test.sub.sub2 existsObject: false
          16:33:49.084	info	javascript.0 (22097) script.js.common.StateDeleteTest: 2 - javascript.0.Personen.Test.sub3 existsObject: false
          

          nach Neustart von Javascript:

          6:36:15.855	info	javascript.0 (26064) Start javascript script.js.common.StateDeleteTest
          

          Bei Euch auch so?

          AlCalzoneA Offline
          AlCalzoneA Offline
          AlCalzone
          Developer
          schrieb am zuletzt editiert von
          #14

          @Waly_de sagte in Neue und gelöschte States in Script erst nach Neustart?:

          createState("Personen.Test.sub.sub1"

          Hast du die Objekte für die "Zwischenstufen" auch angelegt? Personen, Personen.Test, Personen.Test.sub?

          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

          W 1 Antwort Letzte Antwort
          0
          • AlCalzoneA AlCalzone

            @Waly_de sagte in Neue und gelöschte States in Script erst nach Neustart?:

            createState("Personen.Test.sub.sub1"

            Hast du die Objekte für die "Zwischenstufen" auch angelegt? Personen, Personen.Test, Personen.Test.sub?

            W Offline
            W Offline
            Waly_de
            schrieb am zuletzt editiert von
            #15

            @AlCalzone nein... sind automatisch da..

            AlCalzoneA 1 Antwort Letzte Antwort
            0
            • W Waly_de

              @AlCalzone nein... sind automatisch da..

              AlCalzoneA Offline
              AlCalzoneA Offline
              AlCalzone
              Developer
              schrieb am zuletzt editiert von
              #16

              @Waly_de Nur als Ordner sichtbar oder auch mit einem Objekt (device, channel) versehen?

              Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

              W 1 Antwort Letzte Antwort
              0
              • AlCalzoneA AlCalzone

                @Waly_de Nur als Ordner sichtbar oder auch mit einem Objekt (device, channel) versehen?

                W Offline
                W Offline
                Waly_de
                schrieb am zuletzt editiert von
                #17

                @AlCalzone Nur als Ordner....

                AlCalzoneA 1 Antwort Letzte Antwort
                0
                • W Waly_de

                  @AlCalzone Nur als Ordner....

                  AlCalzoneA Offline
                  AlCalzoneA Offline
                  AlCalzone
                  Developer
                  schrieb am zuletzt editiert von
                  #18

                  @Waly_de Du selektierst aber channel. Wir hatten grade vorhin erst unter den Devs die Diskussion, dass der JS-Adapter von der "klassischen" Struktur device.channel.state ausgeht und sich sonst extrem komisch verhält.
                  Daher gehts in @paul53 seinem Beispiel, er befolgt die Struktur.

                  Bei dir nicht. Probier mal, Personen als device-Objekt und Personen.Test als channel-Objekt anzulegen, und ob es dann auf der Ebene von Personen.Test.sub mit dem Löschen und selektieren geht.

                  Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                  1 Antwort Letzte Antwort
                  0
                  • W Waly_de

                    @paul53
                    Bei per Admin angelegten Datenpunkten hatte ich die Probleme auch nicht.

                    hier was zum rekonstruieren:

                    zunächst ein paar states Anlegen:

                    createState("Personen.Test.sub.sub1",false,false,{role: 'state', type: 'boolean'});
                    createState("Personen.Test.sub.sub2",false,false,{role: 'state', type: 'boolean'});
                    createState("Personen.Test.sub3","Testwert",false);
                    

                    dann durchlaufen und löschen:

                    
                    $('channel[state.id=javascript.0.Personen.Test.*]').each(function (id, i) {
                                log(i + " - " + id + " existsObject: " + existsObject(id))
                                deleteObject(id,true);
                    });
                    
                    

                    Ester Aufruf der schleife:

                    16:33:26.060	info	javascript.0 (22097) Start javascript script.js.common.StateDeleteTest
                    16:33:27.316	info	javascript.0 (22097) script.js.common.StateDeleteTest: 0 - javascript.0.Personen.Test.sub.sub1 existsObject: true
                    16:33:27.319	info	javascript.0 (22097) script.js.common.StateDeleteTest: 1 - javascript.0.Personen.Test.sub.sub2 existsObject: true
                    16:33:27.320	info	javascript.0 (22097) script.js.common.StateDeleteTest: 2 - javascript.0.Personen.Test.sub3 existsObject: true
                    

                    zweiter bis x-ter Aufruf der Schleife:

                    16:33:48.202	info	javascript.0 (22097) Start javascript script.js.common.StateDeleteTest
                    16:33:49.081	info	javascript.0 (22097) script.js.common.StateDeleteTest: 0 - javascript.0.Personen.Test.sub.sub1 existsObject: false
                    16:33:49.083	info	javascript.0 (22097) script.js.common.StateDeleteTest: 1 - javascript.0.Personen.Test.sub.sub2 existsObject: false
                    16:33:49.084	info	javascript.0 (22097) script.js.common.StateDeleteTest: 2 - javascript.0.Personen.Test.sub3 existsObject: false
                    

                    nach Neustart von Javascript:

                    6:36:15.855	info	javascript.0 (26064) Start javascript script.js.common.StateDeleteTest
                    

                    Bei Euch auch so?

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #19

                    @Waly_de sagte:

                    Bei Euch auch so?

                    Ja, da falscher Selektor. So funktioniert es wie erwartet:

                    Selector_test.JPG

                    Seltsamerweise gibt der falsche Selektor nicht vorhandene Datenpunkte aus. Da wurde wohl eine Initialisierung vergessen ?

                    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

                    W 1 Antwort Letzte Antwort
                    1
                    • paul53P paul53

                      @Waly_de sagte:

                      Bei Euch auch so?

                      Ja, da falscher Selektor. So funktioniert es wie erwartet:

                      Selector_test.JPG

                      Seltsamerweise gibt der falsche Selektor nicht vorhandene Datenpunkte aus. Da wurde wohl eine Initialisierung vergessen ?

                      W Offline
                      W Offline
                      Waly_de
                      schrieb am zuletzt editiert von
                      #20

                      @paul53
                      Klasse, das ist die Lösung für mich! Wusste garnicht das es auch so geht.

                      Danke Euch!

                      LG Markus

                      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

                      785

                      Online

                      32.4k

                      Benutzer

                      81.6k

                      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