Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Objektbaum mit Werte kopieren [gelöst]

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    Objektbaum mit Werte kopieren [gelöst]

    This topic has been deleted. Only users with topic management privileges can see it.
    • Martin1324
      Martin1324 last edited by Martin1324

      Hallo Zusammen,

      ich bin gerade dabei meine Datenpunkte von javascript.0 auf 0_userdata.0 zu migrieren.
      Gibt es eine Möglichkeit einen Objektbaum mit Unterobjekten zu kopieren?

      z.B. javascript.0.Verbrauchszaehler -> userdata.0.Verbrauchszaehler

      Ohne Werte habe ich es bereits hingekriegt, indem ich den Objektbaum als JSON exportiert und wieder importiert habe. Hier fehlen mir aber leider die Werte der Datenpunkte.

      lg

      Martin

      paul53 Codierknecht 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @Martin1324 last edited by paul53

        @marting sagte: Hier fehlen mir aber leider die Werte der Datenpunkte.

        Wo sollen die Werte auch herkommen? Sie werden meist durch Skripte in eigene Datenpunkte geschrieben.

        Martin1324 1 Reply Last reply Reply Quote 0
        • Codierknecht
          Codierknecht Developer Most Active @Martin1324 last edited by

          @marting sagte in Objektbaum mit Werte kopieren:

          indem ich den Objektbaum als JSON exportiert und wieder importiert habe. Hier fehlen mir aber leider die Werte der Datenpunkte.

          Jetzt musst Du nur noch alle relevanten Scripte anpassen und die in die neuen Datenpunkte schreiben lassen.
          Dann kannst Du die DP in javascript.0 löschen

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

            @paul53
            Ich würde sie gerne kopieren. Ich protokolliere den Stromverbrauch. Leider kann ich die Werte nicht neu schreiben lassen.
            Ideal wäre es, wenn es möglich wäre Datenpunkte mit Werte zu kopieren.
            Es sind insg. 2000 Datenpunkte. Manuell wäre dies ein sehr hoher Aufwand.

            1 Reply Last reply Reply Quote 0
            • Martin1324
              Martin1324 @Codierknecht last edited by

              @codierknecht
              ich würde gerne die Werte kopieren. In den Datenpunkte liegt der Stromverbrauch meiner einzelnen Aktoren. Möchte diese Werte nicht verlieren.
              Die werde werden mit folgenden Skript erstellt:
              https://github.com/hdering/homematic_verbrauchszaehler/blob/master/Zaehlerstande_protokollieren.js

              Glasfaser paul53 2 Replies Last reply Reply Quote 0
              • Glasfaser
                Glasfaser @Martin1324 last edited by

                @marting

                Eventuell hiermit :

                lese mal ..

                https://forum.iobroker.net/post/672846

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

                  @marting sagte: ich würde gerne die Werte kopieren.

                  Versuche es mal damit:

                  const idsSrc = $('javascript.0.Verbrauchszaehler.*');
                  
                  idsSrc.each(function(id) {
                      let idDst = id.replace('javascript', '0_userdata');
                      setState(idDst, getState(id).val, true);
                  });
                  

                  Anschließend das Skript anpassen!

                  var instance    = '0';
                  var instanz     = 'javascript.' + instance + '.';
                  
                  // Pfad innerhalb der Instanz
                  var pfad        = 'Verbrauchszaehler.';
                  

                  ändern in

                  var instanz     = '';
                  
                  // Pfad innerhalb der Instanz
                  var pfad        = '0_userdata.0.Verbrauchszaehler.';
                  
                  Martin1324 1 Reply Last reply Reply Quote 1
                  • Martin1324
                    Martin1324 @paul53 last edited by

                    @paul53
                    genau das habe ich gesucht. Vielen vielen Dank!! Hat perfekt funktioniert.

                    lg

                    Martin

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    895
                    Online

                    32.1k
                    Users

                    80.7k
                    Topics

                    1.3m
                    Posts

                    4
                    8
                    452
                    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