Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Datenpunkte in Ordner verschieben?

NEWS

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

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

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

Datenpunkte in Ordner verschieben?

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
datenpinkte
12 Beiträge 5 Kommentatoren 4.1k Aufrufe 9 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

    @saeft_2003 sagte:

    Datenpunkte in Unterordner verschieben kann?

    Verschieben geht nicht, da der Ordnername Bestandteil der Objekt-ID ist. Man kann einen Datenpunkt in einen neuen DP kopieren und anschließend den alten DP löschen.

    S Offline
    S Offline
    saeft_2003
    Most Active
    schrieb am zuletzt editiert von
    #3

    @paul53

    Ok Danke, kannst du mir vielleicht kurz beschreiben wie ich diesen richtig kopiere?

    paul53P 1 Antwort Letzte Antwort
    0
    • S saeft_2003

      @paul53

      Ok Danke, kannst du mir vielleicht kurz beschreiben wie ich diesen richtig kopiere?

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

      @saeft_2003 sagte:

      wie ich diesen richtig kopiere?

      Funktioniert es nicht durch Manipulation der ID ?
      Man kann es sicherlich mittels Script machen (aber nicht mehr heute).

      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

      S 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @saeft_2003 sagte:

        wie ich diesen richtig kopiere?

        Funktioniert es nicht durch Manipulation der ID ?
        Man kann es sicherlich mittels Script machen (aber nicht mehr heute).

        S Offline
        S Offline
        saeft_2003
        Most Active
        schrieb am zuletzt editiert von
        #5

        @paul53

        das habe ich schon probiert gehabt, ich wusste aber nicht ob es eine saubere Lösung ist. Ich hatte unter RAW die ID angepasst, dann wird der Datenpunkt dorthin kopiert. Wann würdest du zu einem Skript kommen?

        raw.jpg

        paul53P 1 Antwort Letzte Antwort
        0
        • S saeft_2003

          @paul53

          das habe ich schon probiert gehabt, ich wusste aber nicht ob es eine saubere Lösung ist. Ich hatte unter RAW die ID angepasst, dann wird der Datenpunkt dorthin kopiert. Wann würdest du zu einem Skript kommen?

          raw.jpg

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

          @saeft_2003 sagte:

          Wann würdest du zu einem Skript kommen?

          Jetzt.

          // Kopieren von Datenpunkten nach 0_userdata.0
          // Pfade anpassen !
          const pathSrc = 'meineDP.0.'; // abschließenden Punkt angeben
          const pathDst = '0_userdata.0.';
          
          const idsSrc = $(pathSrc + '*');
          
          idsSrc.each(function(id, i) { // Schleife über alle Datenpunkte im Pfad
              let idDst = pathDst + id.substring(pathSrc.length);
              if(existsObject(idDst)) log('Datenpunkt ' + idDst + ' existiert bereits !', 'warn');
              else {
                  let obj = getObject(id);
                  setObject(idDst, obj, function (err) {
                      if (err) log('Cannot write object: ' + err)
                      else {
                          let init = null;
                          if(existsState(id)) init = getState(id).val;
                          else {
                              let common = obj.common;
                              if(common.def === undefined) {
                                  if(common.type === 'number') init = 0;
                                  if(common.type === 'boolean') init = false;
                                  if(common.type === 'string') init = '';
                                  if(common.type === 'array') init = [];
                              } else init = common.def;
                          }
                          setStateDelayed(idDst, init, true, 20 * i + 50);
                      }
                  });
              }
          });
          

          Falls ioBroker.linkeddevices verwendet wird: Vorher die Instanz deaktivieren !

          Vor dem manuellen Löschen der alten Datenpunkte (Ordner) sollten alle Scripte angepasst werden, da man sonst viele Warnungen und Fehlermeldungen riskiert.

          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

          S keksnK 2 Antworten Letzte Antwort
          3
          • paul53P paul53

            @saeft_2003 sagte:

            Wann würdest du zu einem Skript kommen?

            Jetzt.

            // Kopieren von Datenpunkten nach 0_userdata.0
            // Pfade anpassen !
            const pathSrc = 'meineDP.0.'; // abschließenden Punkt angeben
            const pathDst = '0_userdata.0.';
            
            const idsSrc = $(pathSrc + '*');
            
            idsSrc.each(function(id, i) { // Schleife über alle Datenpunkte im Pfad
                let idDst = pathDst + id.substring(pathSrc.length);
                if(existsObject(idDst)) log('Datenpunkt ' + idDst + ' existiert bereits !', 'warn');
                else {
                    let obj = getObject(id);
                    setObject(idDst, obj, function (err) {
                        if (err) log('Cannot write object: ' + err)
                        else {
                            let init = null;
                            if(existsState(id)) init = getState(id).val;
                            else {
                                let common = obj.common;
                                if(common.def === undefined) {
                                    if(common.type === 'number') init = 0;
                                    if(common.type === 'boolean') init = false;
                                    if(common.type === 'string') init = '';
                                    if(common.type === 'array') init = [];
                                } else init = common.def;
                            }
                            setStateDelayed(idDst, init, true, 20 * i + 50);
                        }
                    });
                }
            });
            

            Falls ioBroker.linkeddevices verwendet wird: Vorher die Instanz deaktivieren !

            Vor dem manuellen Löschen der alten Datenpunkte (Ordner) sollten alle Scripte angepasst werden, da man sonst viele Warnungen und Fehlermeldungen riskiert.

            S Offline
            S Offline
            saeft_2003
            Most Active
            schrieb am zuletzt editiert von saeft_2003
            #7

            @paul53

            Vielen vielen Dank ich werde es nachher testen! 👍

            Geht es auch das nur bestimmte Datenpunkte in einen Ordner kopiert werden, weil ich will gleichzeitig meine Datenpunkte sortieren und in Unterordner kopieren.

            paul53P 1 Antwort Letzte Antwort
            0
            • S saeft_2003

              @paul53

              Vielen vielen Dank ich werde es nachher testen! 👍

              Geht es auch das nur bestimmte Datenpunkte in einen Ordner kopiert werden, weil ich will gleichzeitig meine Datenpunkte sortieren und in Unterordner kopieren.

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

              @saeft_2003 sagte:

              Geht es auch das nur bestimmte Datenpunkte in einen Ordner kopiert werden,

              Automatisch oder individuell ? Beides geht nicht gleichzeitig. Anstelle von '*' in Zeile 6 kann auch der Rest einer konkreten Datenpunkt-ID angegeben werden; dann wird jeweils nur ein Datenpunkt kopiert.

              @saeft_2003 sagte in Datenpunkte in Ordner verschieben?:

              in Unterordner kopieren.

              Die Pfade lassen sich um Unterordner erweitern.

              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

              Q 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @saeft_2003 sagte:

                Geht es auch das nur bestimmte Datenpunkte in einen Ordner kopiert werden,

                Automatisch oder individuell ? Beides geht nicht gleichzeitig. Anstelle von '*' in Zeile 6 kann auch der Rest einer konkreten Datenpunkt-ID angegeben werden; dann wird jeweils nur ein Datenpunkt kopiert.

                @saeft_2003 sagte in Datenpunkte in Ordner verschieben?:

                in Unterordner kopieren.

                Die Pfade lassen sich um Unterordner erweitern.

                Q Offline
                Q Offline
                qwerty1896
                schrieb am zuletzt editiert von
                #9

                Hallo.

                Mein Frage geht in eine ähnliche Richtung...

                Das Verschieben der Geräte wird sicherlich auch nicht zwischen den Instanzen möglich sein.
                Kann ich ein Gerät (hier: Sonoff Pow R2) in unterschiedlichen Instanzen parallel laufen lassen?

                Hintergrund:
                Ich habe ein Problem mit Telegram (es werden Nachrichten an den Bot von einer Telegram-ID gesendet, die nicht mehr aktiv - die gibt es lt. Adapter nicht mehr). Die Gerät möchte ich nun in eine andere Instanz verschieben. Nach Überführung und Änderung der Skripte möchte ich das Gerät in der bisherigen Instanz löschen in der Hoffnung, dass dann auch keine Nachrichten mehr gesendet werden.

                1 Antwort Letzte Antwort
                0
                • mcBirneM Offline
                  mcBirneM Offline
                  mcBirne
                  schrieb am zuletzt editiert von
                  #10

                  @paul53 said in Datenpunkte in Ordner verschieben?:

                  @saeft_2003 sagte:

                  Geht es auch das nur bestimmte Datenpunkte in einen Ordner kopiert werden,

                  Automatisch oder individuell ? Beides geht nicht gleichzeitig. Anstelle von '*' in Zeile 6 kann auch der Rest einer konkreten Datenpunkt-ID angegeben werden; dann wird jeweils nur ein Datenpunkt kopiert.

                  @saeft_2003 sagte in Datenpunkte in Ordner verschieben?:

                  in Unterordner kopieren.

                  Die Pfade lassen sich um Unterordner erweitern.

                  Hallo, scheinbar hat sich bei den Rechten was verändert. Ich bekomme folgende Fehlermeldung: Cannot write object: Function "setObject" is not allowed. Use adapter settings to allow it.
                  Wie kann ich das in den Adaptereinstellungen erlauben?

                  1 Antwort Letzte Antwort
                  0
                  • mcBirneM Offline
                    mcBirneM Offline
                    mcBirne
                    schrieb am zuletzt editiert von
                    #11

                    @mcbirne said in Datenpunkte in Ordner verschieben?:

                    Cannot write object: Function "setObject" is not allowed. Use adapter settings to allow it.

                    Lösung gefunden:
                    SetObjekt eine Funktion des Javascript-Adapters, die mit einem Haken in der Konfiguration freigegeben werden muss. Dann klappt alles.

                    1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @saeft_2003 sagte:

                      Wann würdest du zu einem Skript kommen?

                      Jetzt.

                      // Kopieren von Datenpunkten nach 0_userdata.0
                      // Pfade anpassen !
                      const pathSrc = 'meineDP.0.'; // abschließenden Punkt angeben
                      const pathDst = '0_userdata.0.';
                      
                      const idsSrc = $(pathSrc + '*');
                      
                      idsSrc.each(function(id, i) { // Schleife über alle Datenpunkte im Pfad
                          let idDst = pathDst + id.substring(pathSrc.length);
                          if(existsObject(idDst)) log('Datenpunkt ' + idDst + ' existiert bereits !', 'warn');
                          else {
                              let obj = getObject(id);
                              setObject(idDst, obj, function (err) {
                                  if (err) log('Cannot write object: ' + err)
                                  else {
                                      let init = null;
                                      if(existsState(id)) init = getState(id).val;
                                      else {
                                          let common = obj.common;
                                          if(common.def === undefined) {
                                              if(common.type === 'number') init = 0;
                                              if(common.type === 'boolean') init = false;
                                              if(common.type === 'string') init = '';
                                              if(common.type === 'array') init = [];
                                          } else init = common.def;
                                      }
                                      setStateDelayed(idDst, init, true, 20 * i + 50);
                                  }
                              });
                          }
                      });
                      

                      Falls ioBroker.linkeddevices verwendet wird: Vorher die Instanz deaktivieren !

                      Vor dem manuellen Löschen der alten Datenpunkte (Ordner) sollten alle Scripte angepasst werden, da man sonst viele Warnungen und Fehlermeldungen riskiert.

                      keksnK Offline
                      keksnK Offline
                      keksn
                      schrieb am zuletzt editiert von
                      #12

                      @paul53

                      Hallo Paul, ich habe das Script gerade ausprobiert. Top! Gibt es eine Möglichkeit die Verknüpfungen mit den Programmen auch automatisch mit ändern zu lassen, oder gibt es eine Möglichkeit pro Datenpunk die Programme anzeigen zu lassen, mit welchem der Datenpunkt verknüpft ist.

                      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
                      FAQ Cloud / IOT
                      HowTo: Node.js-Update
                      HowTo: Backup/Restore
                      Downloads
                      BLOG

                      342

                      Online

                      32.4k

                      Benutzer

                      81.4k

                      Themen

                      1.3m

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

                      • Du hast noch kein Konto? Registrieren

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